diff --git a/WebContent/Accounting/LoanSimulation/LoanBasicInfo.jsp b/WebContent/Accounting/LoanSimulation/LoanBasicInfo.jsp index 7e981f817..dd0028db8 100644 --- a/WebContent/Accounting/LoanSimulation/LoanBasicInfo.jsp +++ b/WebContent/Accounting/LoanSimulation/LoanBasicInfo.jsp @@ -264,7 +264,7 @@ $(function(){ CalcControl.InitLsaseTerm(); //CalcControl.PeriodTypeView(); //CalcControl.SettleMethodView(); - //changeSettleMethod2(); + changeSettleMethod2(); //changeRateType(); //CalcControl.RentOrRateView(); var inerNumber = $("#INCOME_NUMBER").val(); diff --git a/WebContent/Tenwa/Gps/LmGpsOrderInfo.jsp b/WebContent/Tenwa/Gps/LmGpsOrderInfo.jsp index 1f04aa4ad..959081b5e 100644 --- a/WebContent/Tenwa/Gps/LmGpsOrderInfo.jsp +++ b/WebContent/Tenwa/Gps/LmGpsOrderInfo.jsp @@ -27,13 +27,21 @@ String id = Sqlca.getString("select id from LM_GPS_ORDER_TEMP where APPLY_NO='"+ProjectNo+"'"); String contact_name = Sqlca.getString("select CONTACT_NAME from GPS_config_info where isenable='1' ");//派工联系人 String contact_phone = Sqlca.getString("select CONTACT_PHONE from GPS_config_info where isenable='1' ");//派工联系人电话 - System.out.println("经销商orgId=" + CurUser.getOrgID()); - //如果部门是南京直销的话 CurUser.getOrgID()== 8006014 拉车单位显示南京直销 - String distributor_name = "安鹏汽车业务直销部(江苏)"; - if(!"8006014".equals(CurUser.getOrgID())){ + + //如果当前有记录优先取数据库中的记录 + String distributor_name = ""; + if("null".equals(id)){ + System.out.println("经销商orgId=" + CurUser.getOrgID()); + String distributor_id = Sqlca.getString("select distributor_id from lb_project_info where id='"+ProjectId+"'");//获取经销商ID + distributor_name = Sqlca.getString("select distributor_name from distributor_info where distributor_no='"+distributor_id+"'");//获取经销名称 + }else { + distributor_name = Sqlca.getString("select CAR_ACCOUNT from LM_GPS_ORDER_TEMP where APPLY_NO='"+ProjectNo+"'"); + System.out.println("经销商distributor_name=" + distributor_name); + } + //如果当前部门为直销&&有记录&&0010显示 直销 或者 无记录&&直销&&0010 + if("8006014".equals(CurUser.getOrgID()) && "0010".equals(PhaseNo)){ System.out.println("经销商id不等于【8006014】,经销商id=" + CurUser.getOrgID()); - String distributor_id = Sqlca.getString("select distributor_id from lb_project_info where id='"+ProjectId+"'");//获取经销商ID - distributor_name = Sqlca.getString("select distributor_name from distributor_info where distributor_no='"+distributor_id+"'");//获取经销名称 + distributor_name = "安鹏汽车业务直销部(江苏)"; } BigDecimal incomNuber = new BigDecimal(Sqlca.getString("select INCOME_NUMBER from LC_CALC_CONDITION_TEMP where FLOWUNID='"+flowunid+"'")); diff --git a/WebContent/Tenwa/Lease/DistributorManage/DistributorApproval/LDistributorInfo.jsp b/WebContent/Tenwa/Lease/DistributorManage/DistributorApproval/LDistributorInfo.jsp index 25810df47..2c7c7ac28 100644 --- a/WebContent/Tenwa/Lease/DistributorManage/DistributorApproval/LDistributorInfo.jsp +++ b/WebContent/Tenwa/Lease/DistributorManage/DistributorApproval/LDistributorInfo.jsp @@ -204,7 +204,7 @@ $(function(){ //请选择经销商名称 function selectcompany(){ - AsDialog.OpenSelector("SelectCompany","","dialogWidth=" + parseInt(window.screen.width * 0.4) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){ + AsDialog.OpenSelector("SelectCompanyNew","","dialogWidth=" + parseInt(window.screen.width * 0.4) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){ if(!sReturn||sReturn=="_CANCEL_"){ alert(getHtmlMessage('1'));//请选择一条信息! return; diff --git a/WebContent/Tenwa/Lease/DistributorManage/DistributorChange/LDistributorInfo.jsp b/WebContent/Tenwa/Lease/DistributorManage/DistributorChange/LDistributorInfo.jsp index b898e4c68..4cc48399d 100644 --- a/WebContent/Tenwa/Lease/DistributorManage/DistributorChange/LDistributorInfo.jsp +++ b/WebContent/Tenwa/Lease/DistributorManage/DistributorChange/LDistributorInfo.jsp @@ -100,7 +100,7 @@ function saveproj_name(){ //请选择经销商名称 function selectcompany(){ - AsDialog.OpenSelector("SelectCompany","","dialogWidth=" + parseInt(window.screen.width * 0.4) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){ + AsDialog.OpenSelector("SelectCompanyNew","","dialogWidth=" + parseInt(window.screen.width * 0.4) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){ if(!sReturn||sReturn=="_CANCEL_"){ alert(getHtmlMessage('1'));//请选择一条信息! return; diff --git a/WebContent/Tenwa/Lease/Flow/Comm/LBContractPersonBaseInfo/LBContractPersonBaseInfo.jsp b/WebContent/Tenwa/Lease/Flow/Comm/LBContractPersonBaseInfo/LBContractPersonBaseInfo.jsp index 7b1ff3df7..481955631 100644 --- a/WebContent/Tenwa/Lease/Flow/Comm/LBContractPersonBaseInfo/LBContractPersonBaseInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Comm/LBContractPersonBaseInfo/LBContractPersonBaseInfo.jsp @@ -14,6 +14,8 @@ String compClientID = request.getParameter("CompClientID"); String RightType = CurPage.getParameter("RightType");//页面是否 是只读 String custype = CurPage.getParameter("customertype");//获取客户类型 + String channel = CurPage.getParameter("channel"); + if(sPrevUrl == null) sPrevUrl = ""; if((null!=sPhaseNo&&sPhaseNo.equals("0010")) && "BContractApproveFlow".equals(FlowNo)){ @@ -36,6 +38,12 @@ doTemp.setDataQueryClass("com.tenwa.flow.flowHistory.FlowDataInfoHistory");//如果是历史则新显示历史数据 } */ doTemp.setHtmlEvent("CONTRACT_NUMBER", "onChange", "copyContNumToContNo"); + if("ZC".equals(channel)){ + doTemp.setVisible("ZC_PROJECT_NUMBER",true); + doTemp.setRequired("ZC_PROJECT_NUMBER",true); + doTemp.setVisible("ZC_CONTRACT_NUMBER",true); + doTemp.setRequired("ZC_CONTRACT_NUMBER",true); + }; ASObjectWindowCalc dwTemp = new ASObjectWindowCalc(CurPage, doTemp,request); //ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request); dwTemp.Style = "2";//freeform @@ -67,6 +75,8 @@ $("#div_920").find("[style='display:inline-block;width:6px;']").css("width","100"); $("#div_1410").find("[style='display:inline-block;width:6px;']").css("width","88"); $("#div_1390").find("[style='display:inline-block;width:6px;']").css("width","100"); + $("#div_1054").find("[style='display:inline-block;width:6px;']").css("width","88"); + $("#div_1058").find("[style='display:inline-block;width:6px;']").css("width","74"); /* 右侧 样式微调*/ $("#A_div_900").find("[style='display:inline-block;width:6px;']").css("width","86"); $("#div_930").find("[style='display:inline-block;width:6px;']").css("width","86"); diff --git a/WebContent/Tenwa/Lease/Flow/Comm/LBDebitCard/DebitCardInfo.jsp b/WebContent/Tenwa/Lease/Flow/Comm/LBDebitCard/DebitCardInfo.jsp index b4d2434b7..b227e9104 100644 --- a/WebContent/Tenwa/Lease/Flow/Comm/LBDebitCard/DebitCardInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Comm/LBDebitCard/DebitCardInfo.jsp @@ -23,6 +23,7 @@ String ApplyType=CurPage.getParameter("ApplyType"); String PhaseNo=CurPage.getParameter("PhaseNo"); String subjectId=CurPage.getParameter("SubjectId");//获取主体信息,用于是否签约查询 + String channel=CurPage.getParameter("channel"); BizObjectManager ldclManager = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME); BizObject ldcls = ldclManager.createQuery("select * from O where file_flag='yes' and ( flow_unid=:flowunid or contract_id=:contractid ) ").setParameter("flowunid", FlowUnid).setParameter("contractid", contractId).getSingleResult(false); System.out.print("=========="+ldcls+"=========="); @@ -188,13 +189,19 @@ } if("BusinessApplyApply"=="<%=ApplyType%>"||"BusinessChangeApply"=="<%=ApplyType%>"||"BContractApproveApply"=="<%=ApplyType%>"||"BContractChangeApply"=="<%=ApplyType%>"){ - var sparams = "account="+getItemValue(0,getRow(),"ACCOUNT")+",acc_number="+getItemValue(0,getRow(),"ACC_NUMBER")+",bank_name="+getItemValue(0,getRow(),"BANK_NAME")+",mobile="+getItemValue(0,getRow(),"MOBILE")+",projectid=<%=projectId%>,FlowUnid=<%=FlowUnid%>,contractid=<%=contractId%>,certId="+getItemValue(0,getRow(),"CERTID")+",applyType=<%=ApplyType%>,subjectId=<%=subjectId%>,collect_type="+getItemValue(0,getRow(),"collect_type"); + var sparams = "account="+getItemValue(0,getRow(),"ACCOUNT")+",acc_number="+getItemValue(0,getRow(),"ACC_NUMBER")+",bank_name="+getItemValue(0,getRow(),"BANK_NAME")+",mobile="+getItemValue(0,getRow(),"MOBILE")+",projectid=<%=projectId%>,FlowUnid=<%=FlowUnid%>,contractid=<%=contractId%>,certId="+getItemValue(0,getRow(),"CERTID")+",applyType=<%=ApplyType%>,subjectId=<%=subjectId%>,channel=<%=channel%>,collect_type="+getItemValue(0,getRow(),"collect_type"); var meassge = RunJavaMethodTrans("com.tenwa.comm.customerfilterlist.DebitCardAction", "checkSign", sparams); if("false"==meassge){ alert("合同已生成,请先删除合同再修改扣款卡信息!"); return ; }else if("Y"==meassge){ setItemValue(0,0,"sign_status","Y"); + }else if("ZCfalse" == meassge){ + alert("该扣款卡信息没有签约,无法保存!"); + return ; + }else if("NotFalse" == meassge){ + alert("没有匹配到对应的扣款渠道,无法保存!"); + return ; }else{ setItemValue(0,0,"sign_status",""); } diff --git a/WebContent/Tenwa/Lease/Flow/Contract/ContractApproval/ContractApprovalApplyList.jsp b/WebContent/Tenwa/Lease/Flow/Contract/ContractApproval/ContractApprovalApplyList.jsp index a1b3fb6a5..07ced7196 100644 --- a/WebContent/Tenwa/Lease/Flow/Contract/ContractApproval/ContractApprovalApplyList.jsp +++ b/WebContent/Tenwa/Lease/Flow/Contract/ContractApproval/ContractApprovalApplyList.jsp @@ -63,6 +63,7 @@ var isNetCar = sReturn[7]; var signType = sReturn[9]; var sealType = sReturn[10]; + var channel = sReturn[13]; if(flowno=="BContractApproveApply"&&"03" == customertype){ if(""== signType||null == signType||"undefined" == signType){ @@ -77,7 +78,7 @@ var gpsVendor = RunJavaMethodTrans("com.tenwa.lease.flow.project.businessapply.GpsVendorCheck","getGpsVendor","productId="+product_id); var sParams = "ApplyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>,gpsVendor="+gpsVendor; - sParams =sParams+",signType="+signType+",sealType="+sealType+",isNetCar="+isNetCar+",carAttributes="+carAttributes+",leasform="+leasform+",ProductId="+product_id+",ProjectId="+id+",ProjectNo="+project_id+",customertype="+customertype+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; + sParams =sParams+",channel="+channel+",signType="+signType+",sealType="+sealType+",isNetCar="+isNetCar+",carAttributes="+carAttributes+",leasform="+leasform+",ProductId="+product_id+",ProjectId="+id+",ProjectNo="+project_id+",customertype="+customertype+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; if(flowno=="BContractApproveApply"){ sParams =sParams+",operationType="+sReturn[8]+",SubjectId="+sReturn[11]+",SubjectName="+sReturn[12]; diff --git a/WebContent/Tenwa/Lease/Flow/Contract/ContractCancle/ContractCancelApplyList.jsp b/WebContent/Tenwa/Lease/Flow/Contract/ContractCancle/ContractCancelApplyList.jsp index 99cf5a597..afef7c4e6 100644 --- a/WebContent/Tenwa/Lease/Flow/Contract/ContractCancle/ContractCancelApplyList.jsp +++ b/WebContent/Tenwa/Lease/Flow/Contract/ContractCancle/ContractCancelApplyList.jsp @@ -45,8 +45,9 @@ var CustomerType = sReturn[5]; var carAttributes = sReturn[6]; var leasehold = sReturn[7]; + var channel = sReturn[8]; var sParams = "ApplyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>"; - sParams =sParams+",customertype="+CustomerType+",carAttributes="+carAttributes+",leasform="+leasehold+",ProjectId="+project_id+",FlowKey="+contract_number+",ProductId="+product_id+",ContractId="+contract_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; + sParams =sParams+",channel="+channel+",customertype="+CustomerType+",carAttributes="+carAttributes+",leasform="+leasehold+",ProjectId="+project_id+",FlowKey="+contract_number+",ProductId="+product_id+",ContractId="+contract_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams); if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return; var sReturnInfos=sReturnInfo.split("@"); diff --git a/WebContent/Tenwa/Lease/Flow/Contract/ContractChange/ContractChangeApplyList_Car.jsp b/WebContent/Tenwa/Lease/Flow/Contract/ContractChange/ContractChangeApplyList_Car.jsp index 1eb55265c..ce5294e0f 100644 --- a/WebContent/Tenwa/Lease/Flow/Contract/ContractChange/ContractChangeApplyList_Car.jsp +++ b/WebContent/Tenwa/Lease/Flow/Contract/ContractChange/ContractChangeApplyList_Car.jsp @@ -39,6 +39,7 @@ var sealType = sReturn[11]; var SubjectId = sReturn[13]; var SubjectName = sReturn[14]; + var channel = sReturn[15]; if("03" == customertype){ if(""== signType||null == signType||"undefined" == signType){ @@ -57,7 +58,7 @@ var gpsVendor = RunJavaMethodTrans("com.tenwa.lease.flow.project.businessapply.GpsVendorCheck","getGpsVendor","productId="+product_id); var sParams = "ApplyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>,gpsVendor="+gpsVendor; - sParams =sParams+",SubjectId="+SubjectId+",SubjectName="+SubjectName+",signType="+signType+",sealType="+sealType+",operationType="+operationType+",isNetCar="+isNetCar+",carAttributes="+carAttributes+",leasform="+leasform+",customertype="+customertype+",ProjectId="+project_id+",FlowKey="+contract_number+",ProductId="+product_id+",ProjectNo="+project_no+",ContractId="+contract_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; + sParams =sParams+",channel="+channel+",SubjectId="+SubjectId+",SubjectName="+SubjectName+",signType="+signType+",sealType="+sealType+",operationType="+operationType+",isNetCar="+isNetCar+",carAttributes="+carAttributes+",leasform="+leasform+",customertype="+customertype+",ProjectId="+project_id+",FlowKey="+contract_number+",ProductId="+product_id+",ProjectNo="+project_no+",ContractId="+contract_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams); if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return; var sReturnInfos=sReturnInfo.split("@"); diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessCancelApplyList.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessCancelApplyList.jsp index d9370933b..db61942a7 100644 --- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessCancelApplyList.jsp +++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessCancelApplyList.jsp @@ -21,8 +21,9 @@ var CustomerType = sReturn[4]; var carAttributes = sReturn[5]; var leasehold = sReturn[6]; + var channel = sReturn[11]; var sParams = "ApplyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>"; - sParams =sParams+",customertype="+CustomerType+",carAttributes="+carAttributes+",leasform="+leasehold+",ProjectId="+id+",ProductId="+product_id+",FlowKey="+project_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; + sParams =sParams+",channel="+channel+",customertype="+CustomerType+",carAttributes="+carAttributes+",leasform="+leasehold+",ProjectId="+id+",ProductId="+product_id+",FlowKey="+project_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams); if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return; var sReturnInfos=sReturnInfo.split("@"); diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessChangeApplyList.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessChangeApplyList.jsp index 2add316f8..65e62d83a 100644 --- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessChangeApplyList.jsp +++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessChangeApplyList.jsp @@ -24,12 +24,13 @@ var certtype = sReturn[8]; var SubjectId = sReturn[9]; var SubjectName = sReturn[10]; + var channel = sReturn[11]; if(""== SubjectId||null == SubjectId||"undefined" == SubjectId){ alert("该数据没有对应的主体,请联系管理员!"); return ; } var sParams = "ApplyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>"; - sParams =sParams+",SubjectId="+SubjectId+",SubjectName="+SubjectName+",certtype="+certtype+",customertype="+CustomerType+",carAttributes="+carAttributes+",leasform="+leasehold+",operationType="+operationType+",ProjectId="+id+",ProductId="+product_id+",FlowKey="+project_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; + sParams =sParams+",channel="+channel+",SubjectId="+SubjectId+",SubjectName="+SubjectName+",certtype="+certtype+",customertype="+CustomerType+",carAttributes="+carAttributes+",leasform="+leasehold+",operationType="+operationType+",ProjectId="+id+",ProductId="+product_id+",FlowKey="+project_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams); if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return; var sReturnInfos=sReturnInfo.split("@"); diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp index 2439981d9..c6c5febaa 100644 --- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp @@ -19,6 +19,8 @@ BizObject bo=JBOFactory.createBizObjectQuery("jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT", "flow_unid=:flowunid").setParameter("flowunid",sFlowUnid).getSingleResult(false); String custype = CurPage.getParameter("CustomerType"); String customertype = CurPage.getParameter("customertype"); + String channel = CurPage.getParameter("channel"); + ASObjectModel doTemp = new ASObjectModel(sTempletNo); doTemp.setHtmlEvent("inputTel","onChange","checkTel"); //租赁形式set只读 @@ -26,23 +28,30 @@ doTemp.setReadOnly("LEAS_FORM", true); doTemp.setReadOnly("PROJECT_SOURCE", false); - } + }; if("ReadOnly".equals(rightType)){ doTemp.setReadOnly("INPUTNAME", true); doTemp.setReadOnly("INPUTTEL", true); - } + doTemp.setReadOnly("ZC_PROJECT_NUMBER", true); + doTemp.setReadOnly("ZC_CONTRACT_NUMBER", true); + }; //如果是北汽的产品,业务申请号可编辑 if(!"ReadOnly".equals(rightType)&&sPhaseNo.equals("0010")&&"BAIC_MOTOR".equals(operationType)&&"BusinessApplyFlow".equals(FlowNo)){ doTemp.setReadOnly("PROJECT_NO", false); }else{ doTemp.setReadOnly("PROJECT_NO", true); - } + }; String userll=null; userll="/Tenwa/Lease/Flow/Project/BusinessApplication/CustomerInfo.jsp?CompClientID="; if("01".equals(custype)||"01".equals(customertype)){ userll="/Tenwa/Customer/Lessee/Person/CustomerCompanyTempInfo.jsp?CompClientID="; - } - + }; + if("ZC".equals(channel)){ + doTemp.setVisible("ZC_PROJECT_NUMBER",true); + doTemp.setRequired("ZC_PROJECT_NUMBER",true); + doTemp.setVisible("ZC_CONTRACT_NUMBER",true); + doTemp.setRequired("ZC_CONTRACT_NUMBER",true); + }; ASObjectWindowCalc dwTemp = new ASObjectWindowCalc(CurPage, doTemp,request); dwTemp.Style = "2";//freeform dwTemp.setGroupHidden("0020"); @@ -70,10 +79,20 @@ if(!checkTel()){ return ; } + if("ZC"=="<%=channel%>"){ + if(!checkZcProjectNumber()){ + return ; + } + if(!checkZcContractNumber()){ + return ; + } + } var leasfrom = getItemValue(0,getRow(),"LEAS_FORM"); var projectSource = getItemValue(0,getRow(),"PROJECT_SOURCE"); var inputName = getItemValue(0,getRow(),"inputName"); var inputTel = getItemValue(0,getRow(),"inputTel"); + var zcProjectNumber = getItemValue(0,getRow(),"ZC_PROJECT_NUMBER"); + var zcContractNumber = getItemValue(0,getRow(),"ZC_CONTRACT_NUMBER"); var customerType = "<%=custype%>"; var customerT = "<%=customertype%>"; var projectNo=getItemValue(0,getRow(),"PROJECT_NO"); @@ -100,7 +119,7 @@ //as_save(0); } if(customerType=="03"||customerT=="03"){//自然人 - frame_list.window.saveRecord(leasfrom,projectSource,inputName,inputTel,projectNo,operationType); + frame_list.window.saveRecord(leasfrom,projectSource,inputName,inputTel,projectNo,operationType,zcProjectNumber,zcContractNumber); //as_save("myiframe0","frame_list.window.as_save(0);"); } } @@ -130,5 +149,27 @@ return true; } } + + function checkZcProjectNumber(){ + var zcProjectNumber = getItemValue(0,getRow(0),"ZC_PROJECT_NUMBER"); + if(zcProjectNumber==""){ + setErrorTips("ZC_PROJECT_NUMBER","中车申请号不能为空!"); + return false; + }else{ + setErrorTips("ZC_PROJECT_NUMBER",""); + return true; + } + } + + function checkZcContractNumber(){ + var zcContractNumber = getItemValue(0,getRow(0),"ZC_CONTRACT_NUMBER"); + if(zcContractNumber==""){ + setErrorTips("ZC_CONTRACT_NUMBER","中车合同号不能为空!"); + return false; + }else{ + setErrorTips("ZC_CONTRACT_NUMBER",""); + return true; + } + } <%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/CustomerInfo.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/CustomerInfo.jsp index 4f90b2071..172810e3c 100644 --- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/CustomerInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/CustomerInfo.jsp @@ -14,6 +14,8 @@ String FlowName = CurPage.getParameter("FlowName");//获取流程名称 String IsHistory = CurPage.getParameter("IsHistory");//获取流程名称 String projectId = CurPage.getParameter("ProjectId"); + String channel = CurPage.getParameter("channel"); + String customerid = Sqlca.getString("select customer_id from lb_union_lessee_temp where flowunid='"+flowunid+"'"); String sTempletNo = "";//--模板号-- String sexChange=""; @@ -439,7 +441,7 @@ } */ } - function saveRecord(leasfrom,projectSource,inputName,inputTel,projectNo,operationType){//保存 + function saveRecord(leasfrom,projectSource,inputName,inputTel,projectNo,operationType,zcProjectNumber,zcContractNumber){//保存 //校验申请人手机号和配偶手机号是否重复 var RepeatReault = ""; var customerType = "03"; @@ -559,13 +561,13 @@ var certid=getItemValue(0,0,"CERTID"); <%-- var customerid=RunJavaMethodTrans("com.tenwa.lease.flow.project.businessapply.CustomerAction","updateCustomerId",'certid='+certid+',flowunid=<%=flowunid%>'); --%> // setItemValue(0,0,"customerid",customerid); - as_save("0","saveCertInfo('"+inputName+"','"+inputTel+"','"+leasfrom+"','"+projectSource+"','"+projectNo+"','"+operationType+"')"); + as_save("0","saveCertInfo('"+inputName+"','"+inputTel+"','"+leasfrom+"','"+projectSource+"','"+projectNo+"','"+operationType+"','"+zcProjectNumber+"','"+zcContractNumber+"')"); return true; }; } - function saveCertInfo(inputName,inputTel,leasfrom,projectSource,projectNo,operationType){ - var sResult = RunJavaMethodTrans("com.tenwa.lease.flow.project.businessapply.CustomerInfoManage","saveCertInfo",'projectNo='+projectNo+',inputName='+inputName+',operationType='+operationType+',inputTel='+inputTel+',project_source='+projectSource+',leas_from='+leasfrom+',idexpiry='+getItemValue(0,0,"idexpiry")+',certtype='+getItemValue(0,0,"certtype")+',customerid='+getItemValue(0,0,"customerid")+',flowunid=<%=flowunid%>,certid='+getItemValue(0,0,"certid")+',name='+getItemValue(0,0,"name")+',userid=<%=CurUser.getUserID()%>,orgid=<%=CurUser.getOrgID()%>'); + function saveCertInfo(inputName,inputTel,leasfrom,projectSource,projectNo,operationType,zcProjectNumber,zcContractNumber){ + var sResult = RunJavaMethodTrans("com.tenwa.lease.flow.project.businessapply.CustomerInfoManage","saveCertInfo",'zcProjectNumber='+zcProjectNumber+',zcContractNumber='+zcContractNumber+',projectNo='+projectNo+',inputName='+inputName+',operationType='+operationType+',inputTel='+inputTel+',project_source='+projectSource+',leas_from='+leasfrom+',idexpiry='+getItemValue(0,0,"idexpiry")+',certtype='+getItemValue(0,0,"certtype")+',customerid='+getItemValue(0,0,"customerid")+',flowunid=<%=flowunid%>,certid='+getItemValue(0,0,"certid")+',name='+getItemValue(0,0,"name")+',userid=<%=CurUser.getUserID()%>,orgid=<%=CurUser.getOrgID()%>,channel=<%=channel%>'); if(sResult == "SUCCESS"){ parent.reloadSelf(); } diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/ProjectDistriborInfo.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/ProjectDistriborInfo.jsp index 834a5f096..0394926a8 100644 --- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/ProjectDistriborInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/ProjectDistriborInfo.jsp @@ -7,6 +7,16 @@ */ String sPrevUrl = CurPage.getParameter("PrevUrl"); String flowunid = CurPage.getParameter("FlowUnid"); + String productId = CurPage.getParameter("ProductId"); + String distributorNo = CurPage.getParameter("distributorNo"); + String orgId = CurUser.getOrgID(); + //如果是直营店,则显示子经销。 + String sSql = "select DISTRIBUTOR_NO,F_I_TYPE from O where ORGID = :orgId"; + // F_I_TYPE=f_i_type03 直营店 + BizObject bo = JBOFactory.createBizObjectQuery("jbo.app.tenwa.customer.DISTRIBUTOR_INFO", sSql).setParameter("orgId", orgId).getSingleResult(false); + if(bo != null){ + distributorNo = bo.getAttribute("DISTRIBUTOR_NO").getString(); + } String phaseNo = CurPage.getParameter("PhaseNo"); if(sPrevUrl == null) sPrevUrl = ""; @@ -15,38 +25,38 @@ String flag = "false"; if("0010".equals(phaseNo)||"0020".equals(phaseNo)){ doTemp.setColInnerBtEvent("DISTRIBUTOR_NAME", "selectDistributor()"); - flag = "true"; + flag = "true"; } ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request); dwTemp.Style = "2";//freeform //dwTemp.ReadOnly = "-2";//只读模式 dwTemp.genHTMLObjectWindow(flowunid); - + String sButtons[][] = { - {flag,"All","Button","保存","保存所有修改","as_save(0)","","","",""}, + {flag,"All","Button","保存","保存所有修改","as_save(0)","","","",""}, // {String.valueOf(!com.amarsoft.are.lang.StringX.isSpace(sPrevUrl)),"All","Button","返回","返回列表","returnList()","","","",""} }; // sButtonPosition = "south"; %><%@ include file="/Frame/resources/include/ui/include_info.jspf"%> <%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApproval/ProjectApprovalCreationInfo.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApproval/ProjectApprovalCreationInfo.jsp index 14310a9f4..160e5fae0 100644 --- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApproval/ProjectApprovalCreationInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApproval/ProjectApprovalCreationInfo.jsp @@ -1,8 +1,9 @@ <%@ page contentType="text/html; charset=GBK"%> +<%@ page import="com.tenwa.util.ProjectConstant"%> <%@ include file="/Frame/resources/include/include_begin_info.jspf"%> <%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=Info00;Describe=注释区;]~*/%> - <% +<% /* Author:jyshen 2017-05-09 Tester: @@ -12,53 +13,68 @@ History Log: */ - %> +%> <%/*~END~*/%> - + <%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=Info01;Describe=定义页面属性;]~*/%> - <% +<% String PG_TITLE = "新增申请"; // 浏览器窗口标题 PG_TITLE - %> +%> <%/*~END~*/%> - + <%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=Info02;Describe=定义变量,获取参数;]~*/%> - <% - String sApplyType = CurPage.getParameter("ApplyType"); - String sInputUserID = CurUser.getUserID(); - - if(StringX.isSpace(sApplyType)) sApplyType = ""; - if(StringX.isSpace(sInputUserID)) sInputUserID = ""; - - %> +<% + String distributorNo = ""; + String distributorType = ""; + String orgId = CurUser.getOrgID(); + //如果是直营店,则显示子经销。 + String sSql = "select DISTRIBUTOR_NO,TYPE from O where ORGID = :orgId"; + // TYPE=type03 直营店 包含 中车 + BizObject bo = JBOFactory.createBizObjectQuery("jbo.app.tenwa.customer.DISTRIBUTOR_INFO", sSql).setParameter("orgId", orgId).getSingleResult(false); + if(bo != null){ + distributorNo = bo.getAttribute("DISTRIBUTOR_NO").getString(); + distributorType = bo.getAttribute("TYPE").getString(); + } + System.out.println(distributorNo); + System.out.println(distributorType); + String sApplyType = CurPage.getParameter("ApplyType"); + String sInputUserID = CurUser.getUserID(); + + String distributorNoConfig = ProjectConstant.DISTIRBUTOR_NO;//获取需要配置经销商 + + if(StringX.isSpace(sApplyType)) sApplyType = ""; + if(StringX.isSpace(sInputUserID)) sInputUserID = ""; + +%> <%/*~END~*/%> <%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=Info03;Describe=定义数据对象;]~*/%> - <% - String sTempletNo = "BusnessApprovalApplyCreationInfo";//--模板号-- - ASObjectModel doTemp = new ASObjectModel(sTempletNo); - doTemp.setHtmlEvent("Customer_type", "onchange", "setCertType"); - doTemp.setHtmlEvent("carAttributes", "onchange", "changeProductName"); - doTemp.setHtmlEvent("leasehold", "onchange", "changeProductName"); - //doTemp.setHtmlEvent("CustomerName", "onchange", "checkNameAndCertId"); - ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request); - dwTemp.Style = "2";//freeform - dwTemp.genHTMLObjectWindow(""); - %> +<% + String sTempletNo = "BusnessApprovalApplyCreationInfo";//--模板号-- + ASObjectModel doTemp = new ASObjectModel(sTempletNo); + doTemp.setHtmlEvent("Customer_type", "onchange", "setCertType"); + doTemp.setHtmlEvent("carAttributes", "onchange", "changeProductName"); + doTemp.setHtmlEvent("leasehold", "onchange", "changeProductName"); + //doTemp.setHtmlEvent("CustomerName", "onchange", "checkNameAndCertId"); + ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request); + dwTemp.Style = "2";//freeform + dwTemp.genHTMLObjectWindow(""); +%> <%/*~END~*/%> - - + + <%/*~BEGIN~可编辑区~[Editable=true;CodeAreaID=Info04;Describe=定义按钮;]~*/%> <% String sButtons[][] = { - //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格 + //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格 {"true","","Button","确认","确认新增申请","doCreation()",""}, - {"true","","Button","取消","取消新增申请","doCancel()",""} + {"true","","Button","取消","取消新增申请","doCancel()",""} }; sButtonPosition = "south"; - %> +%> <%/*~END~*/%> <% @@ -67,13 +83,13 @@ <%/*~BEGIN~不可编辑区~[Editable=false;CodeAreaID=Info05;Describe=主体页面;]~*/%> - <%@ include file="/Frame/resources/include/ui/include_info.jspf"%> +<%@ include file="/Frame/resources/include/ui/include_info.jspf"%> <%/*~END~*/%> - + <%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=Info06;Describe=定义按钮事件-;]~*/%> - -<%/*~END~*/%> + if(!checkCertInfo(true)) return ; + if(!iV_all(0)) return ; + saveRecord(); + } + + /*~[Describe=返回列表;InputParam=无;OutPutParam=无;]~*/ + function doCancel() + { + parent.AsDialog.ClosePage(); + reloadSelf(); + } + + +<%/*~END~*/%> <%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=Info07;Describe=自定义函数;]~*/%> - + if(CheckLicense(certid) ){ + return true; + }else{ + setErrorTips("certid","身份证格式错误!"); + return false; + } + } + if(certType =='Ent02'){ + if(!checkORGRight(certid) ){ + setErrorTips("certid","统一社会信用代码格式错误!"); + return false; + } + } + return true; + } + + <%/*~END~*/%> - - + + <%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=Info08;Describe=页面装载时,进行初始化;]~*/%> - - <%/*~END~*/%> - - + +<%/*~END~*/%> + + <%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/WebContent/WEB-INF/etc/app/component/component-config.xml b/WebContent/WEB-INF/etc/app/component/component-config.xml index af2356c5f..3f62be718 100644 --- a/WebContent/WEB-INF/etc/app/component/component-config.xml +++ b/WebContent/WEB-INF/etc/app/component/component-config.xml @@ -16,7 +16,7 @@ - + @@ -31,12 +31,12 @@ - + - + @@ -429,24 +429,24 @@ - - + @@ -778,7 +778,7 @@ - + @@ -788,31 +788,31 @@ - + - + - + - + - + - + - + - + @@ -850,15 +850,15 @@ - + - - - - + + + + @@ -887,44 +887,44 @@ - @@ -942,7 +942,7 @@ - + @@ -1006,26 +1006,26 @@ - + - + - + - + - + - - + + @@ -1043,17 +1043,17 @@ - - - - - - - - + + + + + + + + - + @@ -1061,28 +1061,28 @@ - - + + - - - - + + + + - - + + - + - + - + @@ -1093,18 +1093,18 @@ - - - + + + - + - + - \ No newline at end of file + \ No newline at end of file diff --git a/WebContent/WEB-INF/etc/jbo/jbo_calc.xml b/WebContent/WEB-INF/etc/jbo/jbo_calc.xml index 89bc48f38..bffa1eea9 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_calc.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_calc.xml @@ -1078,6 +1078,8 @@ + + @@ -1419,6 +1421,8 @@ + + @@ -2777,6 +2781,8 @@ + + @@ -3360,6 +3366,8 @@ + + diff --git a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml index 0b8e87a7f..954f30099 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml @@ -140,6 +140,9 @@ + + + @@ -286,6 +289,9 @@ + + + @@ -796,6 +802,9 @@ + + + @@ -1064,6 +1073,9 @@ + + + @@ -2797,6 +2809,9 @@ + + + diff --git a/WebContent/js/jquery/register.js b/WebContent/js/jquery/register.js index 67ad1b699..54971d836 100644 --- a/WebContent/js/jquery/register.js +++ b/WebContent/js/jquery/register.js @@ -38,7 +38,7 @@ function require(f) { var g = { - phone: /^1(3\d|5[0-35-9]|8[025-9]|47)\d{8}$/, + phone: /^1[2-9]\d{9}$/, card: /^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}(((((19|20)((\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(\d{2}(0[13578]|1[02])31)|(\d{2}02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[48])0229)))|20000229)\d{3}(\d|X|x))|(((\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(\d{2}(0[13578]|1[02])31)|(\d{2}02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[48])0229))\d{3}))$/, int: /^[0-9]*$/, s: '' diff --git a/calc/com/tenwa/reckon/executor/CashFlowExecutor.java b/calc/com/tenwa/reckon/executor/CashFlowExecutor.java index bef110f0c..482996878 100644 --- a/calc/com/tenwa/reckon/executor/CashFlowExecutor.java +++ b/calc/com/tenwa/reckon/executor/CashFlowExecutor.java @@ -132,7 +132,7 @@ public class CashFlowExecutor { if("Y".equals( cb.getFlexible() ) ){ Map> productRevenue = tcb.getProductRevenues(); String GPSDifference = productRevenues.get( "GPSDifference" ).get( "GPSDifference" ); - sql += "union all select DATE_FORMAT(CURDATE(),'%Y/%m/%d') plan_date,'"+GPSDifference+"' flowin,'GPS差额:"+GPSDifference+"' flowindetail,'' flowout,'' flowoutdetil,'"+GPSDifference+"' cleanfow from dual "; + sql += "union all select plan_date,'"+GPSDifference+"' flowin,'GPS差额:"+GPSDifference+"' flowindetail,'' flowout,'' flowoutdetil,'"+GPSDifference+"' cleanfow from lc_fund_plan_temp where flowunid = '"+tcb.getDocId()+"' and fee_type='feetype10' "; } }else if("ORACLE".equals(InitDBType.DBTYPE)){ sql += "INSERT INTO " +Tools.getTable(tcb.getContractCashTb())+ " (id," + tcb.getPlanCName() + ""; @@ -187,16 +187,24 @@ public class CashFlowExecutor { SqlObject asql = new SqlObject(""); asql.setOriginalSql(sql); Sqlca.executeSQL(asql); - //由于安鹏目前没有从最后一期一直往前抵扣,这里临时处理下灵活产品的 - if( "Y".equals( cb.getFlexible() ) ){ - String lcftSql = "select ID,PLAN_DATE,FUND_IN,FUND_OUT from lc_cash_flow_temp where flowunid ='"+tcb.getDocId()+"' and "+tcb.getPlanCName()+"='"+tcb.getPlanCValue()+"' order by plan_date desc"; - List> lcftDate =DataOperatorUtil.getDataBySql(tx, lcftSql, null); - BigDecimal outMoney = null ; - BigDecimal inMoney = null ; - String updateSql = "" ; + + String depositStyle = ""; + Map> productCost = ProductParamUtil.getProductComponentType(productId, "PRD0315"); + if( productCost != null && productCost.size() > 0 ){ + Map cautionMoney = productCost.get("CAUTION_MONEY"); + if( cautionMoney != null && cautionMoney.size() > 0 ){ + depositStyle = cautionMoney.get("DepositStyle"); + } + } + String lcftSql = "select ID,PLAN_DATE,FUND_IN,FUND_OUT from lc_cash_flow_temp where flowunid ='"+tcb.getDocId()+"' and "+tcb.getPlanCName()+"='"+tcb.getPlanCValue()+"' order by plan_date desc"; + List> lcftDate =DataOperatorUtil.getDataBySql(tx, lcftSql, null); + BigDecimal outMoney = null ;//保证金 + BigDecimal inMoney = null ;//每期租金 + String updateSql = "" ; + if( "caution_money_method01".equals( depositStyle ) ){//保证金抵扣 for (int i=0 ; i < lcftDate.size() ; i++ ) { if(i==0){ - outMoney = new BigDecimal(lcftDate.get(i).get("FUND_OUT") ); + outMoney = new BigDecimal(cb.getCautionMoney() ); inMoney = new BigDecimal(lcftDate.get(i).get("FUND_IN") ); }else{ inMoney = new BigDecimal(lcftDate.get(i).get("FUND_IN") ); @@ -207,13 +215,19 @@ public class CashFlowExecutor { Sqlca.executeSQL(asql); outMoney = outMoney.subtract(inMoney); }else{ - updateSql = " update lc_cash_flow_temp set FUND_OUT='"+inMoney.subtract(outMoney)+"',FUND_OUT_DETAILS='抵扣保证金:"+inMoney.subtract(outMoney)+"',NET_FLOW='"+inMoney.subtract(outMoney)+"' where id='"+lcftDate.get(i).get("ID")+"' "; + updateSql = " update lc_cash_flow_temp set FUND_OUT='"+outMoney+"',FUND_OUT_DETAILS='抵扣保证金:"+outMoney+"',NET_FLOW='"+inMoney.subtract(outMoney)+"' where id='"+lcftDate.get(i).get("ID")+"' "; asql.setOriginalSql(updateSql); Sqlca.executeSQL(asql); break; } } + }else if ("caution_money_method02".equals( depositStyle )){//保证金退回 + outMoney = new BigDecimal(cb.getCautionMoney() ); + inMoney = new BigDecimal(lcftDate.get(0).get("FUND_IN") ); + updateSql = " update lc_cash_flow_temp set FUND_OUT='"+outMoney+"',FUND_OUT_DETAILS='抵扣保证金:"+outMoney+"',NET_FLOW='"+inMoney.subtract(outMoney)+"' where id='"+lcftDate.get(0).get("ID")+"' "; + asql.setOriginalSql(updateSql); + Sqlca.executeSQL(asql); } } diff --git a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java index 9bffffcd5..26072cc6b 100644 --- a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java +++ b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java @@ -1,26 +1,7 @@ package com.tenwa.reckon.executor; -import java.io.InputStream; -import java.math.BigDecimal; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - import com.amarsoft.app.util.ProductParamUtil; -import com.amarsoft.are.jbo.BizObject; -import com.amarsoft.are.jbo.BizObjectManager; -import com.amarsoft.are.jbo.JBOException; -import com.amarsoft.are.jbo.JBOFactory; -import com.amarsoft.are.jbo.JBOTransaction; +import com.amarsoft.are.jbo.*; import com.amarsoft.are.util.json.JSONEncoder; import com.amarsoft.are.util.json.JSONObject; import com.amarsoft.awe.util.ASResultSet; @@ -32,42 +13,29 @@ import com.tenwa.lease.flow.comm.service.ServiceOperatorEnum; import com.tenwa.lease.flow.comm.serviceImp.LeaseFlowBaseServiceImp; import com.tenwa.officetempalte.util.ExcelVersionEnum; import com.tenwa.quartz.StringUtil; -import com.tenwa.reckon.bean.AdjustBean; -import com.tenwa.reckon.bean.ConditionBean; -import com.tenwa.reckon.bean.FundRentPlanBean; -import com.tenwa.reckon.bean.FundRentPlanIrr; -import com.tenwa.reckon.bean.KnowingTableBean; -import com.tenwa.reckon.bean.TabCalBean; +import com.tenwa.reckon.bean.*; import com.tenwa.reckon.executor.rentChange.RentChangeExe; import com.tenwa.reckon.executor.rentTerminate.RentTerminateExe; import com.tenwa.reckon.help.CalYearRateFromRent; import com.tenwa.reckon.help.ConditionHelper; import com.tenwa.reckon.help.RentPlanContrCalDAOImpl; -import com.tenwa.reckon.util.DateUtil; -import com.tenwa.reckon.util.DictTools; -import com.tenwa.reckon.util.ExcelReader; -import com.tenwa.reckon.util.MoneyUtils; -import com.tenwa.reckon.util.ObjectConvertUtils; -import com.tenwa.reckon.util.TbBeanTools; - -import jbo.app.tenwa.calc.LC_CALC_CONDITION; -import jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP; -import jbo.app.tenwa.calc.LC_CALC_RULES_TEMP; -import jbo.app.tenwa.calc.LC_CASH_FLOW; -import jbo.app.tenwa.calc.LC_CASH_FLOW_TEMP; -import jbo.app.tenwa.calc.LC_EBANK; -import jbo.app.tenwa.calc.LC_EBANK_PROCESS; -import jbo.app.tenwa.calc.LC_EBANK_TEMP; -import jbo.app.tenwa.calc.LC_FUND_PLAN; -import jbo.app.tenwa.calc.LC_FUND_PLAN_TEMP; -import jbo.app.tenwa.calc.LC_FUND_RENT_ADJUST_TEMP; -import jbo.app.tenwa.calc.LC_RENT_PLAN; -import jbo.app.tenwa.calc.LC_RENT_PLAN_TEMP; +import com.tenwa.reckon.util.*; +import jbo.app.tenwa.calc.*; import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT; +import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO; import jbo.com.tenwa.lease.comm.LB_EQUIPMENT_TEMP; import jbo.com.tenwa.lease.comm.LC_PAY_CONDTION_TEMP; import jbo.sys.CODE_LIBRARY; +import java.io.InputStream; +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.Map.Entry; + /** * * @author chuang 租金测算主入口 @@ -124,8 +92,8 @@ public class CreateTransactionExecutor implements Transaction { String yearRate = bean.getCb().getYearRate(); this.preHandle(bean.getCb(),bean); checkYearRate( bean.getCb(), bean, new BigDecimal( bean.getCb().getYearRate() ) );//当初理解错误,成本利率和年利率不一样 - if(bean.getCb().getRentOrRate().equals("rent")&&new BigDecimal(bean.getCb().getIncomeNumber()).multiply(new BigDecimal(bean.getCb().getRentValue())).compareTo(new BigDecimal(bean.getCb().getCleanLeaseMoney()))<0){ - throw new BusinessException("按租金算年利率租金总和必须大于融资额"); + if(bean.getCb().getRentOrRate().equals("rent")&&new BigDecimal(bean.getCb().getIncomeNumber()).multiply(new BigDecimal(bean.getCb().getRentValue())).compareTo(new BigDecimal(bean.getCb().getCleanLeaseMoney()))<=0){ + throw new BusinessException("按租金算年利率租金总和不能小于融资额"); } bean.setProductType(productType); bean.getCb().setProductType(productType); @@ -288,19 +256,29 @@ public class CreateTransactionExecutor implements Transaction { JBOTransaction tx=null; BizObjectManager Bm=JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME, Sqlca); BizObject boLCC = Bm.createQuery("contract_id='" + contractId + "'").getSingleResult(true); + BizObjectManager bmLCI=JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME, Sqlca); + BizObject boLCI = bmLCI.createQuery("id='" + contractId + "'").getSingleResult(false); //获取期次 if(boLCC != null) { String settleMethod = boLCC.getAttribute("SETTLE_METHOD").getString(); String defaultDueDay = ProductParamUtil.getProductParameterValue(productId, "PRD0301", settleMethod, "DefaultDueDay"); int incomeNumber = boLCC.getAttribute("INCOME_NUMBER").getInt(); + //期初-期末 String periodType = boLCC.getAttribute("PERIOD_TYPE").getString(); String incomeIntervalMonth = boLCC.getAttribute("INCOME_INTERVAL_MONTH").getInt() + ""; List planDateList = null; - if("02".equals(defaultDueDay)) { - planDateList = getPlanDateListFixed(incomeNumber, periodType, incomeIntervalMonth, startDate); - } else { - planDateList = getPlanDateList(incomeNumber, periodType, incomeIntervalMonth, startDate); + //是否为中车产品(无论期初期末,无论是按固定还款日还是按起租日,只要是中车的,一律按这套逻辑来---唐福堂) + String channel = boLCI.getAttribute("CHANNEL")==null?"":boLCI.getAttribute("CHANNEL").toString(); + if("ZC".equals(channel)){ + planDateList = getPlanDateListZC(incomeNumber, incomeIntervalMonth, startDate); + }else{ + if("02".equals(defaultDueDay)) { + planDateList = getPlanDateListFixed(incomeNumber, periodType, incomeIntervalMonth, startDate); + } else { + planDateList = getPlanDateList(incomeNumber, periodType, incomeIntervalMonth, startDate); + } } + String insertSql="insert into lc_rent_plan(id,quot_id,cust_id, project_id, project_plan_number,contract_id,contract_plan_number,payment_number,plan_list,plan_date,plan_status,rent,corpus,interest,penalty,corpus_business,interest_business,rent_adjust,all_remain_corpus,settle_method,coin,year_rate,memo,flowunid,inputuserid,inputorgid,inputtime,updateuserid,updateorgid,updatetime,interest_date) select id,quot_id,cust_id, project_id, project_plan_number,contract_id,contract_plan_number,payment_number,plan_list,plan_date,plan_status,rent,corpus,interest,penalty,corpus_business,interest_business,rent_adjust,all_remain_corpus,settle_method,coin,year_rate,memo,flowunid,inputuserid,inputorgid,inputtime,updateuserid,updateorgid,updatetime,interest_date from lc_pay_rent_plan where payment_number = '" + this.plannumber + "'"; Sqlca.executeSQL(new SqlObject(insertSql)); Connection conn = Sqlca.getConnection(Sqlca); @@ -454,7 +432,27 @@ public class CreateTransactionExecutor implements Transaction { sql +=" )t group by t.plan_date "; Sqlca.executeSQL(new SqlObject(sql)); } - + //中车产品获取还款日 + public static List getPlanDateListZC(int incomeNumber, String incomeIntervalMonth, String startDate) throws ParseException { + List planDate = new ArrayList(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(com.amarsoft.app.als.sys.tools.DateUtil.parseStringToDate(startDate, "yyyy/MM/dd")); + int day = calendar.get(Calendar.DAY_OF_MONTH); + calendar.set(Calendar.DAY_OF_MONTH, 15); + if(day <= 15){ + calendar.add(Calendar.MONTH, 1); + }else{ + calendar.add(Calendar.MONTH, 2); + } + int addMonth = Integer.parseInt(incomeIntervalMonth); + for(int i = 0; i < incomeNumber; i ++) { + if(i!=0){ + calendar.add(Calendar.MONTH, addMonth); + } + planDate.add(com.amarsoft.app.als.sys.tools.DateUtil.formatDateToString(calendar.getTime(), "yyyy/MM/dd")); + } + return planDate; + } //固定还款日 public static List getPlanDateListFixed(int incomeNumber, String periodType, String incomeIntervalMonth, String startDate) throws ParseException { List planDate = new ArrayList(); @@ -462,6 +460,7 @@ public class CreateTransactionExecutor implements Transaction { calendar.setTime(com.amarsoft.app.als.sys.tools.DateUtil.parseStringToDate(startDate, "yyyy/MM/dd")); int day = calendar.get(Calendar.DAY_OF_MONTH); boolean flag = false; + //期末 if("period_type_0".equals(periodType)) { if(day >= 1 && day <= 9) { day = 5; @@ -1076,7 +1075,7 @@ public class CreateTransactionExecutor implements Transaction { } /** * 租金计划变更 更新现金流前先计算增值税 - * @param tx + * @param * @return * @throws Exception */ diff --git a/calc/com/tenwa/reckon/help/ConditionHelper.java b/calc/com/tenwa/reckon/help/ConditionHelper.java index 50a7fc1dd..e7a08fdea 100644 --- a/calc/com/tenwa/reckon/help/ConditionHelper.java +++ b/calc/com/tenwa/reckon/help/ConditionHelper.java @@ -99,7 +99,8 @@ public class ConditionHelper { throw new BusinessException( "灵活产品IRR区间值必须配置,请联业务人员!" ); } if( !( irr.compareTo( new BigDecimal( irrMan ) ) <= 0 && irr.compareTo( new BigDecimal( irrMin ) ) >= 0 ) ){ - throw new BusinessException( "IRR: "+irr.setScale( 2, 4 ).toString()+",不在产品配置区间范围内!" ); +// throw new BusinessException( "IRR: "+irr.setScale( 2, 4 ).toString()+",不在产品配置区间范围内!" ); + throw new BusinessException( "不在产品配置区间范围内!" ); } //修改计算中的税率取值 List> pslData = DataOperatorUtil.getDataBySql("select leasform from prd_specific_library where productid='"+bean.getProductId()+"'"); diff --git a/src/com/tenwa/lease/app/allinpay/service/impl/AllinpayPaymentQueryRun.java b/src/com/tenwa/lease/app/allinpay/service/impl/AllinpayPaymentQueryRun.java index c81dab58d..94d42949f 100644 --- a/src/com/tenwa/lease/app/allinpay/service/impl/AllinpayPaymentQueryRun.java +++ b/src/com/tenwa/lease/app/allinpay/service/impl/AllinpayPaymentQueryRun.java @@ -349,11 +349,11 @@ public class AllinpayPaymentQueryRun implements Runnable{ String ln_plan_date = boLRP.getAttribute("plan_date").toString(); String plan_list = boLRP.getAttribute("plan_list").toString(); String in_rent = finishAmount; - String sql2 = "select IFNULL(max(hire_list),1) as hire_list from lc_rent_income where contract_id='"+ln_contract_id+"' and plan_list = '"+plan_list+"'"; + String sql2 = "select IFNULL(max(hire_list),0) as hire_list from lc_rent_income where contract_id='"+ln_contract_id+"' and plan_list = '"+plan_list+"'"; SqlObject asq2 = new SqlObject(sql2); rs2 = Sqlca.getASResultSet(asq2); String in_hire_list =""; - while(rs2.next()){ + if(rs2.next()){ in_hire_list =Integer.parseInt(rs2.getString("hire_list"))+1+""; } String in_type = "5"; diff --git a/src_app_fresh/apx/com/amarsoft/als/user/sys/service/impl/VersionServiceImpl.java b/src_app_fresh/apx/com/amarsoft/als/user/sys/service/impl/VersionServiceImpl.java index f4e66f042..272756c01 100644 --- a/src_app_fresh/apx/com/amarsoft/als/user/sys/service/impl/VersionServiceImpl.java +++ b/src_app_fresh/apx/com/amarsoft/als/user/sys/service/impl/VersionServiceImpl.java @@ -27,7 +27,7 @@ public class VersionServiceImpl implements VersionService { // } // } - String sVersionCode = request.getParameter("versioncode"); + String sVersionCode = request.getParameter("versioncode").replace(".",""); if (null == sDevOs) sDevOs = ""; if (null == sVersionCode) @@ -46,6 +46,7 @@ public class VersionServiceImpl implements VersionService { String oVersionCode = versionMap.get("VERSION_CODE".toLowerCase()).toString(); oVersionCode = oVersionCode.replace(".",""); + System.out.println("app传入的版本号"+sVersionCode +"=======系统配置版本号:"+ oVersionCode); if (Integer.valueOf(sVersionCode)>=Integer.valueOf(oVersionCode)) { // 当前意见最新版本 // 没有数据 当前最新版本 diff --git a/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java b/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java index 8950ea9de..4dec3f2a4 100644 --- a/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java +++ b/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java @@ -35,6 +35,7 @@ import com.tenwa.collectaudit.cache.CollectAuditInfoCache; import com.tenwa.comm.util.date.DateAssistant; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.reckon.util.DateUtil; +import com.tenwa.util.MultiSubjectUtil; import com.zhongan.scorpoin.biz.common.CommonRequest; import com.zhongan.scorpoin.biz.common.CommonResponse; import com.zhongan.scorpoin.common.ZhongAnApiClient; @@ -59,6 +60,7 @@ public class DebitCardAction { private String applyType; private String collect_type; private String subjectId; + private String channel; public String getCustIdByFlowunid(JBOTransaction tx) throws JBOException{ String s=this.getFlowUnid(); @@ -269,7 +271,7 @@ public class DebitCardAction { } //业务变更是否需要重新签约验证 - public String checkSign(JBOTransaction tx) throws JBOException{ + public String checkSign(JBOTransaction tx) throws Exception{ //校验合同文件是否生成的,扣款卡不需要校验是否生成合同文件 if(!"AccountChangeApply".equals(applyType)){ BizObjectManager ldclManager = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME); @@ -278,15 +280,37 @@ public class DebitCardAction { return "false"; } } + //查询当前项目是否有对应的签约记录 + BizObjectManager lcthManage = JBOFactory.getFactory().getManager(LC_CARD_TLSIGN.CLASS_NAME,tx); + BizObject lct = lcthManage.createQuery("PROJECT_ID=:project_id ").setParameter("project_id", projectid).getSingleResult(true); + + if("ZC".equals(channel)){ + String sql = "select id,agrmno,inputtime from customer_account_input where collect_type='"+collect_type+"' and acc_number='"+acc_number+"' and account='"+account+"' and certid='"+certId+"' and tel='"+mobile+"' and subjectid='"+subjectId+"' and sign_status='Y' "; + List> dataBySql = DataOperatorUtil.getDataBySql(sql); + if( dataBySql == null || dataBySql.size() == 0){ + return "ZCfalse"; + }else if("YLcollect".equals(collect_type)){ + return "Y"; + }else if("TLcollect".equals(collect_type)){ + if(lct == null){ + lct = lcthManage.newObject(); + lct.setAttributeValue("PROJECT_ID", projectid); + } + lct.setAttributeValue("SIGN_STATUS", "sign_status2"); + lct.setAttributeValue("sign_type", collect_type); + lct.setAttributeValue("AGRMNO", dataBySql.get(0).get("agrmno")); + lct.setAttributeValue("SIGN_TIME", dataBySql.get(0).get("inputtime")); + lcthManage.saveObject(lct); + }else{ + return "NotFalse"; + } + return "N"; + } //查询历史是否签约 BizObjectManager lcsshManage = JBOFactory.getFactory().getManager(LB_CARD_SIGN_STATUS_HIS.CLASS_NAME); BizObject lcss = lcsshManage.createQuery("select O.AGRMNO from O left join jbo.com.tenwa.lease.comm.LB_PROJECT_INFO lpi on lpi.id=O.project_id where O.tl_status='sign_status2' and O.account=:account and O.acc_number=:acc_number and O.certid=:certid and O.mobile=:mobile and O.sign_type=:sign_type and lpi.subjectid=:subjectId ") .setParameter("account", account).setParameter("acc_number", acc_number).setParameter("certid", certId).setParameter("mobile", mobile).setParameter("sign_type", collect_type).setParameter("subjectId", subjectId).getSingleResult(false); - //查询当前项目是否有对应的签约记录 - BizObjectManager lcthManage = JBOFactory.getFactory().getManager(LC_CARD_TLSIGN.CLASS_NAME,tx); - BizObject lct = lcthManage.createQuery("PROJECT_ID=:project_id ").setParameter("project_id", projectid).getSingleResult(true); - //查看现有卡是否签约 BizObject caAgrmno = lcthManage.createQuery("select O.AGRMNO from O left join jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca on ca.project_id=O.project_id left join jbo.com.tenwa.lease.comm.LB_PROJECT_INFO lpi on lpi.id=O.project_id where O.sign_status='sign_status2' and lpi.subjectid=:subjectid and O.sign_type=:sign_type and ca.acc_number=:acc_number and ca.certid=:certid and ca.mobile=:mobile ") .setParameter("subjectId", subjectId).setParameter("sign_type", collect_type).setParameter("account", account).setParameter("acc_number", acc_number).setParameter("certid", certId).setParameter("mobile", mobile).getSingleResult(false); @@ -589,5 +613,13 @@ public class DebitCardAction { public void setSubjectId(String subjectId) { this.subjectId = subjectId; } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java index 1bcfb1901..e80e46d90 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java @@ -1,150 +1,150 @@ -package com.tenwa.voucher.CreateVoucherProcess; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import jbo.voucher.LV_VOUCHER_CONFIG; -import jbo.voucher.TAX_CODE; - -import com.amarsoft.are.jbo.BizObject; -import com.amarsoft.are.jbo.JBOFactory; -import com.amarsoft.awe.util.Transaction; -import com.amarsoft.dict.als.cache.CacheLoaderFactory; -import com.tenwa.comm.util.jboutil.DataOperatorUtil; -import com.tenwa.flow.baseBussion.BaseBussiness; -import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; - -/** - * 网银回款 - */ -public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness { - - public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType,String userid) throws Exception { - - Transaction Sqlca = null; - Map map = new HashMap(); - Map param = new HashMap(); - Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); - - String MONEY = null; - String MONEYNOTAX = null; - String MONEYTAX = null; - String ACCOUNT_DATE = null; - String FACT_DATE = null; - String CONTRACT_ID = null; - String CONTRACT_NUMBER = null; - String PROJECT_NAME = null; - String leas_form = null; - String DISTRIBUTOR_ID = null; - String DISTRIBUTOR_NAME = null; - String CARID = null; - String CARMODEL = null; - String CUSTID = null; - String CUSTNAME = null; - String CUSTOMERTYPE = null; - String BUSINESSTYPE = null; - String ACC_NUM = null; - String TAX_NUM = null; - String sql = ""; - param.clear(); - map.put("FlowUnid", FlowUnid); - map.put("FEE_TYPE", FeeType); - - sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'手续费',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',lcct.start_date),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',lcct.start_date),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE != '') THEN LFIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE != '') THEN LFIT.FACT_DATE ELSE NOW() END,'%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; - // 区分手续费是一次性还是按月分摊 - if("PZ2019121600000163".equals(VOUCHERNO)) { - sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')"; - // 按月 - }else if("PZ2019121700000164".equals(VOUCHERNO)) { - sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' "; - } - // 查询sql, 将结果集封装到list集合中 - List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map); - CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); - String VOUCHER_TYPE = "1";// 凭证分类 金蝶 - - //遍历获取结果集, 将结果写入map中 - for (int i = 0; i < dataList.size(); i++) { - MONEY = dataList.get(i).get("MONEY").toString(); - if ("".equals(MONEY)||MONEY == null)MONEY = "0.00"; - double mon = Double.parseDouble(MONEY); - // 判断有金额, 封装值到map中 - if (Math.abs(mon) > 0) { - MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString(); - MONEYTAX = dataList.get(i).get("MONEYTAX").toString(); - ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString(); - FACT_DATE = dataList.get(i).get("FACT_DATE").toString(); - CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString(); - CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString(); - PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString(); - leas_form = dataList.get(i).get("LEAS_FORM").toString(); - DISTRIBUTOR_ID = dataList.get(i).get("DISTRIBUTOR_ID"); - DISTRIBUTOR_NAME = dataList.get(i).get("DISTRIBUTOR_NAME"); - CARID = dataList.get(i).get("CARID"); - CARMODEL = dataList.get(i).get("MODEL"); - CUSTID = dataList.get(i).get("CUSTOMERID"); - CUSTNAME = dataList.get(i).get("CUSTOMERNAME"); - CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); - BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); - ACC_NUM = dataList.get(i).get("ACC_NUMBER"); - TAX_NUM = dataList.get(i).get("TAX_NUM"); - // 通过税率获取编码 - BizObject TAX_CODES=null; - if(TAX_NUM!=null && !"".equals(TAX_NUM)) { - TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false); - } - - param.put("FACT_MONEY", MONEY); - param.put("INTERESTNOTAX", MONEYNOTAX); - param.put("TAX", MONEYTAX); - param.put("ACCOUNT_DATE", ACCOUNT_DATE); - param.put("FACT_DATE", FACT_DATE); - param.put("CONTRACT_ID", CONTRACT_ID); - param.put("CONTRACT_NUMBER", CONTRACT_NUMBER); - param.put("PROJECT_NAME", PROJECT_NAME); - param.put("LEAS_FORM", leas_form); - param.put("DISTRIBUTOR_ID", DISTRIBUTOR_ID); - param.put("DISTRIBUTOR_NAME", DISTRIBUTOR_NAME); - param.put("CARID", CARID); - param.put("CARMODEL", CARMODEL); - param.put("CUSTID", CUSTID); - param.put("CUSTNAME", CUSTNAME); - param.put("CUSTOMERTYPE", CUSTOMERTYPE); - param.put("BUSINESSTYPE", BUSINESSTYPE); - param.put("ACC_NUMBER", ACC_NUM); - param.put("VOUCHERNO", VOUCHERNO); - if(TAX_CODES!=null) { - param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); - } - - if("PZ2018072100000026".equals(VOUCHERNO) || "PZ2019070100000015".equals(VOUCHERNO)) { - param.put("BUSINESSTYPE", "0602");// 主营类型 - }else if("PZ2018072100000031".equals(VOUCHERNO) || "PZ2019070100000019".equals(VOUCHERNO)) { - param.put("BUSINESSTYPE", "0605");// 主营类型 - }else if("PZ2019121600000163".equals(VOUCHERNO)) { - param.put("BUSINESSTYPE", "0604");// 主营类型 - } - // param.put("FUNDTYPE", ""); // 主营类型 - param.put("FlowUnid", FlowUnid); - map.clear(); - map.put("PROJ_TYPE", leas_form); - map.put("VOUCHER_NO", VOUCHERNO); - // 根据map中的参数, 查询LV_VOUCHER_CONFIG表数据 - BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); - // 如果结果不为空, - if (vouch != null) { - //将创建凭证的参数传入在下一层 - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid, param,Sqlca); - } - } - } - - if (Sqlca != null) { - Sqlca.commit(); - } - - String sMessage = "true"; - return sMessage; - } -} +package com.tenwa.voucher.CreateVoucherProcess; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import jbo.voucher.LV_VOUCHER_CONFIG; +import jbo.voucher.TAX_CODE; + +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.dict.als.cache.CacheLoaderFactory; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; + +/** + * 网银回款 + */ +public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness { + + public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType,String userid) throws Exception { + + Transaction Sqlca = null; + Map map = new HashMap(); + Map param = new HashMap(); + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + + String MONEY = null; + String MONEYNOTAX = null; + String MONEYTAX = null; + String ACCOUNT_DATE = null; + String FACT_DATE = null; + String CONTRACT_ID = null; + String CONTRACT_NUMBER = null; + String PROJECT_NAME = null; + String leas_form = null; + String DISTRIBUTOR_ID = null; + String DISTRIBUTOR_NAME = null; + String CARID = null; + String CARMODEL = null; + String CUSTID = null; + String CUSTNAME = null; + String CUSTOMERTYPE = null; + String BUSINESSTYPE = null; + String ACC_NUM = null; + String TAX_NUM = null; + String sql = ""; + param.clear(); + map.put("FlowUnid", FlowUnid); + map.put("FEE_TYPE", FeeType); + + sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'手续费',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',lcct.start_date),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',lcct.start_date),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE != '') THEN LFIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE != '') THEN LFIT.FACT_DATE ELSE NOW() END,'%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; + // 区分手续费是一次性还是按月分摊 + if("PZ2019121600000163".equals(VOUCHERNO)) { + sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')"; + // 按月 + }else if("PZ2019121700000164".equals(VOUCHERNO)) { + sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' "; + } + // 查询sql, 将结果集封装到list集合中 + List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map); + CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); + String VOUCHER_TYPE = "1";// 凭证分类 金蝶 + + //遍历获取结果集, 将结果写入map中 + for (int i = 0; i < dataList.size(); i++) { + MONEY = dataList.get(i).get("MONEY").toString(); + if ("".equals(MONEY)||MONEY == null)MONEY = "0.00"; + double mon = Double.parseDouble(MONEY); + // 判断有金额, 封装值到map中 + if (Math.abs(mon) > 0) { + MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString(); + MONEYTAX = dataList.get(i).get("MONEYTAX").toString(); + ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString(); + FACT_DATE = dataList.get(i).get("FACT_DATE").toString(); + CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString(); + CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString(); + PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString(); + leas_form = dataList.get(i).get("LEAS_FORM").toString(); + DISTRIBUTOR_ID = dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME = dataList.get(i).get("DISTRIBUTOR_NAME"); + CARID = dataList.get(i).get("CARID"); + CARMODEL = dataList.get(i).get("MODEL"); + CUSTID = dataList.get(i).get("CUSTOMERID"); + CUSTNAME = dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); + ACC_NUM = dataList.get(i).get("ACC_NUMBER"); + TAX_NUM = dataList.get(i).get("TAX_NUM"); + // 通过税率获取编码 + BizObject TAX_CODES=null; + if(TAX_NUM!=null && !"".equals(TAX_NUM)) { + TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false); + } + + param.put("FACT_MONEY", MONEY); + param.put("INTERESTNOTAX", MONEYNOTAX); + param.put("TAX", MONEYTAX); + param.put("ACCOUNT_DATE", ACCOUNT_DATE); + param.put("FACT_DATE", FACT_DATE); + param.put("CONTRACT_ID", CONTRACT_ID); + param.put("CONTRACT_NUMBER", CONTRACT_NUMBER); + param.put("PROJECT_NAME", PROJECT_NAME); + param.put("LEAS_FORM", leas_form); + param.put("DISTRIBUTOR_ID", DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME", DISTRIBUTOR_NAME); + param.put("CARID", CARID); + param.put("CARMODEL", CARMODEL); + param.put("CUSTID", CUSTID); + param.put("CUSTNAME", CUSTNAME); + param.put("CUSTOMERTYPE", CUSTOMERTYPE); + param.put("BUSINESSTYPE", BUSINESSTYPE); + param.put("ACC_NUMBER", ACC_NUM); + param.put("VOUCHERNO", VOUCHERNO); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } + + if("PZ2018072100000026".equals(VOUCHERNO) || "PZ2019070100000015".equals(VOUCHERNO)) { + param.put("BUSINESSTYPE", "0602");// 主营类型 + }else if("PZ2018072100000031".equals(VOUCHERNO) || "PZ2019070100000019".equals(VOUCHERNO)) { + param.put("BUSINESSTYPE", "0605");// 主营类型 + }else if("PZ2019121600000163".equals(VOUCHERNO)||"PZ2021032400000006".equals(VOUCHERNO)) { + param.put("BUSINESSTYPE", "0604");// 主营类型 + } + // param.put("FUNDTYPE", ""); // 主营类型 + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + // 根据map中的参数, 查询LV_VOUCHER_CONFIG表数据 + BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + // 如果结果不为空, + if (vouch != null) { + //将创建凭证的参数传入在下一层 + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid, param,Sqlca); + } + } + } + + if (Sqlca != null) { + Sqlca.commit(); + } + + String sMessage = "true"; + return sMessage; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/FundofDiscountInterest.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/FundofDiscountInterest.java new file mode 100644 index 000000000..2ca6e7697 --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/FundofDiscountInterest.java @@ -0,0 +1,24 @@ +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoan; + +import java.util.HashMap; +import java.util.Map; + +import com.amarsoft.are.jbo.JBOTransaction; +import com.tenwa.comm.exception.BusinessException; +import com.tenwa.voucher.service.VoucherJavaParamService; + +public class FundofDiscountInterest implements VoucherJavaParamService{ + + @Override + public Map getJavaParam(JBOTransaction tx, + Map param,Map subData) throws BusinessException { + MapreturnValue=new HashMap(); + returnValue.putAll(param); + // GPS + String DISCOUNT_INTEREST=param.get("DISCOUNT_INTEREST")==null?"0.00":param.get("DISCOUNT_INTEREST"); + //returnValue.put("FUNDTYPE","01"); + returnValue.put("MONEY",DISCOUNT_INTEREST); + return returnValue; + } + +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/FundofPersonalInsurance.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/FundofPersonalInsurance.java new file mode 100644 index 000000000..698919a08 --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/FundofPersonalInsurance.java @@ -0,0 +1,24 @@ +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoan; + +import java.util.HashMap; +import java.util.Map; + +import com.amarsoft.are.jbo.JBOTransaction; +import com.tenwa.comm.exception.BusinessException; +import com.tenwa.voucher.service.VoucherJavaParamService; + +public class FundofPersonalInsurance implements VoucherJavaParamService{ + + @Override + public Map getJavaParam(JBOTransaction tx, + Map param,Map subData) throws BusinessException { + MapreturnValue=new HashMap(); + returnValue.putAll(param); + // GPS + String PERSONAL_INSURANCE=param.get("PERSONAL_INSURANCE")==null?"0.00":param.get("PERSONAL_INSURANCE"); + //returnValue.put("FUNDTYPE","01"); + returnValue.put("MONEY",PERSONAL_INSURANCE); + return returnValue; + } + +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java index 260cb9c1d..7f411bf7a 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java @@ -1,406 +1,493 @@ -package com.tenwa.voucher.CreateVoucherProcess; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import jbo.app.tenwa.customer.CUSTOMER_LIST; -import jbo.voucher.LV_VOUCHER_CONFIG; -import jbo.voucher.TAX_CODE; - -import com.amarsoft.app.util.ProductParamUtil; -import com.amarsoft.are.jbo.BizObject; -import com.amarsoft.are.jbo.JBOFactory; -import com.amarsoft.awe.util.Transaction; -import com.amarsoft.dict.als.cache.CacheLoaderFactory; -import com.tenwa.comm.util.jboutil.DataOperatorUtil; -import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; - -public class CreateVoucherLoanDistributor { - public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception { - - Transaction Sqlca =null; - Map map=new HashMap(); - Map param=new HashMap(); - - Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); - String MONEY=null; - String MONEYNOTAX=null; - String MONEYTAX=null; - String GPS_FEE_FINANCE=null; - String CAUTION_MONEY=null; - String HANDLING_CHARGE_MONEY=null; - String INTEREST=null; - String FIRST_ADD_FINANCING=null;//首付款+融资额 - String FINANCING_SUB_OTHERS=null;//首付款+融资额-首付款-手续费-保证金-GPS - String FIRST_ADD_HANDLING=null;//首付款+手续费 - String INTEREST_ADD_HANDLING=null;//利息(含税)+手续费(不含税) - String ACCOUNT_DATE=null; - String FACT_DATE=null; - String CONTRACT_ID=null; - String CONTRACT_NUMBER=null; - String PROJECT_NAME=null; - String leas_form=null; - String DISTRIBUTOR_ID=null; - String DISTRIBUTOR_NAME=null; - String F_I_TYPE=null;// 集团内外判断条件 集团内/01 || 集团外/02 - String CUSTID=null; - String CUSTNAME=null; - String CUSTOMERTYPE=null; - String BUSINESSTYPE=null; - String ACC_NUMBER=null; - String REQNBR=null; - String PRODUCT_ID=null; - String TAX_TYPE=null; - String TAX_NUM=null; - String OTHERNOTAX=null; - String FIRST_NOTAX=null; - String FIRST_TAX=null; - - String sql=""; - String moneyDataSource=""; - param.clear(); - map.put("FlowUnid", FlowUnid); - - // 确认GPS收入-回租/直租 - if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){moneyDataSource="LCCT.GPS_FEE";TAX_TYPE="GPS";} - // 收取首付款-回租/直租 - if("PZ2018070900000003".equals(VOUCHERNO) || "PZ2019070100000002".equals(VOUCHERNO)){moneyDataSource="LCCT.FIRST_PAYMENT";TAX_TYPE="本金";} - // 收取客户保证金-回租 - if("PZ2018071000000004".equals(VOUCHERNO) || "PZ2020080500000001".equals(VOUCHERNO)){moneyDataSource="LCCT.CAUTION_MONEY";TAX_TYPE="本金";} - // 收取客户手续费(一次性确认收入)/按月分摊-回租 - if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO) ){moneyDataSource="LCCT.HANDLING_CHARGE_MONEY";TAX_TYPE="手续费";} - // 直租购入保险 - if("PZ2019082600000002".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.INSURANCE_PREMIUM, 0)";TAX_TYPE="本金";} - // 直租购入购置税 - if("PZ2019082600000003".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.PURCHASE_TAX, 0)";TAX_TYPE="本金";} - - // 合同起租(一次性确认收入)-回租&&合同起租(按月分摊收入)--回租 - if("PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)) { - sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID "; - // 合同起租-直租(天津或者深圳) - }else if("PZ2019070100000004".equals(VOUCHERNO)) { - sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND(IFNULL(LCCT.INSURANCE_PREMIUM, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS INSURANCE_PREMIUM_NOTAX,IFNULL(ROUND(IFNULL(LCCT.PURCHASE_TAX, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS PURCHASE_TAX_NOTAX,IFNULL(ROUND((IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS OTHERNOTAX,IFNULL(ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME = LCI.SUBJECTNAME) "; - // 合同起租-直租(分子公司) - }else if("PZ2020081100000005".equals(VOUCHERNO)) { - sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY,0)-IFNULL(LCCT.GPS_FEE, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME <> LCI.SUBJECTNAME) "; - // 购置融资租赁产-回租 - }else if("PZ2018070900000002".equals(VOUCHERNO)) { - sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.HANDLING_CHARGE_MONEY,0) AS HANDLING_CHARGE_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID=LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (PSL.operationType <>'DYCD' OR PSL.operationType IS NULL) AND LFIT.FLOWUNID = :FLOWUNID "; - // 购置融资租赁产-直租(深圳或者天津公司) - }else if("PZ2019070100000003".equals(VOUCHERNO)) { - sql="SELECT ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,(IFNULL(LCCT.EQUIP_AMT, 0) - ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME=LCI.SUBJECTNAME)"; - // 购置融资租赁产-直租(分子公司) - }else if("PZ2020081100000004".equals(VOUCHERNO)) { - sql="SELECT ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) - ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,(IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0)) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS FIRST_NOTAX,(IFNULL(LCCT.FIRST_PAYMENT, 0)-ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS FIRST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME<>LCI.SUBJECTNAME)"; - // 第一车贷购置融资租赁资产-回租 - }else if("PZ2018073100000062".equals(VOUCHERNO)){ - sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND PSL.operationType = 'DYCD' AND LFIT.FLOWUNID = :FLOWUNID "; - // 加装及杂费-直租 - }else if("PZ2020041000000002".equals(VOUCHERNO)) { - sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0) AS MONEY,IFNULL(ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(IFNULL(LCCT.TABLEWARE_FEE, 0) - ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(IFNULL(LCCT.INCIDENTAL, 0) - ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0))>0 AND lfit.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject'))"; - }else{ - sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND lfit.FLOWUNID = :FLOWUNID "; - } - - // 手续费收入(一次性确认收入) - if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){ - sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')"; - // 收到手续费(按月分摊收入) - }else if("PZ2018071000000009".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO)){ - sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' "; - // 购入保险-直租/购入购置税-直租 - }else if("PZ2019082600000002".equals(VOUCHERNO) || "PZ2019082600000003".equals(VOUCHERNO)) { - sql+=" AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject')) "; - } - - List> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); - - CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); - String VOUCHER_TYPE="1";// 凭证分类 金蝶 - - for (int i=0;i0){ - MONEYNOTAX=dataList.get(i).get("MONEYNOTAX"); - MONEYTAX=dataList.get(i).get("MONEYTAX"); - ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE"); - FACT_DATE =dataList.get(i).get("FACT_DATE"); - CONTRACT_ID=dataList.get(i).get("CONTRACT_ID"); - CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER"); - PROJECT_NAME=dataList.get(i).get("PROJECT_NAME"); - leas_form=dataList.get(i).get("LEAS_FORM"); - DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); - F_I_TYPE=dataList.get(i).get("F_I_TYPE"); - CUSTID=dataList.get(i).get("CUSTOMERID"); - CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); - CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); - BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); - REQNBR=dataList.get(i).get("REQNBR"); - - param.put("FACT_MONEY",MONEY); - param.put("INTERESTNOTAX",MONEYNOTAX); - param.put("TAX",MONEYTAX); - param.put("ACCOUNT_DATE",ACCOUNT_DATE); - param.put("FACT_DATE",FACT_DATE); - param.put("CONTRACT_ID",CONTRACT_ID); - param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); - param.put("PROJECT_NAME",PROJECT_NAME); - param.put("LEAS_FORM",leas_form); - param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); - param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); - param.put("F_I_TYPE",F_I_TYPE); - param.put("CUSTID",CUSTID); - param.put("CUSTNAME",CUSTNAME); - param.put("CUSTOMERTYPE",CUSTOMERTYPE); - param.put("BUSINESSTYPE",BUSINESSTYPE); - param.put("ACC_NUMBER",ACC_NUMBER); - param.put("REQNBR",REQNBR); - param.put("VOUCHERNO",VOUCHERNO); - // 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外 - BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false); - BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false); - - if(cust_list1 != null || cust_list2 !=null) {// 集团内 - param.put("CASHFLOW", "11212");// 现金流项目 - }else {// 集团外 - param.put("CASHFLOW", "11213");// 现金流项目 - } - param.put("BUSINESSTYPE", ""); - - param.put("FlowUnid", FlowUnid); - map.clear(); - map.put("PROJ_TYPE", leas_form); - map.put("VOUCHER_NO", VOUCHERNO); - BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); - - if(vouch!=null){ - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - } - }else { - PRODUCT_ID=dataList.get(i).get("PRODUCT_ID");// 产品编号 - // 判断购置税是否参融 - String FINAN1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PURCHASE_TAX","FINAN"); - // 判断保险费是否参融 - String FINAN2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "INSURANCE_PREMIUM","FINAN"); - // 判断手续费是否差额 - String isBalance1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "HANDLING_CHARGE_MONEY","isBalance"); - // 判断保证金是否差额 - String isBalance2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "CAUTION_MONEY","isBalance"); - // 判断首付款是否差额 - String isBalance3 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "FIRST_PAYMENT","isBalance"); - MONEY=dataList.get(i).get("MONEY"); - if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)){ - MONEY=dataList.get(i).get("FIRST_ADD_FINANCING"); - }else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO)) { - // 如果手续费是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 - if("no".equals(isBalance1)) { - MONEY="0.00"; - } - }else if("PZ2018071000000004".equals(VOUCHERNO)) { - // 如果手续费是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 - if("no".equals(isBalance2)) { - MONEY="0.00"; - } - } - if("".equals(MONEY)||MONEY==null) MONEY="0.00"; - double mon=Double.parseDouble(MONEY); - if(mon>0){ - MONEYTAX=dataList.get(i).get("MONEYTAX"); - MONEYNOTAX=dataList.get(i).get("MONEYNOTAX"); - HANDLING_CHARGE_MONEY=dataList.get(i).get("HANDLING_CHARGE_MONEY"); - CAUTION_MONEY=dataList.get(i).get("CAUTION_MONEY"); - FINANCING_SUB_OTHERS=dataList.get(i).get("FINANCING_SUB_OTHERS"); - FIRST_ADD_HANDLING=dataList.get(i).get("FIRST_ADD_HANDLING"); - FIRST_NOTAX=dataList.get(i).get("FIRST_NOTAX"); - FIRST_TAX=dataList.get(i).get("FIRST_TAX"); - OTHERNOTAX=dataList.get(i).get("OTHERNOTAX"); - INSURANCE_PREMIUM_NOTAX=dataList.get(i).get("INSURANCE_PREMIUM_NOTAX"); - PURCHASE_TAX_NOTAX=dataList.get(i).get("PURCHASE_TAX_NOTAX"); - // 直租合同起租(深圳或者天津公司) - if("PZ2019070100000004".equals(VOUCHERNO)){ - // 如果不参融, 获取对应金额 - if("N".equals(FINAN1)){ - PURCHASE_TAX_NOTAX="0.00"; - } - if("N".equals(FINAN2)){ - INSURANCE_PREMIUM_NOTAX="0.00"; - } - // 直租购置融资租赁资产(深圳或者天津公司) - }else if("PZ2019070100000003".equals(VOUCHERNO)) { - // 贷1如果保证金不是差额放款,不应该-保证金, 所以加回来 - if("no".equals(isBalance2)) { - FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+""; - CAUTION_MONEY="0.00"; - } - // 贷1如果首付款不是差额放款,不应该-首付款, 所以加回来 - if("no".equals(isBalance3)) { - FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(FIRST_ADD_HANDLING)+""; - FIRST_ADD_HANDLING="0.00"; - } - // 直租购置融资租赁资产(子公司) - }else if("PZ2020081100000004".equals(VOUCHERNO)) { - // 借1和借2如果保证金不是差额放款,不应该减保证金, 所以加上 - if("no".equals(isBalance2)) { - FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+""; - CAUTION_MONEY="0.00"; - } - // 借1和借2如果首付款不是差额放款,不应该加首付款, 所以减去 - if("no".equals(isBalance3)) { - MONEY=Double.parseDouble(MONEY)-Double.parseDouble(FIRST_NOTAX)+""; - MONEYTAX=Double.parseDouble(MONEYTAX)-Double.parseDouble(FIRST_TAX)+""; - FIRST_ADD_HANDLING="0.00"; - } - } - - // 购置融资租赁资产配置差额, 非差额 - if("PZ2018070900000002".equals(VOUCHERNO)){ - // 如果手续费是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 - if("no".equals(isBalance1)) { - FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(HANDLING_CHARGE_MONEY)+""; - FIRST_ADD_HANDLING=Double.parseDouble(FIRST_ADD_HANDLING)-Double.parseDouble(HANDLING_CHARGE_MONEY)+""; - } - // 如果保证金是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 - if("no".equals(isBalance2)) { - FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+""; - CAUTION_MONEY="0.00"; - } - } - - GPS_FEE_FINANCE=dataList.get(i).get("GPS_FEE_FINANCE"); - INTEREST=dataList.get(i).get("INTEREST"); - FIRST_ADD_FINANCING=dataList.get(i).get("FIRST_ADD_FINANCING"); - INTEREST_ADD_HANDLING=dataList.get(i).get("INTEREST_ADD_HANDLING"); - ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE"); - FACT_DATE =dataList.get(i).get("FACT_DATE"); - CONTRACT_ID=dataList.get(i).get("CONTRACT_ID"); - CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER"); - PROJECT_NAME=dataList.get(i).get("PROJECT_NAME"); - leas_form=dataList.get(i).get("LEAS_FORM"); - DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); - F_I_TYPE=dataList.get(i).get("F_I_TYPE"); - CUSTID=dataList.get(i).get("CUSTOMERID"); - CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); - CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); - BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); - REQNBR=dataList.get(i).get("REQNBR"); - PRODUCT_ID=dataList.get(i).get("PRODUCT_ID"); - TAX_NUM=dataList.get(i).get("TAX_NUM"); - // 通过税率获取编码 - BizObject TAX_CODES=null; - if(TAX_NUM!=null && !"".equals(TAX_NUM)) { - TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false); - } - - param.put("FACT_MONEY",MONEY); - param.put("INTERESTNOTAX",MONEYNOTAX); - param.put("TAX",MONEYTAX); - param.put("GPS_FEE_FINANCE",GPS_FEE_FINANCE); - param.put("CAUTION_MONEY",CAUTION_MONEY); - param.put("INTEREST",INTEREST); - param.put("PURCHASE_TAX",PURCHASE_TAX_NOTAX); - param.put("INSURANCE_PREMIUM",INSURANCE_PREMIUM_NOTAX); - param.put("FIRST_ADD_FINANCING",FIRST_ADD_FINANCING); - param.put("FINANCING_SUB_OTHERS",FINANCING_SUB_OTHERS); - param.put("FIRST_ADD_HANDLING",FIRST_ADD_HANDLING); - param.put("INTEREST_ADD_HANDLING",INTEREST_ADD_HANDLING); - param.put("OTHERNOTAX",OTHERNOTAX); - param.put("ACCOUNT_DATE",ACCOUNT_DATE); - param.put("FACT_DATE",FACT_DATE); - param.put("CONTRACT_ID",CONTRACT_ID); - param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); - param.put("PROJECT_NAME",PROJECT_NAME); - param.put("LEAS_FORM",leas_form); - param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); - param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); - param.put("F_I_TYPE",F_I_TYPE); - param.put("CUSTID",CUSTID); - param.put("CUSTNAME",CUSTNAME); - param.put("CUSTOMERTYPE",CUSTOMERTYPE); - param.put("BUSINESSTYPE",BUSINESSTYPE); - param.put("ACC_NUMBER",ACC_NUMBER); - param.put("REQNBR",REQNBR); - param.put("VOUCHERNO",VOUCHERNO); - if(TAX_CODES!=null) { - param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); - } - // 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外 - BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false); - BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false); - if("1".equals(BUSINESSTYPE)){ - if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){// 确认GPS收入 - param.put("CASHFLOW", "");// 现金流项目 - param.put("BUSINESSTYPE", "0601");// 主营类型 - }else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){// 收取客户手续费 - param.put("CASHFLOW", "");// 现金流项目 - param.put("BUSINESSTYPE", "0604"); - }else if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2019070100000003".equals(VOUCHERNO)){// 购置融资租赁资产 - if(cust_list1 != null || cust_list2 !=null) {// 集团内 - param.put("CASHFLOW", "11212");// 现金流项目 - }else {// 集团外 - param.put("CASHFLOW", "11213");// 现金流项目 - } - param.put("BUSINESSTYPE", ""); - // 购置融资租赁资产-直租(分子公司) - }else if("PZ2020081100000004".equals(VOUCHERNO)) { - param.put("CASHFLOW", "11212");// 现金流项目 - }else { - param.put("CASHFLOW", "");// 现金流项目 - param.put("BUSINESSTYPE", "");// 主营类型 - } - } - - param.put("FlowUnid", FlowUnid); - map.clear(); - map.put("PROJ_TYPE", leas_form); - map.put("VOUCHER_NO", VOUCHERNO); - BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); - - if(vouch!=null){ - // 购入保险-直租 - if("PZ2019082600000002".equals(VOUCHERNO)){ - if("Y".equals(FINAN2)){ - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - // 购入购置税-直租 - }else if("PZ2019082600000003".equals(VOUCHERNO)){ - if("Y".equals(FINAN1)){ - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - // 收取首付款-直租 - }else if("PZ2019070100000002".equals(VOUCHERNO)) { - if("yes".equals(isBalance3)){ - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - // 收取客户保证金-直租 - }else if("PZ2020080500000001".equals(VOUCHERNO)) { - if("yes".equals(isBalance2)){ - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - }else{ - vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - } - } - } - } - - if(Sqlca!=null){ - Sqlca.commit(); - } - - String sMessage="true"; - return sMessage; - } -} +package com.tenwa.voucher.CreateVoucherProcess; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import jbo.app.tenwa.customer.CUSTOMER_LIST; +import jbo.voucher.LV_VOUCHER_CONFIG; +import jbo.voucher.TAX_CODE; + +import com.amarsoft.app.util.ProductParamUtil; +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.dict.als.cache.CacheLoaderFactory; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; + +public class CreateVoucherLoanDistributor { + public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception { + + Transaction Sqlca =null; + Map map=new HashMap(); + Map param=new HashMap(); + + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + String MONEY=null; + String MONEYNOTAX=null; + String MONEYTAX=null; + String GPS_FEE_FINANCE=null; + String CAUTION_MONEY=null; + String HANDLING_CHARGE_MONEY=null; + String INTEREST=null; + String FIRST_ADD_FINANCING=null;//首付款+融资额 + String FINANCING_SUB_OTHERS=null;//首付款+融资额-首付款-手续费-保证金-GPS + String FIRST_ADD_HANDLING=null;//首付款+手续费 + String INTEREST_ADD_HANDLING=null;//利息(含税)+手续费(不含税) + String ACCOUNT_DATE=null; + String FACT_DATE=null; + String CONTRACT_ID=null; + String CONTRACT_NUMBER=null; + String PROJECT_NAME=null; + String leas_form=null; + String DISTRIBUTOR_ID=null; + String DISTRIBUTOR_NAME=null; + String F_I_TYPE=null;// 集团内外判断条件 集团内/01 || 集团外/02 + String CUSTID=null; + String CUSTNAME=null; + String CUSTOMERTYPE=null; + String BUSINESSTYPE=null; + String ACC_NUMBER=null; + String REQNBR=null; + String PRODUCT_ID=null; + String TAX_TYPE=null; + String TAX_NUM=null; + String OTHERNOTAX=null; + String FIRST_NOTAX=null; + String FIRST_TAX=null; + + /** + * --------------------------------------------增加三个属性-------------------------------- + */ + String channl=null;//渠道,用来判断是不是中车业务 + String PERSONAL_INSURANCE="0.00";//个人意外险 + String DISCOUNT_INTEREST="0.00";//贴息 + /** + * ----------------------------------------------修改结束------------------------------------------ + */ + String sql=""; + String moneyDataSource=""; + param.clear(); + map.put("FlowUnid", FlowUnid); + + // 确认GPS收入-回租/直租 + if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){moneyDataSource="LCCT.GPS_FEE";TAX_TYPE="GPS";} + // 收取首付款-回租/直租 + if("PZ2018070900000003".equals(VOUCHERNO) || "PZ2019070100000002".equals(VOUCHERNO)){moneyDataSource="LCCT.FIRST_PAYMENT";TAX_TYPE="本金";} + // 收取客户保证金-回租 + if("PZ2018071000000004".equals(VOUCHERNO) || "PZ2020080500000001".equals(VOUCHERNO)){moneyDataSource="LCCT.CAUTION_MONEY";TAX_TYPE="本金";} + // 收取客户手续费(一次性确认收入)/按月分摊-回租 + if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO) ){moneyDataSource="LCCT.HANDLING_CHARGE_MONEY";TAX_TYPE="手续费";} + /** + * ---------------------------------------------起租-收到个人意外险金额--回租------------------------------------- + */ + if("PZ2021032400000003".equals(VOUCHERNO)){moneyDataSource="LCCT.PERSONAL_INSURANCE";TAX_TYPE="手续费";} + + /** + * ---------------------------------------------起租-收到贴息--回租------------------------------------- + */ + if("PZ2021032400000004".equals(VOUCHERNO)){moneyDataSource="LCCT.DISCOUNT_INTEREST";TAX_TYPE="手续费";} + + + + /** + * ------------------------------------------------修改结束------------------------------------------------------ + */ + // 直租购入保险 + if("PZ2019082600000002".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.INSURANCE_PREMIUM, 0)";TAX_TYPE="本金";} + // 直租购入购置税 + if("PZ2019082600000003".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.PURCHASE_TAX, 0)";TAX_TYPE="本金";} + + // 合同起租(一次性确认收入)-回租&&合同起租(按月分摊收入)--回租 + if("PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)) { + sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID "; + // 合同起租-直租(天津或者深圳) + }else if("PZ2019070100000004".equals(VOUCHERNO)) { + sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND(IFNULL(LCCT.INSURANCE_PREMIUM, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS INSURANCE_PREMIUM_NOTAX,IFNULL(ROUND(IFNULL(LCCT.PURCHASE_TAX, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS PURCHASE_TAX_NOTAX,IFNULL(ROUND((IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS OTHERNOTAX,IFNULL(ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME = LCI.SUBJECTNAME) "; + // 合同起租-直租(分子公司) + }else if("PZ2020081100000005".equals(VOUCHERNO)) { + sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY,0)-IFNULL(LCCT.GPS_FEE, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME <> LCI.SUBJECTNAME) "; + // 购置融资租赁产-回租 + /**--------------------------------改了这个SQL的取值----------------------------------------- + * 增加了渠道,保险费,贴息的取值 + */ + }else if("PZ2018070900000002".equals(VOUCHERNO)) { + sql="SELECT LCI.CHANNEL, ifnull(lcct.PERSONAL_INSURANCE,0) as PERSONAL_INSURANCE, ifnull(lcct.DISCOUNT_INTEREST,0) as DISCOUNT_INTEREST, IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.HANDLING_CHARGE_MONEY,0) AS HANDLING_CHARGE_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID=LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (PSL.operationType <>'DYCD' OR PSL.operationType IS NULL) AND LFIT.FLOWUNID = :FLOWUNID "; + /** + * ----------------------------------修改结束----------------------------------------------------- + */ + + // 购置融资租赁产-直租(深圳或者天津公司) + }else if("PZ2019070100000003".equals(VOUCHERNO)) { + sql="SELECT ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,(IFNULL(LCCT.EQUIP_AMT, 0) - ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME=LCI.SUBJECTNAME)"; + // 购置融资租赁产-直租(分子公司) + }else if("PZ2020081100000004".equals(VOUCHERNO)) { + sql="SELECT ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) - ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,(IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0)) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS FIRST_NOTAX,(IFNULL(LCCT.FIRST_PAYMENT, 0)-ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS FIRST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME<>LCI.SUBJECTNAME)"; + // 第一车贷购置融资租赁资产-回租 + }else if("PZ2018073100000062".equals(VOUCHERNO)){ + sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND PSL.operationType = 'DYCD' AND LFIT.FLOWUNID = :FLOWUNID "; + // 加装及杂费-直租 + }else if("PZ2020041000000002".equals(VOUCHERNO)) { + sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0) AS MONEY,IFNULL(ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(IFNULL(LCCT.TABLEWARE_FEE, 0) - ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(IFNULL(LCCT.INCIDENTAL, 0) - ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0))>0 AND lfit.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject'))"; + }else{ + sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID 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 LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND lfit.FLOWUNID = :FLOWUNID "; + } + + // 手续费收入(一次性确认收入) + if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){ + sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')"; + // 收到手续费(按月分摊收入) + }else if("PZ2018071000000009".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO)){ + sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' "; + // 购入保险-直租/购入购置税-直租 + }else if("PZ2019082600000002".equals(VOUCHERNO) || "PZ2019082600000003".equals(VOUCHERNO)) { + sql+=" AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject')) "; + } + + List> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); + + CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); + String VOUCHER_TYPE="1";// 凭证分类 金蝶 + + for (int i=0;i0){ + MONEYNOTAX=dataList.get(i).get("MONEYNOTAX"); + MONEYTAX=dataList.get(i).get("MONEYTAX"); + ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE"); + FACT_DATE =dataList.get(i).get("FACT_DATE"); + CONTRACT_ID=dataList.get(i).get("CONTRACT_ID"); + CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER"); + PROJECT_NAME=dataList.get(i).get("PROJECT_NAME"); + leas_form=dataList.get(i).get("LEAS_FORM"); + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); + F_I_TYPE=dataList.get(i).get("F_I_TYPE"); + CUSTID=dataList.get(i).get("CUSTOMERID"); + CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); + REQNBR=dataList.get(i).get("REQNBR"); + + param.put("FACT_MONEY",MONEY); + param.put("INTERESTNOTAX",MONEYNOTAX); + param.put("TAX",MONEYTAX); + param.put("ACCOUNT_DATE",ACCOUNT_DATE); + param.put("FACT_DATE",FACT_DATE); + param.put("CONTRACT_ID",CONTRACT_ID); + param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); + param.put("PROJECT_NAME",PROJECT_NAME); + param.put("LEAS_FORM",leas_form); + param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); + param.put("F_I_TYPE",F_I_TYPE); + param.put("CUSTID",CUSTID); + param.put("CUSTNAME",CUSTNAME); + param.put("CUSTOMERTYPE",CUSTOMERTYPE); + param.put("BUSINESSTYPE",BUSINESSTYPE); + param.put("ACC_NUMBER",ACC_NUMBER); + param.put("REQNBR",REQNBR); + param.put("VOUCHERNO",VOUCHERNO); + // 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外 + BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false); + BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false); + + if(cust_list1 != null || cust_list2 !=null) {// 集团内 + param.put("CASHFLOW", "11212");// 现金流项目 + }else {// 集团外 + param.put("CASHFLOW", "11213");// 现金流项目 + } + param.put("BUSINESSTYPE", ""); + + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + + if(vouch!=null){ + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + } + }else { + PRODUCT_ID=dataList.get(i).get("PRODUCT_ID");// 产品编号 + // 判断购置税是否参融 + String FINAN1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PURCHASE_TAX","FINAN"); + // 判断保险费是否参融 + String FINAN2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "INSURANCE_PREMIUM","FINAN"); + // 判断手续费是否差额 + String isBalance1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "HANDLING_CHARGE_MONEY","isBalance"); + // 判断保证金是否差额 + String isBalance2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "CAUTION_MONEY","isBalance"); + // 判断首付款是否差额 + String isBalance3 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "FIRST_PAYMENT","isBalance"); + /** + * ---------------------------------------增加了对是否差额的判断------------------------------------------------------- + */ + // 判断首个人意外险是否差额 + String isBalance4 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PERSONAL_INSURANCE","isBalance"); + // 判断贴息是否差额 + String isBalance5 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "DISCOUNT_INTEREST","isBalance"); + /** + * -----------------------------------------修改结束-------------------------------------------------------------------- + */ + + MONEY=dataList.get(i).get("MONEY"); + if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)){ + MONEY=dataList.get(i).get("FIRST_ADD_FINANCING"); + }else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO)||"PZ2021032400000003".equals(VOUCHERNO)||"PZ2021032400000004".equals(VOUCHERNO)) { + // 如果手续费是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 + if("no".equals(isBalance1)) { + MONEY="0.00"; + } + }else if("PZ2018071000000004".equals(VOUCHERNO)) { + // 如果手续费是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 + if("no".equals(isBalance2)) { + MONEY="0.00"; + } + } + if("".equals(MONEY)||MONEY==null) MONEY="0.00"; + double mon=Double.parseDouble(MONEY); + if(mon>0){ + MONEYTAX=dataList.get(i).get("MONEYTAX"); + MONEYNOTAX=dataList.get(i).get("MONEYNOTAX"); + HANDLING_CHARGE_MONEY=dataList.get(i).get("HANDLING_CHARGE_MONEY"); + CAUTION_MONEY=dataList.get(i).get("CAUTION_MONEY"); + FINANCING_SUB_OTHERS=dataList.get(i).get("FINANCING_SUB_OTHERS"); + FIRST_ADD_HANDLING=dataList.get(i).get("FIRST_ADD_HANDLING"); + FIRST_NOTAX=dataList.get(i).get("FIRST_NOTAX"); + FIRST_TAX=dataList.get(i).get("FIRST_TAX"); + OTHERNOTAX=dataList.get(i).get("OTHERNOTAX"); + INSURANCE_PREMIUM_NOTAX=dataList.get(i).get("INSURANCE_PREMIUM_NOTAX"); + PURCHASE_TAX_NOTAX=dataList.get(i).get("PURCHASE_TAX_NOTAX"); + + /** + * ---------------------------------获取channl 判断合同是不是ZC----------------------------------------------- + */ + channl=dataList.get(i).get("CHANNEL"); + if(channl!=null&&!"".equals(channl)&&"ZC".equals(channl)&&"PZ2018070900000002".equals(VOUCHERNO)){ + PERSONAL_INSURANCE=dataList.get(i).get("PERSONAL_INSURANCE"); + DISCOUNT_INTEREST=dataList.get(i).get("DISCOUNT_INTEREST"); + } + /** + * ------------------------------------------修改结束------------------------------------------------------- + */ + + // 直租合同起租(深圳或者天津公司) + if("PZ2019070100000004".equals(VOUCHERNO)){ + // 如果不参融, 获取对应金额 + if("N".equals(FINAN1)){ + PURCHASE_TAX_NOTAX="0.00"; + } + if("N".equals(FINAN2)){ + INSURANCE_PREMIUM_NOTAX="0.00"; + } + // 直租购置融资租赁资产(深圳或者天津公司) + }else if("PZ2019070100000003".equals(VOUCHERNO)) { + // 贷1如果保证金不是差额放款,不应该-保证金, 所以加回来 + if("no".equals(isBalance2)) { + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+""; + CAUTION_MONEY="0.00"; + } + // 贷1如果首付款不是差额放款,不应该-首付款, 所以加回来 + if("no".equals(isBalance3)) { + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(FIRST_ADD_HANDLING)+""; + FIRST_ADD_HANDLING="0.00"; + } + // 直租购置融资租赁资产(子公司) + }else if("PZ2020081100000004".equals(VOUCHERNO)) { + // 借1和借2如果保证金不是差额放款,不应该减保证金, 所以加上 + if("no".equals(isBalance2)) { + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+""; + CAUTION_MONEY="0.00"; + } + // 借1和借2如果首付款不是差额放款,不应该加首付款, 所以减去 + if("no".equals(isBalance3)) { + MONEY=Double.parseDouble(MONEY)-Double.parseDouble(FIRST_NOTAX)+""; + MONEYTAX=Double.parseDouble(MONEYTAX)-Double.parseDouble(FIRST_TAX)+""; + FIRST_ADD_HANDLING="0.00"; + } + } + + // 购置融资租赁资产配置差额, 非差额 + if("PZ2018070900000002".equals(VOUCHERNO)){ + // 如果手续费是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 + if("no".equals(isBalance1)) { + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(HANDLING_CHARGE_MONEY)+""; + FIRST_ADD_HANDLING=Double.parseDouble(FIRST_ADD_HANDLING)-Double.parseDouble(HANDLING_CHARGE_MONEY)+""; + } + // 如果保证金是非差额放款, 购置融资租赁资产手续费取值为0,去除手续费 + if("no".equals(isBalance2)) { + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+""; + CAUTION_MONEY="0.00"; + } + + /** + * ----------------------------------------如果个人意外险和贴息是差额放款,那么银行那里给0,如果不是差额,银行那里要加------------------------------------------------ + */ + + + if("no".equals(isBalance4)) { + PERSONAL_INSURANCE="0.00"; + }else if("yes".equals(isBalance4)){ + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)-Double.parseDouble(PERSONAL_INSURANCE)+""; + } + + if("no".equals(isBalance5)) { + DISCOUNT_INTEREST="0.00"; + }else if("yes".equals(isBalance5)){ + FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)-Double.parseDouble(DISCOUNT_INTEREST)+""; + } + /** + * -----------------------------------------------修改结束----------------------------------------------------------------------------------- + */ + } + + GPS_FEE_FINANCE=dataList.get(i).get("GPS_FEE_FINANCE"); + INTEREST=dataList.get(i).get("INTEREST"); + FIRST_ADD_FINANCING=dataList.get(i).get("FIRST_ADD_FINANCING"); + INTEREST_ADD_HANDLING=dataList.get(i).get("INTEREST_ADD_HANDLING"); + ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE"); + FACT_DATE =dataList.get(i).get("FACT_DATE"); + CONTRACT_ID=dataList.get(i).get("CONTRACT_ID"); + CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER"); + PROJECT_NAME=dataList.get(i).get("PROJECT_NAME"); + leas_form=dataList.get(i).get("LEAS_FORM"); + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); + F_I_TYPE=dataList.get(i).get("F_I_TYPE"); + CUSTID=dataList.get(i).get("CUSTOMERID"); + CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); + REQNBR=dataList.get(i).get("REQNBR"); + PRODUCT_ID=dataList.get(i).get("PRODUCT_ID"); + TAX_NUM=dataList.get(i).get("TAX_NUM"); + // 通过税率获取编码 + BizObject TAX_CODES=null; + if(TAX_NUM!=null && !"".equals(TAX_NUM)) { + TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false); + } + + param.put("FACT_MONEY",MONEY); + param.put("INTERESTNOTAX",MONEYNOTAX); + param.put("TAX",MONEYTAX); + param.put("GPS_FEE_FINANCE",GPS_FEE_FINANCE); + param.put("CAUTION_MONEY",CAUTION_MONEY); + param.put("INTEREST",INTEREST); + param.put("PURCHASE_TAX",PURCHASE_TAX_NOTAX); + param.put("INSURANCE_PREMIUM",INSURANCE_PREMIUM_NOTAX); + param.put("FIRST_ADD_FINANCING",FIRST_ADD_FINANCING); + param.put("FINANCING_SUB_OTHERS",FINANCING_SUB_OTHERS); + param.put("FIRST_ADD_HANDLING",FIRST_ADD_HANDLING); + param.put("INTEREST_ADD_HANDLING",INTEREST_ADD_HANDLING); + param.put("OTHERNOTAX",OTHERNOTAX); + param.put("ACCOUNT_DATE",ACCOUNT_DATE); + param.put("FACT_DATE",FACT_DATE); + param.put("CONTRACT_ID",CONTRACT_ID); + param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); + param.put("PROJECT_NAME",PROJECT_NAME); + param.put("LEAS_FORM",leas_form); + param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); + param.put("F_I_TYPE",F_I_TYPE); + param.put("CUSTID",CUSTID); + param.put("CUSTNAME",CUSTNAME); + param.put("CUSTOMERTYPE",CUSTOMERTYPE); + param.put("BUSINESSTYPE",BUSINESSTYPE); + param.put("ACC_NUMBER",ACC_NUMBER); + param.put("REQNBR",REQNBR); + param.put("VOUCHERNO",VOUCHERNO); + + /** + * -----------------------------------如果是中车业务 并且是融资租赁资产的凭证-------------------------------------------------- + */ + if(channl!=null&&!"".equals(channl)&&"ZC".equals(channl)&&"PZ2018070900000002".equals(VOUCHERNO)){ + param.put("PERSONAL_INSURANCE",PERSONAL_INSURANCE); + param.put("DISCOUNT_INTEREST",DISCOUNT_INTEREST); + + } + /** + * ------------------------------------------修改结束------------------------------------------- + */ + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } + // 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外 + BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false); + BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false); + if("1".equals(BUSINESSTYPE)){ + if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){// 确认GPS收入 + param.put("CASHFLOW", "");// 现金流项目 + param.put("BUSINESSTYPE", "0601");// 主营类型 + }else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)||"PZ2021032400000003".equals(VOUCHERNO)){// 收取客户手续费 + param.put("CASHFLOW", "");// 现金流项目 + param.put("BUSINESSTYPE", "0604"); + }else if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2019070100000003".equals(VOUCHERNO)){// 购置融资租赁资产 + if(cust_list1 != null || cust_list2 !=null) {// 集团内 + param.put("CASHFLOW", "11212");// 现金流项目 + }else {// 集团外 + param.put("CASHFLOW", "11213");// 现金流项目 + } + param.put("BUSINESSTYPE", ""); + // 购置融资租赁资产-直租(分子公司) + }else if("PZ2020081100000004".equals(VOUCHERNO)) { + param.put("CASHFLOW", "11212");// 现金流项目 + }else { + param.put("CASHFLOW", "");// 现金流项目 + param.put("BUSINESSTYPE", "");// 主营类型 + } + } + + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + + if(vouch!=null){ + // 购入保险-直租 + if("PZ2019082600000002".equals(VOUCHERNO)){ + if("Y".equals(FINAN2)){ + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + // 购入购置税-直租 + }else if("PZ2019082600000003".equals(VOUCHERNO)){ + if("Y".equals(FINAN1)){ + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + // 收取首付款-直租 + }else if("PZ2019070100000002".equals(VOUCHERNO)) { + if("yes".equals(isBalance3)){ + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + // 收取客户保证金-直租 + }else if("PZ2020080500000001".equals(VOUCHERNO)) { + if("yes".equals(isBalance2)){ + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + }else{ + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + } + } + } + } + + if(Sqlca!=null){ + Sqlca.commit(); + } + + String sMessage="true"; + return sMessage; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java index 275d63dbf..6f27c998b 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java @@ -1,48 +1,51 @@ -package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; - -import com.amarsoft.awe.util.Transaction; -import com.tenwa.flow.baseBussion.BaseBussiness; -import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoanDistributor; -/** - * 起租相关凭证, 实际付款(汽车)流程结束后生成 - * @author xiezhiwen - */ -public class ContractOnhireVoucher extends BaseBussiness { - - public Object run(Transaction Sqlca) throws Exception { - this.initBussinessParam(Sqlca); - String FlowUnid=this.getAttribute("FlowUnid").toString(); - String userid = this.getAttribute("CurUserID").toString(); - - CreateVoucherLoanDistributor cvld=new CreateVoucherLoanDistributor(); - /** - * 回租 - */ - cvld.CreateVoucher(FlowUnid, "PZ2018073100000061",userid);// 确认GPS收入 --回租 - cvld.CreateVoucher(FlowUnid, "PZ2018070900000003",userid);// 收取首付款-回租 - cvld.CreateVoucher(FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-回租 - cvld.CreateVoucher(FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产-回--第一车贷 - cvld.CreateVoucher(FlowUnid, "PZ2018071000000005",userid);// 合同起租(一次性确认收入)-回租 - cvld.CreateVoucher(FlowUnid, "PZ2018071000000006",userid);// 合同起租(按月分摊收入)--回租 - cvld.CreateVoucher(FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租 - cvld.CreateVoucher(FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费(一次性确认收入)--回租 - cvld.CreateVoucher(FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费(按月分摊收入)--回租 - - /** - * 直租 - */ - cvld.CreateVoucher(FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租 - cvld.CreateVoucher(FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租 - cvld.CreateVoucher(FlowUnid, "PZ2020080500000001",userid);// 收取客户保证金-直租 - cvld.CreateVoucher(FlowUnid, "PZ2019082600000002",userid);// 购入保险-直租 - cvld.CreateVoucher(FlowUnid, "PZ2019082600000003",userid);// 购入购置税-直租 - cvld.CreateVoucher(FlowUnid, "PZ2020041000000002",userid);// 加装及杂费-直租 - cvld.CreateVoucher(FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租(深圳或者天津公司) - cvld.CreateVoucher(FlowUnid, "PZ2020081100000004",userid);// 购置融资租赁资产-直租(分子公司) - cvld.CreateVoucher(FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租(车牌挂在天津或者深圳公司下) - cvld.CreateVoucher(FlowUnid, "PZ2020081100000005",userid);// 合同起租-直租(车牌挂在分子公司下) - cvld.CreateVoucher(FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费(一次性确认收入)--直租 - cvld.CreateVoucher(FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费(按月分摊收入)--直租 - return "true"; - } -} +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; + +import com.amarsoft.awe.util.Transaction; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoanDistributor; +/** + * 起租相关凭证, 实际付款(汽车)流程结束后生成 + * @author xiezhiwen + */ +public class ContractOnhireVoucher extends BaseBussiness { + + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + String FlowUnid=this.getAttribute("FlowUnid").toString(); + String userid = this.getAttribute("CurUserID").toString(); + + CreateVoucherLoanDistributor cvld=new CreateVoucherLoanDistributor(); + /** + * 回租 + */ + cvld.CreateVoucher(FlowUnid, "PZ2018073100000061",userid);// 确认GPS收入 --回租 + cvld.CreateVoucher(FlowUnid, "PZ2018070900000003",userid);// 收取首付款-回租 + cvld.CreateVoucher(FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-回租 + cvld.CreateVoucher(FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产-回--第一车贷 + cvld.CreateVoucher(FlowUnid, "PZ2018071000000005",userid);// 合同起租(一次性确认收入)-回租 + cvld.CreateVoucher(FlowUnid, "PZ2018071000000006",userid);// 合同起租(按月分摊收入)--回租 + cvld.CreateVoucher(FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租 + cvld.CreateVoucher(FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费(一次性确认收入)--回租 + cvld.CreateVoucher(FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费(按月分摊收入)--回租 + + cvld.CreateVoucher(FlowUnid, "PZ2021032400000003",userid);// 起租-收到个人意外险金额--回租 + cvld.CreateVoucher(FlowUnid, "PZ2021032400000004",userid);// 起租-收到贴息--回租 + + /** + * 直租 + */ + cvld.CreateVoucher(FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租 + cvld.CreateVoucher(FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租 + cvld.CreateVoucher(FlowUnid, "PZ2020080500000001",userid);// 收取客户保证金-直租 + cvld.CreateVoucher(FlowUnid, "PZ2019082600000002",userid);// 购入保险-直租 + cvld.CreateVoucher(FlowUnid, "PZ2019082600000003",userid);// 购入购置税-直租 + cvld.CreateVoucher(FlowUnid, "PZ2020041000000002",userid);// 加装及杂费-直租 + cvld.CreateVoucher(FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租(深圳或者天津公司) + cvld.CreateVoucher(FlowUnid, "PZ2020081100000004",userid);// 购置融资租赁资产-直租(分子公司) + cvld.CreateVoucher(FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租(车牌挂在天津或者深圳公司下) + cvld.CreateVoucher(FlowUnid, "PZ2020081100000005",userid);// 合同起租-直租(车牌挂在分子公司下) + cvld.CreateVoucher(FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费(一次性确认收入)--直租 + cvld.CreateVoucher(FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费(按月分摊收入)--直租 + return "true"; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java index 1bed22a78..bcd3b16b3 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java @@ -1,65 +1,68 @@ -package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; - -import com.amarsoft.awe.util.Transaction; -import com.tenwa.flow.baseBussion.BaseBussiness; -import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome; -import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney; -import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedCompensatory; -import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome; -/** - * 网银收款流程结束后生成相应的凭证 - * @author xiezhiwen - */ -public class IncomeVoucher extends BaseBussiness { - - @Override - public Object run(Transaction Sqlca) throws Exception { - this.initBussinessParam(Sqlca); - String FlowUnid=this.getAttribute("FlowUnid").toString(); - String userid = this.getAttribute("CurUserID").toString(); - - /** - * 汽车网银回款-资金部分 - */ - CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome(); - // 汽车回租 - cvci.CreateVoucher(FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租 - cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --回租 - cvci.CreateVoucher(FlowUnid, "PZ2019121600000162", "feetype2",userid); //回款-收到客户保证金 --回租 - cvci.CreateVoucher(FlowUnid, "PZ2019121600000163", "feetype1",userid); //回款-收到客户手续费(一次性)--回租 - cvci.CreateVoucher(FlowUnid, "PZ2019121700000164", "feetype1",userid); //回款-收到客户手续费(按月) --回租 - - // 汽车直租 - cvci.CreateVoucher(FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --回租 - cvci.CreateVoucher(FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价--直租 - cvci.CreateVoucher(FlowUnid, "PZ2020041000000003", "feetype2",userid); //直租-收到客户保证金 - cvci.CreateVoucher(FlowUnid, "PZ2020080400000003", "feetype5",userid); //直租-收到客户首付款 - - /** - * 汽车网银回款-租金部分 - */ - CreateVoucherRentIncome cvri=new CreateVoucherRentIncome(); - // 汽车回租 - cvri.CreateVoucher(FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租) - cvri.CreateVoucher(FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租) - cvri.CreateVoucher(FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租) - - // 汽车直租 - cvri.CreateVoucher(FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租) - cvri.CreateVoucher(FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租) - cvri.CreateVoucher(FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租) - - /** - * 代偿反冲 - */ - CreateVoucherRedCompensatory cvrcs = new CreateVoucherRedCompensatory(); - cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000030",userid,Sqlca);//代偿租金 - cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000031",userid,Sqlca);//代偿逾期利息 - - CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney(); - cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解 - - return "true"; - } - -} +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; + +import com.amarsoft.awe.util.Transaction; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedCompensatory; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome; +/** + * 网银收款流程结束后生成相应的凭证 + * @author xiezhiwen + */ +public class IncomeVoucher extends BaseBussiness { + + @Override + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + String FlowUnid=this.getAttribute("FlowUnid").toString(); + String userid = this.getAttribute("CurUserID").toString(); + + /** + * 汽车网银回款-资金部分 + */ + CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome(); + // 汽车回租 + cvci.CreateVoucher(FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租 + cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --回租 + cvci.CreateVoucher(FlowUnid, "PZ2019121600000162", "feetype2",userid); //回款-收到客户保证金 --回租 + cvci.CreateVoucher(FlowUnid, "PZ2019121600000163", "feetype1",userid); //回款-收到客户手续费(一次性)--回租 + cvci.CreateVoucher(FlowUnid, "PZ2019121700000164", "feetype1",userid); //回款-收到客户手续费(按月) --回租 + + cvci.CreateVoucher(FlowUnid, "PZ2021032400000006", "feetype32",userid); //回款-收到个人意外险(网银来款)--回租 + cvci.CreateVoucher(FlowUnid, "PZ2021032400000005", "feetype33",userid); //回款-收到客户贴息 --回租 + + // 汽车直租 + cvci.CreateVoucher(FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --回租 + cvci.CreateVoucher(FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价--直租 + cvci.CreateVoucher(FlowUnid, "PZ2020041000000003", "feetype2",userid); //直租-收到客户保证金 + cvci.CreateVoucher(FlowUnid, "PZ2020080400000003", "feetype5",userid); //直租-收到客户首付款 + + /** + * 汽车网银回款-租金部分 + */ + CreateVoucherRentIncome cvri=new CreateVoucherRentIncome(); + // 汽车回租 + cvri.CreateVoucher(FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租) + cvri.CreateVoucher(FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租) + cvri.CreateVoucher(FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租) + + // 汽车直租 + cvri.CreateVoucher(FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租) + cvri.CreateVoucher(FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租) + cvri.CreateVoucher(FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租) + + /** + * 代偿反冲 + */ + CreateVoucherRedCompensatory cvrcs = new CreateVoucherRedCompensatory(); + cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000030",userid,Sqlca);//代偿租金 + cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000031",userid,Sqlca);//代偿逾期利息 + + CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney(); + cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解 + + return "true"; + } + +} diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index cce526ed7..7e246e55b 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -423,7 +423,7 @@ public class CreateVoucherServiceImpl { }else if("PZ2018081700000134".equals(VOUCHERNO) || "PZ2018081700000138".equals(VOUCHERNO) || "PZ2018072100000047".equals(VOUCHERNO) || "PZ2018081700000132".equals(VOUCHERNO) || "PZ2018081700000130".equals(VOUCHERNO) || "PZ2018081700000128".equals(VOUCHERNO) || "PZ2018072100000034".equals(VOUCHERNO) || "PZ2020080400000003".equals(VOUCHERNO)){ subData.put("CUSTID","APZL00000000DC");//虚拟客户 subData.put("CUSTNAME","汽车C端待查客户");//虚拟客户 - }else if("PZ2018072100000039".equals(VOUCHERNO) || "PZ2019070100000021".equals(VOUCHERNO) || "PZ2018072100000043".equals(VOUCHERNO) || "PZ2019070100000025".equals(VOUCHERNO) || "PZ2019121600000162".equals(VOUCHERNO) || "PZ2019121600000163".equals(VOUCHERNO) || "PZ2019121700000164".equals(VOUCHERNO)) { + }else if("PZ2018072100000039".equals(VOUCHERNO) || "PZ2019070100000021".equals(VOUCHERNO) || "PZ2018072100000043".equals(VOUCHERNO) || "PZ2019070100000025".equals(VOUCHERNO) || "PZ2019121600000162".equals(VOUCHERNO) || "PZ2019121600000163".equals(VOUCHERNO) || "PZ2019121700000164".equals(VOUCHERNO)||"PZ2021032400000005".equals(VOUCHERNO)||"PZ2021032400000006".equals(VOUCHERNO)) { subData.put("CUSTID","APZL00000000DC");//虚拟客户 subData.put("CUSTNAME","汽车C端待查客户");//虚拟客户 // 起租前网银回款 diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java index c1e9fcc12..91fcb6774 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java @@ -609,4 +609,12 @@ public interface LC_CALC_CONDITION{ * 是否灵活分润
*/ public static final String SPLIT_TYPE = "SPLIT_TYPE"; + /** + * 个人意外险
+ */ + public static final String PERSONAL_INSURANCE = "PERSONAL_INSURANCE"; + /** + * 贴息
+ */ + public static final String DISCOUNT_INTEREST = "DISCOUNT_INTEREST"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java index ac84e3501..98a642391 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java @@ -609,4 +609,12 @@ public interface LC_CALC_CONDITION_HIS{ * 是否灵活分润
*/ public static final String SPLIT_TYPE = "SPLIT_TYPE"; + /** + * 个人意外险
+ */ + public static final String PERSONAL_INSURANCE = "PERSONAL_INSURANCE"; + /** + * 贴息
+ */ + public static final String DISCOUNT_INTEREST = "DISCOUNT_INTEREST"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java index 08e43d07f..c1a894f8e 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java @@ -609,4 +609,12 @@ public interface LC_CALC_CONDITION_TEMP{ * 是否灵活分润
*/ public static final String SPLIT_TYPE = "SPLIT_TYPE"; + /** + * 个人意外险
+ */ + public static final String PERSONAL_INSURANCE = "PERSONAL_INSURANCE"; + /** + * 贴息
+ */ + public static final String DISCOUNT_INTEREST = "DISCOUNT_INTEREST"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java b/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java index 74dd4b010..40f0afd3f 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java @@ -613,4 +613,12 @@ public interface LC_CONTRACT_CONDITION{ * 是否灵活分润
*/ public static final String SPLIT_TYPE = "SPLIT_TYPE"; + /** + * 个人意外险
+ */ + public static final String PERSONAL_INSURANCE = "PERSONAL_INSURANCE"; + /** + * 贴息
+ */ + public static final String DISCOUNT_INTEREST = "DISCOUNT_INTEREST"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java b/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java index 5ef383a24..c19e9e23e 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java @@ -613,4 +613,12 @@ public interface LC_PROJ_CONDITION{ * 是否灵活分润
*/ public static final String SPLIT_TYPE = "SPLIT_TYPE"; + /** + * 个人意外险
+ */ + public static final String PERSONAL_INSURANCE = "PERSONAL_INSURANCE"; + /** + * 贴息
+ */ + public static final String DISCOUNT_INTEREST = "DISCOUNT_INTEREST"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO.java b/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO.java index 247fdbf6e..55fb1ff49 100644 --- a/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO.java +++ b/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO.java @@ -329,4 +329,16 @@ public interface LB_CONTRACT_INFO{ * 主体名称 STRING(100)
*/ public static final String SUBJECTNAME = "SUBJECTNAME"; + /** + * 渠道 STRING(32)
+ */ + public static final String CHANNEL = "CHANNEL"; + /** + * 中车申请号 STRING(32)
+ */ + public static final String ZC_PROJECT_NUMBER = "ZC_PROJECT_NUMBER"; + /** + * 中车合同号 STRING(32)
+ */ + public static final String ZC_CONTRACT_NUMBER = "ZC_CONTRACT_NUMBER"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_HIS.java b/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_HIS.java index dc51b048f..b8998ed78 100644 --- a/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_HIS.java +++ b/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_HIS.java @@ -317,4 +317,16 @@ public interface LB_CONTRACT_INFO_HIS{ * 主体名称 STRING(100)
*/ public static final String SUBJECTNAME = "SUBJECTNAME"; + /** + * 渠道 STRING(32)
+ */ + public static final String CHANNEL = "CHANNEL"; + /** + * 中车申请号 STRING(32)
+ */ + public static final String ZC_PROJECT_NUMBER = "ZC_PROJECT_NUMBER"; + /** + * 中车合同号 STRING(32)
+ */ + public static final String ZC_CONTRACT_NUMBER = "ZC_CONTRACT_NUMBER"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_TEMP.java b/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_TEMP.java index 0dbf1b414..1bcb44c02 100644 --- a/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_TEMP.java +++ b/src_jbo/jbo/com/tenwa/lease/comm/LB_CONTRACT_INFO_TEMP.java @@ -321,4 +321,16 @@ public interface LB_CONTRACT_INFO_TEMP{ * 主体名称 STRING(100)
*/ public static final String SUBJECTNAME = "SUBJECTNAME"; + /** + * 渠道 STRING(32)
+ */ + public static final String CHANNEL = "CHANNEL"; + /** + * 中车申请号 STRING(32)
+ */ + public static final String ZC_PROJECT_NUMBER = "ZC_PROJECT_NUMBER"; + /** + * 中车合同号 STRING(32)
+ */ + public static final String ZC_CONTRACT_NUMBER = "ZC_CONTRACT_NUMBER"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO.java b/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO.java index d6c567218..54d0297fd 100644 --- a/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO.java +++ b/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO.java @@ -253,4 +253,16 @@ public interface LB_PROJECT_INFO{ * 主体名称 STRING(100)
*/ public static final String SUBJECTNAME = "SUBJECTNAME"; + /** + * 渠道 STRING(32)
+ */ + public static final String CHANNEL = "CHANNEL"; + /** + * 中车申请号 STRING(32)
+ */ + public static final String ZC_PROJECT_NUMBER = "ZC_PROJECT_NUMBER"; + /** + * 中车合同号 STRING(32)
+ */ + public static final String ZC_CONTRACT_NUMBER = "ZC_CONTRACT_NUMBER"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO_TEMP.java b/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO_TEMP.java index 8f1549bf9..729e815a0 100644 --- a/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO_TEMP.java +++ b/src_jbo/jbo/com/tenwa/lease/comm/LB_PROJECT_INFO_TEMP.java @@ -253,4 +253,16 @@ public interface LB_PROJECT_INFO_TEMP{ * 主体名称 STRING(100)
*/ public static final String SUBJECTNAME = "SUBJECTNAME"; + /** + * 渠道 STRING(32)
+ */ + public static final String CHANNEL = "CHANNEL"; + /** + * 中车申请号 STRING(32)
+ */ + public static final String ZC_PROJECT_NUMBER = "ZC_PROJECT_NUMBER"; + /** + * 中车合同号 STRING(32)
+ */ + public static final String ZC_CONTRACT_NUMBER = "ZC_CONTRACT_NUMBER"; } \ No newline at end of file diff --git a/src_sql/棰勬姇SQL/v20210415/tft20210415.sql b/src_sql/棰勬姇SQL/v20210415/tft20210415.sql new file mode 100644 index 000000000..fa7f38297 --- /dev/null +++ b/src_sql/棰勬姇SQL/v20210415/tft20210415.sql @@ -0,0 +1,47 @@ +-- 修改经销选择所属渠道可以选择中车的(更新生产需要改成对应的distributor_no) +delete from SELECT_CATALOG where selname='SelectCompanyNew'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectCompanyNew','Sql','经销商子分属公司-新','distributor_info','','Grid','','distributor_no','select distributor_name,distributor_no from distributor_info where F_I_TYPE=''f_i_type03'' or distributor_no=''DSTB20210319006682''','渠道商名称,渠道商编码','distributor_name@style={width:500px}','distributor_name@distributor_no','distributor_name','1','Single','distributor_name@1','distributor_name@String','','','','SYS_Designer','','2020/11/04 15:35:18','SYS_Designer','2021/03/19 18:08:26',''); +-- 添加表对应的字段 +Alter table lb_project_info add column CHANNEL varchar(32) NULL COMMENT '渠道' after SUBJECTNAME, add column ZC_PROJECT_NUMBER varchar(32) NULL COMMENT '中车申请号' after CHANNEL, add column ZC_CONTRACT_NUMBER varchar(32) NULL COMMENT '中车合同号' after ZC_PROJECT_NUMBER; +Alter table lb_project_info_temp add column CHANNEL varchar(32) NULL COMMENT '渠道' after SUBJECTNAME, add column ZC_PROJECT_NUMBER varchar(32) NULL COMMENT '中车申请号' after CHANNEL, add column ZC_CONTRACT_NUMBER varchar(32) NULL COMMENT '中车合同号' after ZC_PROJECT_NUMBER; +Alter table lb_contract_info add column CHANNEL varchar(32) NULL COMMENT '渠道' after SUBJECTNAME, add column ZC_PROJECT_NUMBER varchar(32) NULL COMMENT '中车申请号' after CHANNEL, add column ZC_CONTRACT_NUMBER varchar(32) NULL COMMENT '中车合同号' after ZC_PROJECT_NUMBER; +Alter table lb_contract_info_temp add column CHANNEL varchar(32) NULL COMMENT '渠道' after SUBJECTNAME, add column ZC_PROJECT_NUMBER varchar(32) NULL COMMENT '中车申请号' after CHANNEL, add column ZC_CONTRACT_NUMBER varchar(32) NULL COMMENT '中车合同号' after ZC_PROJECT_NUMBER; +Alter table lb_contract_info_his add column CHANNEL varchar(32) NULL COMMENT '渠道' after SUBJECTNAME, add column ZC_PROJECT_NUMBER varchar(32) NULL COMMENT '中车申请号' after CHANNEL, add column ZC_CONTRACT_NUMBER varchar(32) NULL COMMENT '中车合同号' after ZC_PROJECT_NUMBER; +-- 业务申请详情页面添加中车申请号和中车合同编号 +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 ('BusinessProjectTempInfo','0074','0074','1','O','ZC_PROJECT_NUMBER','ZC_PROJECT_NUMBER','String','','中车申请号','','1','Text','1','1','','','','32','0','0','0','1','0',0,'','0010','','SYS_Designer','2021/03/20 14:48:55','SYS_Designer','2021/03/20 15:01:12','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 ('BusinessProjectTempInfo','0078','0078','1','O','ZC_CONTRACT_NUMBER','ZC_CONTRACT_NUMBER','String','','中车合同号','','1','Text','1','1','','','','32','0','0','0','1','0',0,'','0010','','SYS_Designer','2021/03/20 14:48:55','SYS_Designer','2021/03/20 15:01:12','0','','1','','','',''); +-- 添加扣款卡页面选择账户名称的模糊搜索 +delete from SELECT_CATALOG where selname='selectAccountByCusts'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('selectAccountByCusts','Sql','业务申请用扣款卡用户选择','','','Grid','String flowunid','custtype','select certid,FULLNAME as name,MOBILE as phone,''assuror'' as custtype,''担保人'' as typename from LB_GUARANTEE_UNIT_TEMP where flowunid=''#flowunid'' and CERTTYPE=''Ind01'' and case when ''01''=''#customerType'' then 1=1 else 1=2 end union select certid,name,tel as phone,''unionlessee'' as custtype,''共同申请人'' as typename from CUSTOMER_FAMILY_TEMP where flowunid=''#flowunid'' and Partner_=''Y'' union select certid,fullname as name,mobile as phone,''lessee'' as custtype,''承租人'' as typename from customer_person_temp where flowunid=''#flowunid''','证件号,姓名,手机号,code,客户类型','','certid@name@custtype@phone','name','1','Single','','','','','','SYS_Designer','','2018/08/07 17:58:13','SYS_Designer','2021/03/20 17:29:52',''); +delete from SELECT_CATALOG where selname='selectAccountForChange'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('selectAccountForChange','Sql','扣款卡变更用扣款卡用户名选择','','','Grid','String ProjectId,String CustomerId','custtype','select certid,FULLNAME as name,MOBILE as phone,''assuror'' as custtype,''担保人'' as typename from LB_GUARANTEE_UNIT where project_id=''#ProjectId'' and CERTTYPE=''Ind01'' and case when ''01''=''#customerType'' then 1=1 else 1=2 end union select certid,name,tel as phone,''unionlessee'' as custtype,''共同申请人'' as typename from CUSTOMER_FAMILY where project_id=''#ProjectId'' AND Partner_=''Y'' union select certid,fullname as name,mobile as phone,''lessee'' as custtype,''承租人'' as typename from customer_person where customerid=''#CustomerId''','证件号,姓名,手机号,客户类型,客户类型','','certid@name@custtype@phone','name','1','Single','','','','','','SYS_Designer','','2018/08/07 18:29:37','SYS_Designer','2021/03/20 17:38:01',''); + +-- 业务变更选择项目时添加渠道的返回值 +delete from SELECT_CATALOG where selname='selectBusinessRecreditProject'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('selectBusinessRecreditProject','Sql','查询汽车业务复议项目','','','Grid','String userid','id,product_id,project_name,customertype,car_type,leas_form,operationType,certtype,custkind,subjectid,subjectname,channel','SELECT lpi.id,lpi.product_id,lpi.project_no,lpi.project_name,ci.customername,getItemName(''CertType'',ci.certtype) certtype,ci.certid,getItemName(''cust_kind'',lpi.project_industry) as custkind,getUserName(project_manage) as project_manage_name,getOrgName(lpi.project_dept) project_dept,lcs.status_name,ci.customertype,lpi.car_type,lpi.leas_form,psl.operationType,ci.certtype,lpi.subjectid,lpi.subjectname,lpi.channel FROM LB_PROJECT_INFO lpi left join lb_contract_status lcs on lpi.project_status=lcs.status_code LEFT JOIN LB_UNION_LESSEE lult on lpi.id=lult.project_id and lult.is_main=''y'' and( lult.contract_id is null or lult.contract_id='''') LEFT JOIN CUSTOMER_INFO ci on lult.customer_id=ci.customerid left join PRD_SPECIFIC_LIBRARY psl on psl.productid=lpi.product_id where lpi.project_status=''13'' and (SELECT COUNT(id) FROM lb_contract_info_temp WHERE project_id=lpi.ID)=0 and lpi.businesstype=''1'' {lpi,proj} and lpi.project_manage=''#userid'' order by lpi.project_no desc','id,产品编号,申请编号,项目名称,客户名称,证件类别,证件号码,内部行业,项目经理,出单部门,项目状态,客户类型,车辆车型,租赁方式,主体id,主体名称,渠道','','id@product_id@project_no@project_name@customertype@car_type@leas_form@operationType@certtype@subjectid@subjectname@channel','project_no,customername,project_name,certid','1','Single','','','','','','SYS_Designer','','2018/01/31 16:24:16','SYS_Designer','2021/03/21 11:03:32',''); + +-- 合同制作选择项目时添加渠道的返回值 +delete from SELECT_CATALOG where selname='SelectProjectForContract_Car'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectProjectForContract_Car','Sql','合同制作时项目查询-汽车业务','','','Grid','String userid,String businessType','id,product_id,customertype,leas_form,CAR_TYPE,IS_NETCAR,operationType,signType,sealType,subjectid,subjectname,channel','SELECT lpi.id, lpi.product_id, lpi.project_no, lpi.project_name, ci.customername, getItemName (''CertType'', ci.certtype) certtype, ci.certid, getUserName (lpi.project_manage) AS project_manage, getOrgLevelName (lpi.project_dept) project_dept, ci.customertype,lpi.leas_form,lpi.CAR_TYPE,lpi.IS_NETCAR,psl.operationType,psl.signType,psl.sealType,lpi.subjectid,lpi.subjectname,lpi.channel FROM LB_PROJECT_INFO lpi LEFT JOIN LC_PROJ_CONDITION lpc ON lpi.id=lpc.project_id LEFT JOIN LB_CONTRACT_INFO lci ON lpi.id=lci.project_id LEFT JOIN LC_CONTRACT_CONDITION lcc ON lci.id=lcc.contract_id LEFT JOIN LB_UNION_LESSEE lult ON lpi.id = lult.project_id AND (lult.contract_id = '''' OR lult.contract_id IS NULL) LEFT JOIN CUSTOMER_INFO ci ON lult.customer_id = ci.customerid LEFT JOIN PRD_SPECIFIC_LIBRARY psl ON psl.productid=lpi.product_id WHERE lult.is_main = ''y'' AND lpi.project_status = ''13'' AND((lci.contract_status = ''21'' AND lpc.equip_amt>lcc.equip_amt) OR ((lult.CONTRACT_ID="" OR lult.CONTRACT_ID IS NULL)AND (SELECT COUNT(*) FROM lb_contract_info WHERE project_id=lpi.id)=0)) and lpi.PROJECT_MANAGE=''#userid'' and lpi.businesstype=''#businessType'' ORDER BY lpi.END_DATE desc','id,产品编号,申请编号,业务名称,客户名称,证件类别,证件号码,业务经理,经销商渠道/名称,业务类型,租赁方式,汽车类型,是否网约车,所属渠道,签约方式,盖章方式,主体ID,主体名称,渠道','project_name@style={width:350px;}','id@product_id@project_no@project_name@customertype@leas_form@CAR_TYPE@IS_NETCAR@operationType@signType@sealType@subjectid@subjectname@channel','project_no,project_name,customername,certid','1','Single','','','','','project_no@ @ @EqualsString,Contains@customername@ @ @EqualsString,Contains@project_name@ @ @EqualsString,Contains@certid@ @ @EqualsString,Contains','SYS_Designer','','2018/03/08 14:37:12','SYS_Designer','2021/03/21 13:40:44',''); +delete from SELECT_CATALOG where selname='SelectProjectForContract_Car_KE'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectProjectForContract_Car_KE','Sql','合同制作时项目查询-汽车业务-卡尔','','','Grid','String orgid,String businessType','id,product_id,customertype,leas_form,CAR_TYPE,IS_NETCAR,operationType,signType,sealType,subjectid,subjectname,channel','SELECT lpi.id, lpi.product_id, lpi.project_no, lpi.project_name, ci.customername, getItemName (''CertType'', ci.certtype) certtype, ci.certid, getUserName (lpi.project_manage) AS project_manage, getOrgLevelName (lpi.project_dept) project_dept, ci.customertype,lpi.leas_form,lpi.CAR_TYPE,lpi.IS_NETCAR,psl.operationType,psl.signType,psl.sealType,lpi.subjectid,lpi.subjectname,lpi.channel FROM LB_PROJECT_INFO lpi LEFT JOIN LC_PROJ_CONDITION lpc ON lpi.id=lpc.project_id LEFT JOIN LB_CONTRACT_INFO lci ON lpi.id=lci.project_id LEFT JOIN LC_CONTRACT_CONDITION lcc ON lci.id=lcc.contract_id LEFT JOIN LB_UNION_LESSEE lult ON lpi.id = lult.project_id AND (lult.contract_id = '''' OR lult.contract_id IS NULL) LEFT JOIN CUSTOMER_INFO ci ON lult.customer_id = ci.customerid LEFT JOIN PRD_SPECIFIC_LIBRARY psl ON psl.productid=lpi.product_id WHERE lult.is_main = ''y'' AND lpi.project_status = ''13'' AND((lci.contract_status = ''21'' AND lpc.equip_amt>lcc.equip_amt) OR ((lult.CONTRACT_ID="" OR lult.CONTRACT_ID IS NULL)AND (SELECT COUNT(*) FROM lb_contract_info WHERE project_id=lpi.id)=0)) AND lpi.INPUTORGID=''#orgid'' and lpi.businesstype=''#businessType'' ORDER BY lpi.END_DATE desc','id,产品编号,申请编号,业务名称,客户名称,证件类别,证件号码,业务经理,经销商渠道/名称,业务类型,租赁方式,汽车类型,是否网约车,所属渠道,签约方式,盖章方式,主体id,主体名称,渠道','project_name@style={width:350px;}','id@product_id@project_no@project_name@customertype@leas_form@CAR_TYPE@IS_NETCAR@operationType@signType@sealType@subjectid@subjectname@channel','project_no,project_name,customername,certid','1','Single','','','','','project_no@ @ @EqualsString,Contains@customername@ @ @EqualsString,Contains@project_name@ @ @EqualsString,Contains@certid@ @ @EqualsString,Contains','SYS_Designer','','2019/05/16 14:25:34','SYS_Designer','2021/03/21 13:41:28',''); +-- 合同制作详情页面添加中车编号和中车合同号 +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 ('LBContractPersonBaseInfoTemp','1054','1054','1','lpi','ZC_PROJECT_NUMBER','ZC_PROJECT_NUMBER','String','','中车申请号','','1','Text','1','1','','','','32','0','1','0','1','0',0,'','0010','','SYS_Designer','2021/03/21 14:01:30','SYS_Designer','2021/03/21 14:08:06','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 ('LBContractPersonBaseInfoTemp','1058','1058','1','lpi','ZC_CONTRACT_NUMBER','ZC_CONTRACT_NUMBER','String','','中车合同号','','1','Text','1','1','','','','32','0','1','0','1','0',0,'','0010','','SYS_Designer','2021/03/21 14:01:30','SYS_Designer','2021/03/21 14:08:06','0','','1','','','',''); + +-- 合同变更选择项目时添加渠道的返回值 +delete from SELECT_CATALOG where selname='SelectContractCar'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectContractCar','Sql','合同查询(汽车业务)','','','Grid','','id,project_id,product_id,contract_no,custkind,customertype,leas_form,CAR_TYPE,IS_NETCAR,operationType,sealType,signType,subjectid,subjectname,channel','SELECT lci.id,lult.project_id ,lci.product_id,lci.contract_no,lci.contract_number,lci.project_name,ci.customername,getItemName(''CertType'',ci.certtype) certtype,ci.certid,getItemName(''cust_kind'',lci.project_industry) as custkind,getUserName(lci.project_manage) as project_manage,getOrgLevelName(lci.project_dept) project_dept,ci.customertype,lci.leas_form,lpi.CAR_TYPE,lpi.IS_NETCAR,psl.operationType,psl.sealType,psl.signType,lci.subjectid,lci.subjectname,lci.channel FROM LB_CONTRACT_INFO lci LEFT JOIN LB_PROJECT_INFO lpi ON lpi.id = lci.project_id LEFT JOIN LB_UNION_LESSEE lult on lci.id=lult.contract_id LEFT JOIN CUSTOMER_INFO ci on lult.customer_id=ci.customerid LEFT JOIN PRD_SPECIFIC_LIBRARY psl ON psl.productid = lpi.product_id where lult.is_main=''y'' and lci.businesstype=''1'' and not EXISTS (select 1 from LC_CALC_CONDITION_STATUS ccs where ccs.contract_id=lci.id) and contract_status=''21'' and lci.inputuserid=''#userid'' {lci,contract} order by lci.contract_number desc','合同id,项目id,产品编号,合同编号,业务合同编号,项目名称,客户名称,证件类别,证件号码,内部行业,业务经理,经销商渠道/名称,客户类型,租赁方式,新车二手车,是否是网约车,产品类型,盖章模式,签约模式,主体id,主体名称,渠道','project_name@style={width:350px;}','id@project_id@product_id@contract_number@project_name@customername@customertype@leas_form@CAR_TYPE@IS_NETCAR@operationType@sealType@signType@subjectid@subjectname@channel','project_name,customername,contract_number,certid','1','Single','','','','','','SYS_Designer','','2018/02/01 16:04:28','SYS_Designer','2021/03/21 14:20:53',''); +delete from SELECT_CATALOG where selname='SelectContractCar_KE'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectContractCar_KE','Sql','合同查询(汽车业务)--卡尔','','','Grid','String orgid','id,project_id,product_id,contract_no,custkind,customertype,leas_form,CAR_TYPE,IS_NETCAR,operationType,sealType,signType,subjectid,subjectname,channel','SELECT lci.id,lult.project_id ,lci.product_id,lci.contract_no,lci.contract_number,lci.project_name,ci.customername,getItemName(''CertType'',ci.certtype) certtype,ci.certid,getItemName(''cust_kind'',lci.project_industry) as custkind,getUserName(lci.project_manage) as project_manage,getOrgLevelName(lci.project_dept) project_dept,ci.customertype,lci.leas_form,lpi.CAR_TYPE,lpi.IS_NETCAR,psl.operationType,psl.sealType,psl.signType,lci.subjectid,lci.subjectname,lci.channel FROM LB_CONTRACT_INFO lci LEFT JOIN LB_PROJECT_INFO lpi ON lpi.id = lci.project_id LEFT JOIN LB_UNION_LESSEE lult on lci.id=lult.contract_id LEFT JOIN CUSTOMER_INFO ci on lult.customer_id=ci.customerid LEFT JOIN PRD_SPECIFIC_LIBRARY psl ON psl.productid = lpi.product_id where lult.is_main=''y'' and lci.businesstype=''1'' and not EXISTS (select 1 from LC_CALC_CONDITION_STATUS ccs where ccs.contract_id=lci.id) and contract_status=''21'' and lci.inputorgid=''#orgid'' order by lci.contract_number desc','合同id,项目id,产品编号,合同编号,业务合同编号,项目名称,客户名称,证件类别,证件号码,内部行业,业务经理,经销商渠道/名称,客户类型,租赁方式,新车二手车,是否是网约车,产品类型,盖章模式,签约模式,主体id,主体名称,渠道','project_name@style={width:350px;}','id@project_id@product_id@contract_number@project_name@customername@customertype@leas_form@CAR_TYPE@IS_NETCAR@operationType@sealType@signType@subjectid@subjectname@channel','project_name,customername','1','Single','','','','','','SYS_Designer','','2019/05/16 14:31:20','SYS_Designer','2021/03/21 14:21:45',''); +-- 合同撤销选择项目时添加渠道的返回值 +delete from SELECT_CATALOG where selname='SelectContract_Car'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectContract_Car','Sql','合同撤销选择框(汽车)','','','Grid','String userid','id,project_id,product_id,contract_no,customertype,car_type,leas_form,channel','SELECT lci.id,lult.project_id ,lci.product_id,lci.contract_no,lci.contract_number,lci.project_name,ci.customername,getItemName(''CertType'',ci.certtype) certtype,ci.certid,getItemName(''cust_kind'',lci.project_industry) custkind,getUserName(lci.project_manage) as project_manage,getOrgLevelName(lci.project_dept) project_dept,ci.customertype,lci.car_type,lci.leas_form,lci.channel FROM LB_CONTRACT_INFO lci LEFT JOIN LB_UNION_LESSEE lult on lci.id=lult.contract_id LEFT JOIN CUSTOMER_INFO ci on lult.customer_id=ci.customerid where lult.is_main=''y'' and lci.businesstype = ''1'' and not EXISTS (select 1 from LC_CALC_CONDITION_STATUS ccs where ccs.contract_id=lci.id) and contract_status=''21'' {lci,contract} and lci.PROJECT_MANAGE=''#userid'' order by lci.contract_number desc','合同id,项目id,产品编号,合同编号,业务合同编号,项目名称,客户名称,证件类别,证件号码,内部行业,项目经理,项目部门,客户类型,车辆类型,租赁方法,渠道','project_name@style={width:350px;}','id@project_id@product_id@contract_number@project_name@customertype@car_type@leas_form@channel','project_name,customername','1','Single','','','','','','SYS_Designer','','2018/09/10 10:01:53','SYS_Designer','2021/03/21 14:31:44',''); +delete from SELECT_CATALOG where selname='SelectContract_Car_KE'; +Insert Into SELECT_CATALOG (selname,seltype,seldescribe,seltablename,selprimarykey,selbrowsemode,selargs,selhidefield,selcode,selfieldname,selfielddisp,selreturnvalue,selfilterfield,isinuse,mutilorsingle,attribute1,attribute2,attribute3,attribute4,attribute5,inputuser,inputorg,inputtime,updateuser,updatetime,remark) Values ('SelectContract_Car_KE','Sql','合同撤销选择框(汽车)(kaer)','','','Grid','String orgid','id,project_id,product_id,contract_no,custkind,customertype,car_type,leas_form,channel','SELECT lci.id,lult.project_id ,lci.product_id,lci.contract_no,lci.contract_number,lci.project_name,ci.customername,getItemName(''CertType'',ci.certtype) certtype,ci.certid,getItemName(''cust_kind'',lci.project_industry) as custkind,getUserName(lci.project_manage) as project_manage,getOrgLevelName(lci.project_dept) project_dept,ci.customertype,lci.car_type,lci.leas_form,lci.channel FROM LB_CONTRACT_INFO lci LEFT JOIN LB_UNION_LESSEE lult on lci.id=lult.contract_id LEFT JOIN CUSTOMER_INFO ci on lult.customer_id=ci.customerid where lult.is_main=''y'' and lci.businesstype = ''1'' and not EXISTS (select 1 from LC_CALC_CONDITION_STATUS ccs where ccs.contract_id=lci.id) and contract_status=''21'' {lci,contract} and lci.inputorgid=''#orgid'' order by lci.contract_number desc','合同id,项目id,产品编号,合同编号,业务合同编号,项目名称,客户名称,证件类别,证件号码,内部行业,业务经理,经销商渠道/名称,客户类型,车辆类型,租赁方法,渠道','project_name@style={width:350px;}','id@project_id@product_id@contract_number@project_name@customertype@car_type@leas_form@channel','project_name,customername','1','Single','','','','','','SYS_Designer','','2019/05/31 15:15:25','SYS_Designer','2021/03/21 14:32:20',''); + + + + + + diff --git a/src_sql/棰勬姇SQL/v20210415/zhangbb20210415.sql b/src_sql/棰勬姇SQL/v20210415/zhangbb20210415.sql new file mode 100644 index 000000000..2e189e10f --- /dev/null +++ b/src_sql/棰勬姇SQL/v20210415/zhangbb20210415.sql @@ -0,0 +1,28 @@ +INSERT INTO apzl.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 ('LoanSimulationBasicFlexibleInfo', '0170', '0170', '1', 'O', 'PERSONAL_INSURANCE', 'PERSONAL_INSURANCE', 'Number', '0', '个人意外险', '元', '1', 'Text', '2', '1', '', '', '', null, '1', '0', '0', '1', '0', 0, '', 'credit_conditon', '', 'SYS_Designer', '2021/01/02 09:16:37', 'SYS_Designer', '2021/01/02 09:16:37', '0', '', '1', '', '', '', ''); +INSERT INTO apzl.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 ('LoanSimulationBasicFlexibleInfo', '0175', '0175', '1', 'O', 'DISCOUNT_INTEREST', 'DISCOUNT_INTEREST', 'Number', '0', '贴息', '元', '1', 'Text', '2', '1', '', '', '', null, '1', '0', '0', '1', '0', 0, '', 'credit_conditon', '', 'SYS_Designer', '2021/01/02 09:16:37', 'SYS_Designer', '2021/01/02 09:16:37', '0', '', '1', '', '', '', ''); + +INSERT INTO apzl.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 ('LCFundPaymentTempInfo', '0240', '0056', '1', null, '''''', 'PERSONAL_INSURANCE', 'String', null, '抵扣个人意外险', null, '1', 'Text', '2', '1', null, null, null, null, '0', '1', '0', '1', '0', 0, null, null, null, 'SYS_Designer', '2021/03/21 11:17:19', 'SYS_Designer', '2021/03/21 11:17:19', null, null, '1', null, null, null, null); +INSERT INTO apzl.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 ('LCFundPaymentTempInfo', '0250', '0057', '1', null, '''''', 'DISCOUNT_INTEREST', 'String', null, '抵扣贴息', null, '1', 'Text', '2', '1', null, null, null, null, '0', '1', '0', '1', '0', 0, null, null, null, 'SYS_Designer', '2021/03/21 11:17:19', 'SYS_Designer', '2021/03/21 11:17:19', null, null, '1', null, null, null, null); + +alter table lc_calc_condition_temp + add PERSONAL_INSURANCE decimal(22,2) comment '个人意外险'; +alter table lc_calc_condition_temp + add DISCOUNT_INTEREST decimal(22,2) comment '贴息(2021年需求增加)'; + +alter table lc_calc_condition + add PERSONAL_INSURANCE decimal(22,2) comment '个人意外险'; +alter table lc_calc_condition + add DISCOUNT_INTEREST decimal(22,2) comment '贴息(2021年需求增加)'; +alter table lc_proj_condition + add PERSONAL_INSURANCE decimal(22,2) comment '个人意外险'; +alter table lc_proj_condition + add DISCOUNT_INTEREST decimal(22,2) comment '贴息(2021年需求增加)'; +alter table lc_calc_condition_his + add PERSONAL_INSURANCE decimal(22,2) comment '个人意外险'; +alter table lc_calc_condition_his + add DISCOUNT_INTEREST decimal(22,2) comment '贴息(2021年需求增加)'; +alter table lc_contract_condition + add PERSONAL_INSURANCE decimal(22,2) comment '个人意外险'; +alter table lc_contract_condition + add DISCOUNT_INTEREST decimal(22,2) comment '贴息(2021年需求增加)'; + diff --git a/src_tenwa/com/tenwa/handler/LCFundPaymentTempInfoHandler.java b/src_tenwa/com/tenwa/handler/LCFundPaymentTempInfoHandler.java index 3a534debd..f94a493c1 100644 --- a/src_tenwa/com/tenwa/handler/LCFundPaymentTempInfoHandler.java +++ b/src_tenwa/com/tenwa/handler/LCFundPaymentTempInfoHandler.java @@ -1,14 +1,5 @@ package com.tenwa.handler; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP; -import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO_TEMP; - import com.amarsoft.app.util.ProductParamUtil; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOFactory; @@ -16,6 +7,14 @@ import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.awe.dw.handler.impl.CommonHandler; import com.amarsoft.dict.als.cache.CodeCache; import com.amarsoft.dict.als.object.Item; +import jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP; +import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO_TEMP; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; public class LCFundPaymentTempInfoHandler extends CommonHandler { @Override @@ -104,6 +103,16 @@ public class LCFundPaymentTempInfoHandler extends CommonHandler { bo.setAttributeValue("FIRST_PAYMENT", factMoney); this.asDataObject.setVisible("FIRST_PAYMENT", true); break; + case "feetype32": + cleanLeaseMoney = cleanLeaseMoney.add(factMoney); + bo.setAttributeValue("PERSONAL_INSURANCE", factMoney); + this.asDataObject.setVisible("PERSONAL_INSURANCE", true); + break; + case "feetype33": + cleanLeaseMoney = cleanLeaseMoney.add(factMoney); + bo.setAttributeValue("DISCOUNT_INTEREST", factMoney); + this.asDataObject.setVisible("DISCOUNT_INTEREST", true); + break; } } diff --git a/src_tenwa/com/tenwa/lease/flow/project/businessapply/CustomerInfoManage.java b/src_tenwa/com/tenwa/lease/flow/project/businessapply/CustomerInfoManage.java index 46c562c5e..e4762ec3e 100644 --- a/src_tenwa/com/tenwa/lease/flow/project/businessapply/CustomerInfoManage.java +++ b/src_tenwa/com/tenwa/lease/flow/project/businessapply/CustomerInfoManage.java @@ -51,6 +51,9 @@ public class CustomerInfoManage { private String distributorCode; private String projectNo; private String operationType; + private String zcProjectNumber; + private String zcContractNumber; + private String channel; public String getDistributorCode() { return distributorCode; @@ -280,6 +283,30 @@ public class CustomerInfoManage { this.operationType = operationType; } + public String getZcProjectNumber() { + return zcProjectNumber; + } + + public void setZcProjectNumber(String zcProjectNumber) { + this.zcProjectNumber = zcProjectNumber; + } + + public String getZcContractNumber() { + return zcContractNumber; + } + + public void setZcContractNumber(String zcContractNumber) { + this.zcContractNumber = zcContractNumber; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + public String saveCustomerFamilyFormal(JBOTransaction tx){ try{ BizObjectManager bom = JBOFactory.getBizObjectManager(CUSTOMER_FAMILY.CLASS_NAME,tx); @@ -394,6 +421,11 @@ public class CustomerInfoManage { proj.setAttributeValue("inputName", inputName); proj.setAttributeValue("inputTel", inputTel); proj.setAttributeValue("PROJECT_NO", projectNo); + if(channel != null && "ZC".equals(channel)){//只存中车进单的标识 + proj.setAttributeValue("CHANNEL", channel); + } + proj.setAttributeValue("ZC_PROJECT_NUMBER", zcProjectNumber); + proj.setAttributeValue("ZC_CONTRACT_NUMBER", zcContractNumber); } //update 项目名称 if(buss != null){ 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 2facebcd2..68ed90490 100644 --- a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/LBProjectIntoTempInitCarBusiness.java +++ b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/LBProjectIntoTempInitCarBusiness.java @@ -121,9 +121,9 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { //cust_type.cust if("cust_type.cust".equals(custType)){ BizObject distributorBo = JBOFactory.createBizObjectQuery(DISTRIBUTOR_INFO.CLASS_NAME,"orgid=:orgid").setParameter("orgid",deptid).getSingleResult(false); - String fiType = distributorBo.getAttribute("F_I_TYPE").toString(); + String distributorType = distributorBo.getAttribute("TYPE").toString(); if((this.getAttribute("operationType") != null && "BAIC_MOTOR".equals(this.getAttribute("operationType").toString())) - || "f_i_type03".equals(fiType)){//自营店 + || "types03".equals(distributorType)){//自营店 distributoIid=this.getAttribute("distributorNo").toString(); vndrName=this.getAttribute("distributorName").toString(); }else{ @@ -195,9 +195,9 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness { this.saveBusinessStatus(bsbom, tx, asUser);//项目进度表 }else{ BizObject distributorBo = JBOFactory.createBizObjectQuery(DISTRIBUTOR_INFO.CLASS_NAME,"orgid=:orgid").setParameter("orgid",deptid).getSingleResult(false); - String fiType = distributorBo.getAttribute("F_I_TYPE").toString(); + String fiType = distributorBo.getAttribute("TYPE").toString(); if((this.getAttribute("operationType") != null && "BAIC_MOTOR".equals(this.getAttribute("operationType").toString())) - || "f_i_type03".equals(fiType)){//自营店 + || "types03".equals(fiType)){//自营店 distributoIid=this.getAttribute("distributorNo").toString(); vndrName=this.getAttribute("distributorName").toString(); }else{ diff --git a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java index 3be856fcc..868068195 100644 --- a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java +++ b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java @@ -40,7 +40,8 @@ public class PlatformDataToTemp extends BaseBussiness { this.initBussinessParam(Sqlca); if (this.getAttribute("serial") == null) return "true"; String channel_kjflc = InterfacePlatformConfigure.get("channel_kjflc"); - if (this.getAttribute("channel") != null && !this.getAttribute("channel").toString().equals(channel_kjflc)) +// if (this.getAttribute("channel") != null && !this.getAttribute("channel").toString().equals(channel_kjflc)) + if (this.getAttribute("channel") != null) return "true"; ASUser asUser = new ASUser(this.getAttribute("CurUserID").toString()); diff --git a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java index be59e4c4d..10aaea9f9 100644 --- a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java +++ b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java @@ -34,8 +34,8 @@ public class PlatformDataToTempNotKjflc extends BaseBussiness { this.initBussinessParam(Sqlca); if (this.getAttribute("serial") == null) return "true"; String channel_kjflc = InterfacePlatformConfigure.get("channel_kjflc"); - if (this.getAttribute("channel") != null && this.getAttribute("channel").toString().equals(channel_kjflc)) - return "true"; +// if (this.getAttribute("channel") != null && this.getAttribute("channel").toString().equals(channel_kjflc)) +// return "true"; String flowunid = this.getAttribute("ObjectNo").toString(); String projectId = this.getAttribute("ProjectId").toString(); diff --git a/src_tenwa/com/tenwa/lease/flow/project/commcheck/TermValidityCheck.java b/src_tenwa/com/tenwa/lease/flow/project/commcheck/TermValidityCheck.java new file mode 100644 index 000000000..3b2842955 --- /dev/null +++ b/src_tenwa/com/tenwa/lease/flow/project/commcheck/TermValidityCheck.java @@ -0,0 +1,115 @@ +package com.tenwa.lease.flow.project.commcheck; + +import java.text.SimpleDateFormat; +import java.util.*; + +import com.amarsoft.are.jbo.JBOException; +import com.tenwa.lease.app.allinpay.util.AllinpayProperties; +import com.tenwa.reckon.util.DateUtil; +import com.tenwa.reckon.util.DateUtils; +import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT; +import jbo.com.tenwa.lease.comm.LB_EQUIPMENT_CAR_TEMP; +import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP; + +import com.amarsoft.app.util.ProductParamUtil; +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.awe.util.Transaction; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.doc.action.DocListInitAction; +import com.tenwa.template.check.DefaultBussinessCheck; +import jbo.sys.FLOW_TASK; +import org.apache.commons.collections.CollectionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 信审通过有效期校验 + * @author 20210324 + * + */ +public class TermValidityCheck extends DefaultBussinessCheck { + + private static final Logger logger = LoggerFactory.getLogger(TermValidityCheck.class); + @Override + public Object run(Transaction Sqlca) throws Exception { + //如果放款流程涉及退回再提交,则不判断信审有效期 + boolean validityBack = false;//是否发生退回 + List flowTaskList = JBOFactory.createBizObjectQuery(FLOW_TASK.CLASS_NAME, "OBJECTNO=:OBJECTNO").setParameter("OBJECTNO", this.getAttribute("ObjectNo").toString()).getResultList(false); + if(CollectionUtils.isEmpty(flowTaskList)){ + logger.error("当前流程对应 flow_task 记录不存在!objectNo=" + this.getAttribute("ObjectNo").toString()); + putMsg("系统繁忙,请稍后再试!"); + setPass(false); + return null; + } + for(BizObject flowTask: flowTaskList){ + if("0020".equals(flowTask.getAttribute("PHASENO").getString())){ + logger.info("当前流程含有退回再提交流程,故不校验有效期!"); + validityBack = true;//含有初审流程 + break; + } + } + if(validityBack){ + logger.info("当前流程含有退回再提交流程,故不校验有效期!"); + setPass(true); + return null; + } + //获取配置的超时天数 + String sql1 = "SELECT max(INPUTTIME) inputtime,over_date FROM lb_business_overdate where inputtime is not null and over_date>0 group by INPUTTIME"; + List> ds = DataOperatorUtil.getDataBySql(Sqlca, sql1, null); + String overDate = ""; + if(ds.size()>0){ + overDate = ds.get(0).get("over_date"); + } + if(overDate ==""||Integer.parseInt(overDate)==0){ + logger.error("请配置信审通过有效期天数!"); + putMsg("请配置信审通过有效期天数"); + setPass(false); + return null; + } + //获取信审通过时间 + BizObject flowBus = JBOFactory.createBizObjectQuery(FLOW_BUSSINESS_OBJECT.CLASS_NAME, "flow_unid=:flowunid").setParameter("flowunid", this.getAttribute("ObjectNo").toString()).getSingleResult(false); + String projectId = flowBus.getAttribute("proj_id").toString(); + String sqlFlow = "SELECT InputTime as inputtime,flow_unid FROM flow_bussiness_object where proj_id='"+ projectId +"' and flow_name in('业务申请流程','业务变更流程') order by InputTime desc limit 1"; + List> resFlowList = DataOperatorUtil.getDataBySql(Sqlca, sqlFlow, null); + String objectNoXs = null; + if(resFlowList.size()>0){ + objectNoXs = resFlowList.get(0).get("flow_unid"); + } + List flowAuditTaskList = JBOFactory.createBizObjectQuery(FLOW_TASK.CLASS_NAME, "OBJECTNO=:OBJECTNO").setParameter("OBJECTNO", objectNoXs).getResultList(false); + if(CollectionUtils.isEmpty(flowAuditTaskList)){ + logger.error("当前流程对应 flow_task 记录不存在!objectNo=" + objectNoXs); + putMsg("系统繁忙,请稍后再试!"); + setPass(false); + return null; + } + String endTime = null; + for(BizObject flow: flowAuditTaskList){ + if("1000".equals(flow.getAttribute("PHASENO").getString())){//通过 + endTime = flow.getAttribute("ENDTIME").getString();//含有初审流程 + break; + } + } + if (null == endTime){ + logger.error("当前流程对应 flow_task 记录不存在endTime!objectNo=" + objectNoXs); + putMsg("系统繁忙,请稍后再试!"); + setPass(false); + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); + Date endDate = sdf2.parse(sdf2.format(sdf.parse(endTime))); + Date nowDate = new Date(); + int daySum =(int)((nowDate.getTime() - endDate.getTime())/86400000l) ; + //求出信审通过时间和现在的时间差 + int overDays = Integer.parseInt(overDate); + + // 比较 是否在信审有效期内 + if(daySum - overDays > 0){ + setPass(false); + }else{ + setPass(true); + } + return null; + } +} diff --git a/src_tenwa/com/tenwa/util/ProjectConstant.java b/src_tenwa/com/tenwa/util/ProjectConstant.java index bc8558571..f97e06c45 100644 --- a/src_tenwa/com/tenwa/util/ProjectConstant.java +++ b/src_tenwa/com/tenwa/util/ProjectConstant.java @@ -7,5 +7,6 @@ package com.tenwa.util; public class ProjectConstant { public static final String CREDIT_RESULT_TYPE="0010"; + public static final String DISTIRBUTOR_NO="DSTB20210319006682"; }