Merge branch 'dailyfix' into ap007

This commit is contained in:
ap007 2022-09-22 09:56:27 +08:00
commit c4df94852e
32 changed files with 1172 additions and 104 deletions

View File

@ -83,7 +83,7 @@
}else{
url="/Accounting/LoanSimulation_change/LoanBasicInfoBusiness.jsp";
}
dwTemp.replaceColumn("pay_condition", "<iframe type='iframe' id='pay_condition' name=\"pay_condition\" width=\"100%\" height=\"500px\" frameborder=\"0\" src=\""+sWebRootPath+url+"?CompClientID="+compClientID+"&flowunid="+flowunid+"&plannumber="+plannumber+"&IsHistory="+ishistory+"&NodeNo="+nodeNo+"&RightType="+sRightType+"&calType="+calType+"&TaskNo="+taskno+"\"></iframe>", CurPage.getObjectWindowOutput());
dwTemp.replaceColumn("pay_condition", "<iframe type='iframe' id='pay_condition' name=\"pay_condition\" width=\"100%\" height=\"610px\" frameborder=\"0\" src=\""+sWebRootPath+url+"?CompClientID="+compClientID+"&flowunid="+flowunid+"&plannumber="+plannumber+"&IsHistory="+ishistory+"&NodeNo="+nodeNo+"&RightType="+sRightType+"&calType="+calType+"&TaskNo="+taskno+"\"></iframe>", CurPage.getObjectWindowOutput());
String sButtons[][] = {
{"true","","Button","×â½ð±ä¸ü","×â½ð±ä¸ü","saveRecord()","","","","btn_icon_rentchange"},
{"true","","Button","±ä¸ü³·Ïú","±ä¸ü³·Ïú","cancelChange()","","","","btn_icon_delete"}

View File

@ -106,7 +106,11 @@
importCondition["plannumber"] = "<%=plannumber%>";
var sUrl = "/Tenwa/Core/OfficeTemplate/TemplateManager/BFTemplateTest/uploadExcel.jsp";
var sparam = JSON.stringify(importCondition).replace(/,/g,"@");//生成模板的参数据
AsDialog.PopView(sUrl,"importparam="+sparam,{width:"350px",height:"40px",title:"µ¼Èë×â½ð¼Æ»®"},function(){reloadSelf();});
AsDialog.PopView(sUrl,"importparam="+sparam,{width:"350px",height:"40px",title:"µ¼Èë×â½ð¼Æ»®"},function(retVal){
if('fail'!=retVal){
self.location.reload();
}
});
}
function downloadTemplate(){

View File

@ -0,0 +1,148 @@
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%>
<%@ page import="com.tenwa.doc.action.DocListInitAction" %>
<%@ page import="com.amarsoft.app.lc.workflow.action.GetFlowAction" %>
<%@ page import="com.amarsoft.app.util.*" %>
<%
String userId = CurUser.getUserID();
String orgId =CurUser.getOrgID();
System.out.print(orgId);
String falg = "true";
String flowunid = CurPage.getParameter("FlowUnid");
System.out.println("----------------------flowunid=" + flowunid);
BizObject condition = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false);
String projectId = condition.getAttribute("PROJECT_ID").getString();
String contractId = condition.getAttribute("CONTRACT_ID").getString();
// System.out.println("----------------------contractId=" + contractId);
// BizObject lrdBo = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LB_RENT_DORMANT","FLOWUNID=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false);
// String contractNo = "";
// if(lrdBo != null){
// contractNo = lrdBo.getAttribute("rent_dormant_num").getString();
// }
String compClientID = request.getParameter("CompClientID");
ASObjectModel doTemp = new ASObjectModel("RentDormantExtensionPeriodFile");
doTemp.setDefaultValue("FlowUnid", flowunid);
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.ReadOnly = "1";
dwTemp.setPageSize(15);
dwTemp.MultiSelect = true;
dwTemp.genHTMLObjectWindow(flowunid);
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] =null;
sButtons=new String[][]{
// {"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
{falg,"All","Button","休眠展期协议生成","休眠展期协议生成","generateQuotation()","","","","btn_icon_generate"},
// {"true","All","Button","批量下载","批量下载","lotdown()","","","","btn_icon_down"},
// {falg,"All","Button","公司盖章","公司盖章","stamp()","","","",""},
};
%>
<%/*~BEGIN~不可编辑区~[Editable=false;CodeAreaID=List05;Describe=主体页面;]~*/%>
<%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<%/*~END~*/%>
<form name=form1 method=post action="<%=sWebRootPath%>/servlet/view/fileTemplateView?CompClientID=<%=sCompClientID%>" target=MyAtt>
<div style="display:none">
<input id="sqlString" name="sqlString" value="">
</div>
</form>
<%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=List06;Describe=定义按钮事件;]~*/%>
<script type="text/javascript">
//在加载完表格后调用
function afterSearch(){
for(var i=0;i<getRowCount(0);i++){
var html="";
html+='<a onclick=downloadFile(\''+getItemValue(0,i,"ID")+'\')><font color="blue">'+"下载&nbsp&nbsp&nbsp&nbsp&nbsp"+'</font></a>';
getObj(0,i,"FILENAME").innerHTML=html+'<font >'+getObj(0,i,"FILENAME").innerHTML+'</font>';
};
}
function downloadFile(id){
if(typeof(id)==undefined || id=='') {
alert("请先生成休眠展期协议再下载!");
return;
}
if(!frames["downloadTemplate"]) $("<iframe name='downloadTemplate' style='display:none;'></iframe>").appendTo("body");
window.open(sWebRootPath+"/servlet/view/docDownloadServlet?CompClientID=<%=sCompClientID%>&sqlString=save@"+id, "downloadTemplate");
}
/**
* 生成休眠还款协议
*/
function generateQuotation(){
<%--var contract_no="<%=contractNo%>";--%>
<%--var contract_no="<%=contractNo%>";--%>
var result = AsControl.RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.RentDormantExtensionPeriodAction","saveRentDormantExtensionPeriodAction","flowUnid=<%=flowunid%>");
alert("休眠展期协议编号为:" + result);
var contract_no=result;
if(contract_no == ''){
alert("请先进行休眠调整,生成休眠还款协议编号!");
return;
}
var param={};
var tempParam={};
var sparam="";
//模板号
// var tempId = "11b12cbfd98611eb970e00163e0ad611";
var tempId = "11b12cbfd98611eb970e00163e0ad622";
var flowUnid = "<%=flowunid%>";
param["templateNo"]= tempId;
//文件类型:休眠展期协议
var objectType = "contractExtensionPeriod";
//生成文件关联关系
tempParam["OBJECTTYPE"]=objectType;
tempParam["contract_no"]=contract_no;
tempParam["contract_id"]=contract_no;
tempParam["project_id"]=contract_no;
tempParam["PROJ_ID"]="<%=projectId%>";//注意变量名,不要改
tempParam["CONTRACT_ID"]="<%=contractId%>";//注意变量名,不要改
tempParam["CUST_ID"]=contract_no;//注意变量名,不要改
tempParam["PLAN_NUMBER"]=contract_no;//注意变量名,不要改
tempParam["FLOW_UNID"]=flowUnid;
//生成模板固定参数
tempParam["CurUserId"]="<%=CurUser.getUserID()%>";
tempParam["CurOrgId"]="<%=CurUser.getOrgID()%>";
tempParam["fileSavePath"]="<%=CurConfig.getConfigure("FileSavePath")%>";
param["templateParam"]=JSON.stringify(tempParam).replace(/,/g,"@");//生成模板的参数据
for(var key in param){
if(sparam.length>0){sparam+=",";}
sparam+=key+"="+param[key];
}
var deleteresult=RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.RentDormantExtensionPeriodDeleteAction",
"deleteRentDormantExtensionPeriod", "planNumber="+contract_no+",objectType="+objectType);
var result=RunJavaMethodTrans("com.tenwa.officetempalte.action.CreateOfficeAction","createOfficeByTemplate", sparam);
// word转pdf
var id = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.RentDormantExtensionPeriodSignAction",
"wordToPdfRentDormantExtensionPeriod","contractNo="+contract_no+",contractId="+contract_no+",projectId="+contract_no+",planNumber="+contract_no);
if(typeof(id)=="undefined" || id.length <= 0 || id==""){
RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.RentDormantExtensionPeriodDeleteAction", "deleteRentDormantExtensionPeriod", "planNumber="+contract_no+",objectType="+objectType);
}else{
alert("生成成功!!!");
}
reloadSelf();
}
</script>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=List07;Describe=自定义函数;]~*/%>
<script type="text/javascript">
</script>
<%/*~END~*/%>
<%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=List08;Describe=页面装载时,进行初始化;]~*/%>
<script type="text/javascript">
</script>
<%/*~END~*/%>
<%@ include file="/Frame/resources/include/include_end.jspf"%>

View File

@ -1,18 +1,21 @@
<%@page import="com.amarsoft.dict.als.manage.NameManager"%>
<%@page import="com.amarsoft.are.util.SpecialTools"%>
<%@page contentType="text/html; charset=GBK" session="false"%>
<%@page import="com.amarsoft.are.util.*"%>
<%@page import="com.amarsoft.awe.util.*"%>
<%@page import="com.amarsoft.context.*"%>
<%@page import="com.amarsoft.web.*"%>
<%@page import="com.amarsoft.web.dw.*"%>
<%@page import="java.util.*"%>
<%@page import="com.amarsoft.awe.*"%><%@
page import="com.amarsoft.awe.control.SessionListener"%><%@
page import="com.amarsoft.awe.control.model.*"%><%@
page import="com.amarsoft.awe.util.*"%><%@
page import="com.amarsoft.awe.Configure"%><%@
page import="com.amarsoft.awe.security.*"%><%@
page import="com.amarsoft.awe.security.pwdrule.*"%><%!
<%@page import="com.amarsoft.are.util.StringFunction"%>
<%@page import="com.amarsoft.awe.Configure"%>
<%@page import="com.amarsoft.awe.RuntimeContext"%>
<%@page import="com.amarsoft.awe.control.SessionListener"%>
<%@page import="com.amarsoft.awe.control.model.ComponentSession"%>
<%@page import="com.amarsoft.awe.security.*"%>
<%@page import="com.amarsoft.awe.security.pwdrule.ALSPWDRules"%><%@
page import="com.amarsoft.awe.security.pwdrule.IsPasswordOverdueRule"%><%@
page import="com.amarsoft.awe.security.pwdrule.PasswordRuleManager"%><%@
page import="com.amarsoft.awe.util.ASResultSet"%><%@
page import="com.amarsoft.awe.util.SqlObject"%><%@
page import="com.amarsoft.awe.util.Transaction"%><%@
page import="com.amarsoft.context.ASPreference"%>
<%@ page import="com.amarsoft.context.ASUser" %>
<%@ page import="com.amarsoft.dict.als.manage.NameManager" %>
<%!
//检验验证码
public boolean vaildCheckCode(HttpServletRequest request, HttpSession session) {
String sCheckCode = request.getParameter("CheckCode");
@ -179,6 +182,7 @@ public boolean validUserPassword(HttpServletRequest request, Transaction Sqlca,S
so.setOriginalSql(so.getOriginalSql().replaceAll("△", ":"));
so.setRunSql(so.getRunSql().replaceAll("△", ":"));
Sqlca.executeSQL(so);
Sqlca.commit();
}
//设置运行上下文参数 CurARC 在IncludeBegin.jsp中使用
@ -194,26 +198,26 @@ public boolean validUserPassword(HttpServletRequest request, Transaction Sqlca,S
//用户登陆成功,记录登陆信息
SessionListener sessionListener=new SessionListener(request,session,CurUser,CurConfig.getConfigure("DataSource"));
session.setAttribute("listener",sessionListener);
%><script type="text/javascript">
<%
String sPWDState = new UserMarkInfo(Sqlca,CurUser.getUserID()).getPasswordState();
if(true && // 开发模式不做首次登录/密码过期校验
(sPWDState.equals(String.valueOf(SecurityAuditConstants.CODE_USER_FIRST_LOGON)) || sPWDState.equals(String.valueOf(SecurityAuditConstants.CODE_PWD_OVERDUE)))){
%>
window.open("<%=CurConfig.getContextPath() %>/Redirector?ComponentURL=/AppMain/ModifyPassword.jsp","_top");
<%
}else{
String mainPath=getCurUseMainPath(sUserID,Sqlca);
%>
window.open("<%=CurConfig.getContextPath() %>/Redirector?ComponentURL=<%=mainPath%>","_top");
<%
}
%></script>
<script type="text/javascript">
<%
String sPWDState = new UserMarkInfo(Sqlca,CurUser.getUserID()).getPasswordState();
// 开发模式不做首次登录/密码过期校验
if(sPWDState.equals(String.valueOf(SecurityAuditConstants.CODE_USER_FIRST_LOGON)) || sPWDState.equals(String.valueOf(SecurityAuditConstants.CODE_PWD_OVERDUE))){
%>
window.open("<%=CurConfig.getContextPath() %>/Redirector?ComponentURL=/AppMain/ModifyPassword.jsp", "_top");
<%
}else{ String mainPath=getCurUseMainPath(sUserID,Sqlca);
%>
window.open("<%=CurConfig.getContextPath() %>/Redirector?ComponentURL=<%=mainPath%>", "_top");
<%
}
%>
</script>
<%
} catch (Exception e) {
//e.printStackTrace();
//e.fillInStackTrace();
//e.printStackTrace(new java.io.PrintWriter(System.out));
%>
<script type="text/javascript">
//alert("登录失败,请检查用户名和密码是否输入正确!\n如果您忘记了密码请与系统管理员联系恢复初始密码。");
@ -229,7 +233,6 @@ public boolean validUserPassword(HttpServletRequest request, Transaction Sqlca,S
}
</script>
<%
return;
} finally {
if(Sqlca!=null) {
//断掉当前数据连接

View File

@ -59,7 +59,7 @@
<script type="text/javascript">
alert("上传失败<%=cmessage%>");//上传文件失败!
window.close();
parent.AsDialog.ClosePage();
parent.AsDialog.ClosePage('fail');
</script>
<%
}

View File

@ -6,6 +6,8 @@
History Log:
*/
ASObjectModel doTemp = new ASObjectModel("LBSmsNoticeTasksList");
doTemp.setDataQueryClass("com.amarsoft.awe.dw.ui.list.FlowMonitorListHtmlGenerator");
CurPage.setAttribute("flowRowCount","100");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.ReadOnly = "1"; //只读模式

View File

@ -19,10 +19,11 @@
return;
}
}
AsDialog.OpenSelector("SelectPaymentHavePenalty","businessType,"+businessType,"dialogWidth=" + parseInt(window.screen.width * 0.8) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){
if(!sReturn||sReturn=="_CANCEL_"){
AsDialog.OpenSelector("SelectPaymentHavePenaltyNew","businessType,"+businessType,"dialogWidth=" + parseInt(window.screen.width * 0.8) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){
if(!sReturn||sReturn=="_CANCEL_"){
//alert(getHtmlMessage('1'));//请选择一条信息!
return;
return;
}
sReturn = sReturn.split("@");
var contractId = sReturn[0];
@ -44,11 +45,11 @@
}
else
{
var mes=sReturnInfos[1];
var mes=sReturnInfos[0];
alert(mes);
}
reloadSelf();
},"ÇëÑ¡ÔñºÏͬ");
},"ÇëÑ¡ÔñºÏͬ");
}
</script>
<%@ include file="/Tenwa/Core/FlowManager/BaseFlowList/BaseFlowApplyListEnd.jspf"%>

View File

@ -10,7 +10,8 @@
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
String sFileNameType = CurConfig.getConfigure("FileNameType");
String isTM = CurPage.getAttribute("isTM");//是否显示定时任务数据
String sTempletNo = "VOUCHER_V8" ;
//String sTempletNo = "VOUCHER_V8" ;
String sTempletNo = "VOUCHER_V8_LIST" ;
if( isTM!=null && "true".equals(isTM)){
sTempletNo = "VOUCHER_V8_NEW";
}

View File

@ -553,6 +553,28 @@
</manager>
</class>
<class name="VI_RENT_PLAN_TEMP" label="测算租金计划临时视图" >
<attributes>
<attribute name="PAYMENT_NUMBER" label="投放编号" type="STRING" length="32"/>
<attribute name="PLAN_LIST" label="期次" type="INT" length="10"/>
<attribute name="PLAN_DATE" label="计划日期" type="STRING" length="32"/>
<attribute name="RENT" label="租金" type="DOUBLE" length="18" scale="2"/>
<attribute name="CORPUS" label="财务本金" type="DOUBLE" length="18" scale="2"/>
<attribute name="INTEREST" label="财务租息" type="DOUBLE" length="18" scale="2"/>
<attribute name="CORPUS_BUSINESS" label="业务本金" type="DOUBLE" length="18" scale="2"/>
<attribute name="INTEREST_BUSINESS" label="业务租息" type="DOUBLE" length="18" scale="2"/>
<attribute name="ID" label="标识" type="STRING" length="32"/>
<attribute name="PLANSTATUS" label="回笼状态" type="STRING" length="32"/>
<attribute name="ALL_REMAIN_CORPUS" label="剩余本金" type="DOUBLE" length="18" scale="2"/>
<attribute name="FLOWUNID" label="流程标识" type="STRING" length="60"/>
</attributes>
<manager>
<managerProperties>
<property name="table" value="VI_RENT_PLAN_TEMP"/>
</managerProperties>
</manager>
</class>
<class name="LC_RENT_PLAN_SP_TEMP" label="测算租金计划临时表" keyAttributes="ID">
<attributes>
<attribute name="ID" label="标识" type="STRING" length="32"/>
@ -4649,6 +4671,23 @@
</managerProperties>
</manager>
</class>
<class name="LB_RENT_DORMANT_EXTENSION_PERIOD" label="休眠展期协议信息表" keyAttributes="ID">
<attributes>
<attribute name="ID" label="标识" type="STRING" length="32"/>
<attribute name="FLOWUNID" label="流程编号" type="STRING" length="32"/>
<attribute name="PROJECT_ID" label="项目编号" type="STRING" length="32"/>
<attribute name="CONTRACT_ID" label="合同编号" type="STRING" length="32"/>
<attribute name="rent_dormant_num" label="休眠还款协议编号" type="STRING" length="32"/>
<attribute name="zc_contract_num" label="中车合同编号" type="STRING" length="32"/>
<attribute name="contract_date" label="合同签署时间" type="STRING" length="32"/>
</attributes>
<manager>
<managerProperties>
<property name="table" value="LB_RENT_DORMANT_EXTENSION_PERIOD" />
<property name="createKey" value="true" />
</managerProperties>
</manager>
</class>
<class name="LC_DORMANT_RENT_ADJUST_TEMP" label="休眠租金临时表" keyAttributes="ID">
<attributes>
<attribute name="ID" label="标识" type="STRING" length="32"/>

View File

@ -808,6 +808,7 @@
<attribute name="ZC_PROJECT_NUMBER" label="中车申请号" type="STRING" length="32"/>
<attribute name="ZC_CONTRACT_NUMBER" label="中车合同号" type="STRING" length="32"/>
<attribute name="CORPUS_SOURCE" label="资方名称" type="STRING" length="10"/>
<attribute name="ap_contract_status" label="合同状态" type="STRING" length="30"/>
</attributes>
<manager>
<managerProperties>
@ -1080,6 +1081,7 @@
<attribute name="ZC_PROJECT_NUMBER" label="中车申请号" type="STRING" length="32"/>
<attribute name="ZC_CONTRACT_NUMBER" label="中车合同号" type="STRING" length="32"/>
<attribute name="CORPUS_SOURCE" label="资方名称" type="STRING" length="10"/>
<attribute name="ap_contract_status" label="合同状态" type="STRING" length="30"/>
</attributes>
<manager>
<managerProperties>
@ -2829,6 +2831,7 @@
<attribute name="ZC_PROJECT_NUMBER" label="中车申请号" type="STRING" length="32"/>
<attribute name="ZC_CONTRACT_NUMBER" label="中车合同号" type="STRING" length="32"/>
<attribute name="CORPUS_SOURCE" label="资方名称" type="STRING" length="10"/>
<attribute name="ap_contract_status" label="合同状态" type="STRING" length="30"/>
</attributes>
<manager>
<managerProperties>

View File

@ -298,6 +298,32 @@
</managerProperties>
</manager>
</class>
<class name="VOUCHER_LIST" label="凭证列表" keyAttributes="">
<attributes>
<attribute name="SORT_NO" label="排序" type="int" length="32"/>
<attribute name="F3" label="凭证编号" type="STRING" length="32"/>
<attribute name="MODULE_NAME" label="凭证名称" type="STRING" length="200"/>
<attribute name="CONTRACT_NUMBER" label="合同编号" type="STRING" length="60"/>
<attribute name="F5" label="摘要" type="STRING" length="200"/>
<attribute name="F1" label="记账日期" type="STRING" length="32"/>
<attribute name="F15" label="到账日期" type="STRING" length="32"/>
<attribute name="MONEYS" label="金额" type="STRING" length="32"/>
<attribute name="NC_FLAG" label="NC传输状态" type="STRING" length="32"/>
<attribute name="NC_BATCH" label="NC传输批次号" type="STRING" length="32"/>
<attribute name="NC_DATE" label="NC传输日期" type="STRING" length="32"/>
<attribute name="GENERATE_DATE" label="生成时间" type="STRING" length="32"/>
<attribute name="F48" label="账套" type="STRING" length="50"/>
<attribute name="F50" label="主体名称" type="STRING" length="260"/>
<attribute name="F51" label="会计年" type="STRING" length="10"/>
<attribute name="F52" label="会计月" type="STRING" length="10"/>
</attributes>
<manager>
<managerProperties>
<property name="table" value="VOUCHER_LIST" />
<property name="createKey" value="false" />
</managerProperties>
</manager>
</class>
</package>
</jbo>

View File

@ -0,0 +1,116 @@
package com.tenwa.channelportal.action.alpha;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.reckon.util.UUIDUtil;
import com.tenwa.util.SerialNumberUtil;
import jbo.app.tenwa.calc.LB_RENT_DORMANT_EXTENSION_PERIOD;
import org.apache.commons.lang3.StringUtils;
/**
* 休眠还款申请-信息保存
*/
public class RentDormantExtensionPeriodAction {
String flowUnid;;//流程编号
public String getFlowUnid() {
return flowUnid;
}
public void setFlowUnid(String flowUnid) {
this.flowUnid = flowUnid;
}
/**
* 休眠还款信息保存
* @param tx
* @throws Exception
*/
public String saveRentDormantExtensionPeriodAction(JBOTransaction tx) throws Exception{
String res = "";
try {
String contractDate="contractDate";
String zcContractNum="zcContractNum";
System.out.println("saveRentDormantAction-----------------------flowUnid="+flowUnid);
BizObjectManager lcctBm = JBOFactory.getBizObjectManager(jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP.CLASS_NAME);
BizObject lcctBo = lcctBm.createQuery("FLOWUNID=:FLOWUNID ")
.setParameter("FLOWUNID", flowUnid).getSingleResult(false);
String contractId = lcctBo.getAttribute("CONTRACT_ID").getString();
BizObjectManager lciBm = JBOFactory.getBizObjectManager(jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO.CLASS_NAME);
BizObject lciBo = lciBm.createQuery("ID=:CONTRACT_ID ")
.setParameter("CONTRACT_ID", contractId).getSingleResult(false);
String contractNo = lciBo.getAttribute("CONTRACT_NO").getString();
String projectId = lciBo.getAttribute("PROJECT_ID").getString();
zcContractNum = lciBo.getAttribute("ZC_CONTRACT_NUMBER").getString();
System.out.println("saveRentDormantAction-----------------------contractNo="+contractNo);
System.out.println("saveRentDormantAction-----------------------contractNo2="+contractNo);
System.out.println("saveRentDormantAction-----------------------zcContractNum="+zcContractNum);
String rentDormantNum = null;
String contractDate2 = null;
String zcContractNum2 = null;
String rentDormantId = null;
// TODO: 2022/2/15 休眠还款信息保存
BizObjectManager bomLRD = JBOFactory.getFactory().getManager(LB_RENT_DORMANT_EXTENSION_PERIOD.CLASS_NAME,tx);
BizObject bolLRD = bomLRD.createQuery("FLOWUNID=:FLOWUNID ")
.setParameter("FLOWUNID", flowUnid).getSingleResult(true);
if(bolLRD != null){
rentDormantNum = bolLRD.getAttribute("rent_dormant_num").getString();
contractDate2 = bolLRD.getAttribute("contract_date").getString();
zcContractNum2 = bolLRD.getAttribute("zc_contract_num").getString();
rentDormantId = bolLRD.getAttribute("ID").getString();
if(rentDormantNum != null){
if(contractDate2 == null || StringUtils.isEmpty(contractDate2) || !contractDate2.equals(contractDate)
|| zcContractNum2 == null || StringUtils.isEmpty(zcContractNum2) || !zcContractNum2.equals(zcContractNum)){
bolLRD.setAttributeValue("contract_date", contractDate);
bolLRD.setAttributeValue("zc_contract_num", zcContractNum);
bomLRD.saveObject(bolLRD);//修改数据
}
return rentDormantNum;
}
}
rentDormantNum = createContractNo(lciBo, tx);
bolLRD = bomLRD.newObject();
bolLRD.setAttributeValue("ID", UUIDUtil.getUUID());
bolLRD.setAttributeValue("PROJECT_ID", projectId);
bolLRD.setAttributeValue("CONTRACT_ID", contractId);
bolLRD.setAttributeValue("FLOWUNID", flowUnid);
bolLRD.setAttributeValue("rent_dormant_num", rentDormantNum);
bolLRD.setAttributeValue("contract_date", contractDate);
bolLRD.setAttributeValue("zc_contract_num", zcContractNum);
bomLRD.saveObject(bolLRD);
res = rentDormantNum;
}catch (Exception e){
e.printStackTrace();
}
return res;
}
/**
* 休眠还款协议生成
* @return
*/
private String createContractNo(BizObject lciBo, JBOTransaction tx) throws Exception{
String area_code=lciBo.getAttribute("AREA_CODE").getString();
String subjectid=lciBo.getAttribute("subjectid").getString();
String dept="BQAP(";
if(area_code.equals(null)||area_code.equals("")){
area_code="0";
}
dept+="A";
if(lciBo.getAttribute("LEAS_FORM").toString().equals("01")){//直租
dept+="Z";
}else{//回租
dept+="H";
}
if("d989246c11c111eaaa0000163e0e11e6".equals(subjectid)){
dept+=")TJ";
}else{
dept+=")SZ";
}
return SerialNumberUtil.getContractSerialNaumber(dept,area_code, tx);
}
}

View File

@ -0,0 +1,97 @@
package com.tenwa.channelportal.action.alpha;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP;
import java.util.HashMap;
import java.util.Map;
/**
* 删除征信合同记录
*/
public class RentDormantExtensionPeriodDeleteAction {
String objectType;//文件类型
String planNumber;//项目编号
String flowUnid;;//流程编号
public String getFlowUnid() {
return flowUnid;
}
public void setFlowUnid(String flowUnid) {
this.flowUnid = flowUnid;
}
public String getObjectType() {
return objectType;
}
public void setObjectType(String objectType) {
this.objectType = objectType;
}
public String getPlanNumber() {
return planNumber;
}
public void setPlanNumber(String planNumber) {
this.planNumber = planNumber;
}
/**
* 删除征信授权文件
* @param tx
* @throws Exception
*/
public void deleteRentDormantExtensionPeriod(JBOTransaction tx) throws Exception{
BizObjectManager bom = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME);
BizObject lbDocBiz = bom.createQuery("OBJECTTYPE='contractExtensionPeriod' and plan_number=:planNumber ")
.setParameter("objectType",objectType).setParameter("planNumber",planNumber).getSingleResult(false);
if(null != lbDocBiz){
String lbDocBizId = lbDocBiz.getAttribute("id").toString();
BizObjectManager bom1 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME);
String lbDocLibraryId = bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", lbDocBizId).getSingleResult(false).getAttribute("id").toString();
BizObjectManager bom2 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME);
String docAttributeId = bom2.createQuery("library_id=:library_id").setParameter("library_id", lbDocLibraryId).getSingleResult(false).getAttribute("id").toString();
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
// 查询lb_doc_contract_list表
// BizObject bo = contBom.createQuery("attribute_id=:attributeId and file_flag='yes' and sendprocess='1' ")
BizObject bo = contBom.createQuery("attribute_id=:attributeId")
.setParameter("attributeId", docAttributeId).getSingleResult(false);
// if(null == bo){
if(null != bo){
Map<String,String> condtion= new HashMap<String,String>();
condtion.put("id", lbDocBizId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME, condtion, tx);
condtion.clear();
condtion.put("id", lbDocLibraryId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME, condtion, tx);
condtion.clear();
condtion.put("id", docAttributeId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME, condtion, tx);
}
}
}
/**
* 判断担保人是否为法人
* @param tx
* @throws Exception
*/
public String checkCreditAuth(JBOTransaction tx) throws Exception{
BizObjectManager pbm = JBOFactory.getBizObjectManager(LB_GUARANTEE_UNIT_TEMP.CLASS_NAME, tx);
BizObject pbo = pbm.createQuery("FLOWUNID=:flowUnid")
.setParameter("flowUnid", flowUnid).getSingleResult(true);
if(null == pbo){
return "";
}
return pbo.getAttribute("CERTTYPE").toString();
}
}

View File

@ -0,0 +1,190 @@
package com.tenwa.channelportal.action.alpha;
import com.alibaba.fastjson.JSONObject;
import com.amarsoft.are.jbo.*;
import com.tenwa.app.dao.ContractSignInfo;
import com.tenwa.app.manage.qiyuesuo.v2.ContractSignEnums;
import com.tenwa.app.manage.qiyuesuo.v2.ContractSignVtwoUtils;
import com.tenwa.app.manage.qiyuesuo.v2.QYSParams;
import com.tenwa.channelportal.action.generativecontract.WordToPDFUtil;
import jbo.app.tenwa.doc.LB_DOCATTRIBUTE;
import jbo.app.tenwa.doc.LB_DOCLIBRARY;
import jbo.app.tenwa.doc.LB_DOCRELATIVE;
import org.apache.log4j.Logger;
import java.io.File;
public class RentDormantExtensionPeriodSignAction {
private static Logger logger=Logger.getLogger(RentDormantExtensionPeriodSignAction.class);
private String projectId;
private String planNumber;;
private String contractNo;
private String contractId;
private String subjectId;
private String tempId;
public String getPlanNumber() {
return planNumber;
}
public void setPlanNumber(String planNumber) {
this.planNumber = planNumber;
}
public String getContractNo() {
return contractNo;
}
public void setContractNo(String contractNo) {
this.contractNo = contractNo;
}
public String getProjectId() {
return projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public String getContractId() {
return contractId;
}
public void setContractId(String contractId) {
this.contractId = contractId;
}
public String getSubjectId() {
return subjectId;
}
public void setSubjectId(String subjectId) {
this.subjectId = subjectId;
}
public String getTempId() {
return tempId;
}
public void setTempId(String tempId) {
this.tempId = tempId;
}
/**
* 保险委托授权书附件用LibreOffice实现word转换pdf
* word转换pdf
* @throws JBOException
*/
@SuppressWarnings({ "unchecked", "static-access" })
public String wordToPdfRentDormantExtensionPeriod(JBOTransaction tx) throws JBOException {
BizObjectManager bom=JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME);
BizObject DOCRELATIVE=bom.createQuery(" OBJECTTYPE='contractExtensionPeriod' and plan_number=:planNumber ").setParameter("planNumber", planNumber).getSingleResult(false);
BizObjectManager attrBom=JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME);
BizObject attrBo=null;
WordToPDFUtil wordTopdf = new WordToPDFUtil();
File file = null;
Boolean result = null;
String sql = "";
try {
if (DOCRELATIVE != null) {
String DOCRELATIVEid=DOCRELATIVE.getAttribute("id").toString();
BizObjectManager bom1=JBOFactory.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME);
String DOCLIBRARYid=bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", DOCRELATIVEid).getSingleResult(false).getAttribute("id").toString();
attrBo = attrBom.createQuery("library_id=:library_id").setParameter("library_id", DOCLIBRARYid).getSingleResult(true);
String path = attrBo.getAttribute("FULLPATH").toString();
String lastFilePath = path.replace(".docx", ".pdf");
File filePath = new File(path);
if(!filePath.exists()){
logger.info("word转换pdf的源文件不存在");
}
String lastFilePathpdf = filePath.getParent();
try {
result = wordTopdf.Word2Pdf(path, lastFilePathpdf);
} catch (Exception e) {
result = false;
e.printStackTrace();
}
if (result) {
file =new File(lastFilePath);
attrBo.setAttributeValue("FULLPATH",attrBo.getAttribute("FULLPATH").toString().replace(".docx", ".pdf"));
attrBo.setAttributeValue("FILENAME",attrBo.getAttribute("FILENAME").toString().replace(".docx", ".pdf"));
attrBo.setAttributeValue("FILEPATH",attrBo.getAttribute("FILEPATH").toString().replace(".docx", ".pdf"));
attrBo.setAttributeValue("FileSize",file.length());
attrBo.setAttributeValue("CONTENT_TYPE","application/pdf");
attrBom.saveObject(attrBo);
}
}
} catch (JBOException e) {
e.printStackTrace();
}
return attrBo.getAttribute("ID").toString();
}
/**
* 休眠还款协议盖章:对接契约锁2.0
* @param tx
* @return
* @throws Exception
*/
public String claimSignRentDormantTwo(JBOTransaction tx) throws Exception {
logger.info("claimSignRentDormantTwo 休眠还款协议盖章:对接契约锁2.0 开始 0126");
String libraryid="";
BizObjectManager bom=JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME);
BizObject DOCRELATIVE=bom.createQuery("OBJECTTYPE='contractExtensionPeriod' and CONTRACT_ID=:contractid ").setParameter("contractid", contractId).getSingleResult(false);
logger.info("claimSignRentDormantTwo 查询文件关联信息");
if (DOCRELATIVE != null) {
logger.info("claimSignRentDormantTwo 查询文件关联信息不为空时");
String DOCRELATIVEid=DOCRELATIVE.getAttribute("id").toString();
BizObjectManager bom1=JBOFactory.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME);
libraryid=bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", DOCRELATIVEid).getSingleResult(false).getAttribute("id").toString();
logger.info("claimSignRentDormantTwo 查询文件关联信息libraryid="+libraryid);
}
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
ContractSignInfo con = null;
BizObject bo = null;
String info="";
try{
bo = contBom.createQuery("library_id=:libraryid").setParameter("libraryid", libraryid).getSingleResult(true);
logger.info("claimSignRentDormantTwo 查询文件信息");
if(bo != null){
logger.info("claimSignRentDormantTwo 查询文件信息不为空时");
String fileName = bo.getAttribute("FILENAME").toString();
String filePath = bo.getAttribute("FULLPATH").toString();
logger.info("claimSignRentDormantTwo fileName="+fileName);
logger.info("claimSignRentDormantTwo filePath="+filePath);
ContractSignVtwoUtils contractSignVtwoUtils = new ContractSignVtwoUtils();
logger.info("claimSignRentDormantTwo 发起公司盖章");
QYSParams qysParams = new QYSParams();
qysParams.setList(null);//手签无需传承租人共同申请人担保人信息
qysParams.setContractSignTypeEnum(ContractSignEnums.ContractSignTypeEnum.SIGNATURE_DEFAULT);//客户手签
qysParams.setFileName(fileName);
qysParams.setFilePath(filePath);
qysParams.setSubjectId(subjectId);
qysParams.setTempId(tempId);//合同模板id
JSONObject resJson = contractSignVtwoUtils.sign(qysParams);
if (null == resJson) {
logger.warn("claimSignRentDormantTwo 20210415 调用契约锁盖章异常,返回盖章失败");
return "error";
}
logger.info("claimSignRentDormantTwo 20210415 调用契约锁盖章成功res=" + resJson.toJSONString());
return "success";
} else {
return "error";
}
} catch (Exception e) {
logger.error("claimSignInsuranceTwo 系统错误,错误信息: ", e);
e.printStackTrace();
return "error";
}
}
}

View File

@ -1,10 +1,6 @@
package com.tenwa.officetempalte.importcallback.impl;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
@ -17,9 +13,11 @@ import com.amarsoft.context.ASUser;
import com.tenwa.comm.exception.BusinessException;
import com.tenwa.reckon.util.DateUtil;
import com.tenwa.reckon.util.NumberUtils;
import jbo.app.tenwa.calc.LC_RENT_PLAN_TEMP;
import jbo.app.tenwa.calc.VI_LC_RENT_PLAN;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
public class LBRentPlanTempCallBack extends BaseImportExcelCallBack {
@ -33,22 +31,19 @@ public class LBRentPlanTempCallBack extends BaseImportExcelCallBack {
BigDecimal rent=new BigDecimal(NumberUtils.round(importObject.getAttribute("rent").getDouble(),2)+"");
BigDecimal CORPUS=new BigDecimal(NumberUtils.round(importObject.getAttribute("CORPUS").getDouble(),2)+"");
BigDecimal INTEREST=new BigDecimal(NumberUtils.round(importObject.getAttribute("INTEREST").getDouble(),2)+"");
BizObject virent=JBOFactory.createBizObjectQuery(VI_LC_RENT_PLAN.CLASS_NAME,"payment_number=:paymentnumber and plan_list=:planlist").setParameter("paymentnumber", paymentnumber).setParameter("planlist", planlist).getSingleResult(false);
if(virent!=null&&!virent.getAttribute("planstatus").getString().equals("未回笼")){
BigDecimal DB_CORPUS=new BigDecimal(NumberUtils.round(virent.getAttribute("CORPUS").getDouble(),2)+"");
BigDecimal DB_INTEREST=new BigDecimal(NumberUtils.round(virent.getAttribute("INTEREST").getDouble(),2)+"");
if (CORPUS.compareTo(DB_CORPUS) != 0) {
throw new RuntimeException("" + planlist + "期租金计划【已回笼】导入本金与系统不一致!");
}
if (INTEREST.compareTo(DB_INTEREST) != 0) {
throw new RuntimeException("" + planlist + "期租金计划【已回笼】导入利息与系统不一致!");
}
}
if(rent.compareTo(CORPUS.add(INTEREST))!=0){
throw new BusinessException("租金计划期次:"+planlist+"租金不等于本金加利息,请检查后再导入");
}
ASResultSet as = Sqlca.getASResultSet(new SqlObject("select RENT from lc_rent_plan where PAYMENT_NUMBER= :paymentNum and PLAN_LIST= :planList and getRentOver(PAYMENT_NUMBER, PLAN_LIST) < rent")
.setParameter("paymentNum", paymentnumber).setParameter("planList", planlist));
if (as.next()) {
if (BigDecimal.valueOf(as.getDouble("RENT")).compareTo(rent) != 0) {
throw new RuntimeException("" + planlist + "期租金计划导入【回笼】数据与系统数据比较异常,请检查!");
}
}
BizObjectManager bm=JBOFactory.getBizObjectManager(LC_RENT_PLAN_TEMP.CLASS_NAME,tx);
BizObject rentBo=bm.createQuery("flowunid=:flowunid and payment_number=:paymentnumber and plan_list=:planlist")
.setParameter("flowunid", flowunid)

View File

@ -46,7 +46,7 @@ public class CreateVoucherEbankMoney {
// 回款-多余回款分解
if("PZ2019070100000018".equals(VOUCHERNO) || "PZ2019073000000146".equals(VOUCHERNO)){
//sql= "SELECT IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID,CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME,LPI.BUSINESSTYPE,LE.EBANK_SN FROM (SELECT MAX(CONTRACT_ID) AS CONTRACT_ID,EBANK_NUMBER FROM LC_RENT_INCOME WHERE RENT > 0 GROUP BY EBANK_NUMBER) LRI LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID FROM LC_RENT_INCOME_TEMP GROUP BY FLOWUNID,CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID LEFT JOIN LC_EBANK LE ON LE.ID = LRI.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LE.EBANK_SN NOT IN (SELECT MAX(F57) AS F57 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%回款-多余回款分解%' GROUP BY F3) AND LRIT.FLOWUNID = '"+flowunid+"' ";
sql= "SELECT IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID,CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME,LPI.BUSINESSTYPE,LE.EBANK_SN FROM (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,EBANK_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY FLOWUNID,EBANK_NUMBER) LRIT LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LE.EBANK_SN NOT IN (SELECT MAX(F57) AS F57 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%»Ø¿î-¶àÓà»Ø¿î·Ö½â%' GROUP BY F3) AND LRIT.FLOWUNID = '"+flowunid+"' ";
sql= "SELECT IFNULL(LE.MAYOPE_MONEY,0) AS MONEY, DATE_FORMAT(NOW(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(),'%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE ID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE ID=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE ID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE ID=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME, LPI.BUSINESSTYPE, LE.EBANK_SN FROM ( SELECT FLOWUNID, MAX(CONTRACT_ID) AS CONTRACT_ID, EBANK_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY FLOWUNID, EBANK_NUMBER ) LRIT LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LE.MAYOPE_MONEY,0)>0 AND LRIT.FLOWUNID='"+flowunid+"'";
}else if("PZ2019070100000024".equals(VOUCHERNO) || "PZ2019073000000147".equals(VOUCHERNO)){
//sql= "SELECT -IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID,CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME,LPI.BUSINESSTYPE,LE.EBANK_SN FROM (SELECT LRI.EBANK_NUMBER,MAX(LRI.CONTRACT_ID) AS CONTRACT_ID,MAX(LRIT.FLOWUNID) AS FLOWUNID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_INCOME_TEMP LRIT ON LRIT.CONTRACT_ID=LRI.CONTRACT_ID AND LRIT.PLAN_LIST=LRI.PLAN_LIST AND LRIT.HIRE_LIST=LRI.HIRE_LIST WHERE LRI.RENT < 0 GROUP BY LRI.EBANK_NUMBER)LRIT LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LE.EBANK_SN NOT IN (SELECT MAX(F57) AS F57 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%回款反冲-多余回款分解%' GROUP BY F3) AND LRIT.FLOWUNID = '"+flowunid+"' ";
sql= "SELECT - IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID,CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE ID = LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME,LPI.BUSINESSTYPE,LE.EBANK_SN,LRIT.FLOWUNID FROM (SELECT FLOWUNID,EBANK_NUMBER,MAX(CONTRACT_ID) AS CONTRACT_ID FROM LC_RENT_INCOME_TEMP GROUP BY FLOWUNID,EBANK_NUMBER) LRIT LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LE.EBANK_SN NOT IN (SELECT MAX(F57) AS F57 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%回款反冲-多余回款分解%' GROUP BY F3) AND LRIT.FLOWUNID = '"+flowunid+"'";

View File

@ -234,6 +234,15 @@ public class CreateVoucherLoanDistributor {
String isBalance4 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PERSONAL_INSURANCE","isBalance");
// 判断贴息是否差额
String isBalance5 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "DISCOUNT_INTEREST","isBalance");
if(isBalance5==null || "".equals(isBalance5)) {
Map<String, List<Map<String, String>>> isBalance5List = ProductParamUtil.getProductComponentDecisionTable(PRODUCT_ID, "PRD0301", "segmented_financing","IsBalanceLending");
if(isBalance5List.get("segmented_financing")!=null && isBalance5List.get("segmented_financing").get(0)!=null) {
isBalance5 = isBalance5List.get("segmented_financing").get(0).get("IsBalanceLending");
}
}
/**
* -----------------------------------------修改结束--------------------------------------------------------------------
*/

View File

@ -2,11 +2,16 @@ package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.jbo.manager.DataUtil;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedCompensatory;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome;
import com.tenwa.voucher.serviceImp.OverdueRepayPlanVoucherPSBC;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -33,35 +38,50 @@ public class IncomeVoucher extends BaseBussiness {
*/
CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome();
// 汽车回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121600000162", "feetype2",userid); //回款-收到客户保证金 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121600000163", "feetype1",userid); //回款-收到客户手续费(一次性)--回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121700000164", "feetype1",userid); //回款-收到客户手续费(按月) --回租
String sql="SELECT FEE_TYPE FROM LC_FUND_INCOME_TEMP WHERE FLOWUNID='"+FlowUnid+"' GROUP BY FEE_TYPE";
List<Map<String, String>> queryList = DataUtil.query(sql);
for (Map<String, String> map : queryList) {
String FEE_TYPE = map.get("FEE_TYPE");
if("feetype30".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --直租
}else if("feetype4".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价--直租
}else if("feetype2".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121600000162", "feetype2",userid); //回款-收到客户保证金 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2020041000000003", "feetype2",userid); //直租-收到客户保证金-直租
}else if("feetype1".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121600000163", "feetype1",userid); //回款-收到客户手续费(一次性)--回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121700000164", "feetype1",userid); //回款-收到客户手续费(按月) --回租
}else if("feetype32".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000006", "feetype32",userid); //回款-收到个人意外险(网银来款)--回租
}else if("feetype27".equals(FEE_TYPE)||"feetype33".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000005", FEE_TYPE,userid); //回款-收到客户贴息 --回租
}
}
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000006", "feetype32",userid); //回款-收到个人意外险(网银来款)--回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000005", "feetype33",userid); //回款-收到客户贴息 --回租
// 汽车直租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价--直租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2020041000000003", "feetype2",userid); //直租-收到客户保证金
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2020080400000003", "feetype5",userid); //直租-收到客户首付款
/**
* 汽车网银回款-租金部分
*/
CreateVoucherRentIncome cvri=new CreateVoucherRentIncome();
// 汽车回租
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租)
// 汽车直租
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租)
sql="SELECT LCI.LEAS_FORM FROM LC_RENT_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID WHERE LFIT.FLOWUNID='"+FlowUnid+"' GROUP BY LCI.LEAS_FORM";
List<Map<String, String>> queryList2 = DataUtil.query(sql);
for (Map<String, String> map : queryList2) {
// 汽车回租
if("02".equals(map.get("LEAS_FORM"))) {
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租)
// 汽车直租
}else {
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租)
}
}
/**
* 代偿反冲
*/
@ -70,7 +90,11 @@ public class IncomeVoucher extends BaseBussiness {
cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000031",userid,Sqlca);//代偿逾期利息
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解
sql="SELECT LE.ID FROM LC_EBANK_TEMP LE LEFT JOIN (SELECT MAX(F57) AS F57 FROM VOUCHER_V8 WHERE MODULE_NAME = '回款-多余回款分解' GROUP BY F3)V8 ON V8.F57=LE.EBANK_SN WHERE LE.FLOWUNID='"+FlowUnid+"' AND V8.F57 IS NULL";
List<Map<String, String>> queryList3 = DataUtil.query(sql);
if(queryList3.size()>0) {
cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解
}
return "true";
}

View File

@ -74,7 +74,7 @@ public class CreateVoucherMonthSettlement {
if ("PZ2018071200000016".equals(voucherNo)) {
// sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,(IFNULL(LRP.CORPUS, 0) - ROUND(IFNULL(LRP.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRP.CORPUS, 0) - ROUND(IFNULL(LRP.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) + (IFNULL(CRM.INTEREST_TAX, 0) - ROUND(IFNULL(CRM.INTEREST_TAX, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,CRM.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 FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(INTEREST) AS INTEREST,MIN(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.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 (SELECT F58 FROM voucher_v8 WHERE module_name LIKE '%月结-确认未实现利息收入%' GROUP BY F58)V8 ON V8.f58=CRM.ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND LCI.LEAS_FORM='02' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND ((IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 OR (DATE_FORMAT(LRI.HIRE_DATE, '%Y/%m') < DATE_FORMAT(LRP.PLAN_DATE, '%Y/%m') AND LRP.COLLECT_MSG IN ('微信支付', '银联支付'))) AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 AND V8.f58 IS NULL ";
// sql="SELECT ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, CRM.ID, CRM.INTEREST_TAX AS MONEY, ROUND(CRM.INTEREST_TAX/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX, ( CRM.INTEREST_TAX-ROUND(CRM.INTEREST_TAX/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) ) AS TAX, ( IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) ) AS CORPUS_TAX, ( ( IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) )+( IFNULL(CRM.INTEREST_TAX, 0)-ROUND(IFNULL(CRM.INTEREST_TAX,0)/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) ) ) AS CORPUS_ADD_INTEREST_TAX, DATE_FORMAT(NOW(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(),'%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN ( SELECT CONTRACT_ID, PLAN_LIST, SUM(INTEREST) AS INTEREST, MIN(HIRE_DATE) AS HIRE_DATE, MAX(INPUTTIME) AS IMPUTTIME FROM LC_RENT_INCOME GROUP BY CONTRACT_ID, PLAN_LIST ) LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID AND LRI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID=LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT CONTRACT_ID, MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID ) LRI2 ON LRI2.CONTRACT_ID=LCI.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 ( SELECT RENT_PLAN_ID, PLAN_LIST FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID, PLAN_LIST ) DDI ON DDI.RENT_PLAN_ID=LRP.ID AND DDI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%月结-确认未实现利息收入%' GROUP BY F58 ) V8 ON V8.F58=CRM.ID WHERE LPI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND LCI.LEAS_FORM='02' AND DATE_FORMAT(CRM.END_DATE,'%Y/%m')<=DATE_FORMAT(NOW(),'%Y/%m') AND ( ( IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0) )<>0 OR ( ( IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0) )=0 AND DATE_FORMAT(IFNULL(LRI.IMPUTTIME,LRI.HIRE_DATE),'%Y/%m')<>DATE_FORMAT(CRM.END_DATE,'%Y/%m') ) ) AND ( CAST(CRM.RENT_LIST AS SIGNED)-CAST(IFNULL(LRI2.PLAN_LIST,0) AS SIGNED) )<=2 AND V8.F58 IS NULL AND DDI.RENT_PLAN_ID IS NULL AND LCI.CONTRACT_STATUS='31' ";
sql="SELECT ROUND( ( GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, CRM.ID, (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) AS MONEY, ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) - ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS TAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN (SELECT CONTRACT_ID, PLAN_LIST, SUM(INTEREST) AS INTEREST, MIN(HIRE_DATE) AS HIRE_DATE, MAX(INPUTTIME) AS IMPUTTIME FROM LC_RENT_INCOME WHERE IFNULL(INTEREST,0)>0 GROUP BY CONTRACT_ID, PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID, MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = LCI.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 (SELECT RENT_PLAN_ID, PLAN_LIST FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE = 'bondRepay' GROUP BY RENT_PLAN_ID, PLAN_LIST) DDI ON DDI.RENT_PLAN_ID = LRP.ID AND DDI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN (SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '月结-确认未实现利息收入' AND F58 IS NOT NULL GROUP BY F58) V8 ON V8.F58 = CRM.ID WHERE LPI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND LCI.LEAS_FORM = '02' AND LCI.CONTRACT_STATUS = '31' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') <= DATE_FORMAT(NOW(), '%Y/%m') AND ( ( IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) ) <> 0 OR ( ( IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) ) = 0 AND DATE_FORMAT( IFNULL(LRI.IMPUTTIME, LRI.HIRE_DATE), '%Y/%m' ) <> DATE_FORMAT(CRM.END_DATE, '%Y/%m') ) ) AND ( CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED) ) <= 2 AND (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))>0 AND DDI.RENT_PLAN_ID IS NULL AND V8.F58 IS NULL";
sql="SELECT CRM.RENT_LIST AS PLAN_LIST, ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, CRM.ID, (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) AS MONEY, ROUND((IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE), 2) AS MONEYNOTAX, ((IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))-ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX, DATE_FORMAT(NOW(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(),'%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN ( SELECT CONTRACT_ID, PLAN_LIST, SUM(INTEREST) AS INTEREST, MIN(HIRE_DATE) AS HIRE_DATE, MAX(INPUTTIME) AS IMPUTTIME FROM LC_RENT_INCOME WHERE IFNULL(INTEREST,0)>0 GROUP BY CONTRACT_ID, PLAN_LIST ) LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID AND LRI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID=LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT CONTRACT_ID, MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID ) LRI2 ON LRI2.CONTRACT_ID=LCI.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 ( SELECT RENT_PLAN_ID, PLAN_LIST FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID, PLAN_LIST ) DDI ON DDI.RENT_PLAN_ID=LRP.ID AND DDI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='月结-确认未实现利息收入' AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=CRM.ID WHERE LPI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND LCI.LEAS_FORM='02' AND LCI.CONTRACT_STATUS='31' AND DATE_FORMAT(CRM.END_DATE,'%Y/%m')<=DATE_FORMAT(NOW(),'%Y/%m') AND ((IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))<>0 OR ((IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))=0 AND DATE_FORMAT(IFNULL(LRI.IMPUTTIME,LRI.HIRE_DATE),'%Y/%m')<>DATE_FORMAT(CRM.END_DATE,'%Y/%m'))) AND (CAST(CRM.RENT_LIST AS SIGNED)-CAST(IFNULL(LRI2.PLAN_LIST,0) AS SIGNED))<=2 AND DDI.RENT_PLAN_ID IS NULL AND V8.F58 IS NULL";
// 月结-确认手续费
} else if ("PZ2018071200000017".equals(voucherNo)) {
sql = "SELECT CRM.ID, CRM.INTEREST AS MONEY, ROUND(CRM.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX, ( CRM.INTEREST-ROUND(CRM.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) ) AS TAX, CRM.FEE AS FEEMONEY, IFNULL((CRM.FEE-ROUND(CRM.FEE/GETTAX(LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX, CRM.DISCOUNT AS DISCOUNT, IFNULL((CRM.DISCOUNT-ROUND(CRM.DISCOUNT/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE))),0) AS DISCOUNT_NOTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID=LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%月结-确认手续费%' GROUP BY F58 ) V8 ON V8.F58=CRM.ID WHERE LPI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND LUL.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE,'%Y/%m')=DATE_FORMAT(NOW(),'%Y/%m') AND LCCT.HANDLING_CHARGE_MONEY_TYPE='0020' AND V8.F58 IS NULL AND LCI.CONTRACT_STATUS='31' ";
@ -88,7 +88,7 @@ public class CreateVoucherMonthSettlement {
*/
if("PZ2019070100000028".equals(voucherNo)) {
// sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,(IFNULL(LRP.CORPUS, 0) - ROUND(IFNULL(LRP.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRP.CORPUS, 0) - ROUND(IFNULL(LRP.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) + (IFNULL(CRM.INTEREST_TAX, 0) - ROUND(IFNULL(CRM.INTEREST_TAX, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,CRM.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 FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(INTEREST) AS INTEREST,MIN(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.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 (SELECT F58 FROM voucher_v8 WHERE module_name LIKE '%月结-确认未实现利息收入%' GROUP BY F58)V8 ON V8.f58=CRM.ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND LCI.LEAS_FORM='01' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND ((IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 OR (DATE_FORMAT(LRI.HIRE_DATE, '%Y/%m') < DATE_FORMAT(LRP.PLAN_DATE, '%Y/%m') AND LRP.COLLECT_MSG IN ('微信支付', '银联支付'))) AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 AND V8.f58 IS NULL ";
sql="SELECT ROUND( ( GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, CRM.ID, (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) AS MONEY, ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) - ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS TAX, ( IFNULL(LRP.CORPUS, 0) - ROUND( IFNULL(LRP.CORPUS, 0) / GETTAX ( LCI.LEAS_FORM, '本金', LCCT.START_DATE ), 2 ) ) AS CORPUS_TAX, ( ( IFNULL(LRP.CORPUS, 0) - ROUND( IFNULL(LRP.CORPUS, 0) / GETTAX ( LCI.LEAS_FORM, '本金', LCCT.START_DATE ), 2 ) ) + ( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) - ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) ) AS CORPUS_ADD_INTEREST_TAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN (SELECT CONTRACT_ID, PLAN_LIST, SUM(INTEREST) AS INTEREST, MIN(HIRE_DATE) AS HIRE_DATE, MAX(INPUTTIME) AS IMPUTTIME FROM LC_RENT_INCOME WHERE IFNULL(INTEREST,0)>0 GROUP BY CONTRACT_ID, PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID, MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = LCI.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 (SELECT RENT_PLAN_ID, PLAN_LIST FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE = 'bondRepay' GROUP BY RENT_PLAN_ID, PLAN_LIST) DDI ON DDI.RENT_PLAN_ID = LRP.ID AND DDI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN (SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%月结-确认未实现利息收入%' GROUP BY F58) V8 ON V8.F58 = CRM.ID WHERE LPI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND LCI.LEAS_FORM = '01' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND ( ( I FNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) ) <>44 0 OR ( ( IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) 4 ) = 0 AND DATE_FORMAT( IFNULL(LRI.IMPUTTIME, LRI.HIRE_DATE), '%Y/%m' ) <> DATE_FORMAT(CRM.END_DATE, '%Y/%m') ) ) AND ( CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED) ) <= 2 AND V8.F58 IS NULL AND DDI.RENT_PLAN_ID IS NULL AND LCI.CONTRACT_STATUS = '31'";
sql="SELECT CRM.RENT_LIST AS PLAN_LIST, ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, CRM.ID, (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0)) AS MONEY, ROUND((IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE), 2) AS MONEYNOTAX, ((IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))-ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX, (IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX, ((IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) +((IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))-ROUND( (IFNULL(CRM.INTEREST_TAX,0)-IFNULL(LRI.INTEREST,0))/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE), 2))) AS CORPUS_ADD_INTEREST_TAX, DATE_FORMAT(NOW(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(NOW(),'%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN ( SELECT CONTRACT_ID, PLAN_LIST, SUM(INTEREST) AS INTEREST, MIN(HIRE_DATE) AS HIRE_DATE, MAX(INPUTTIME) AS IMPUTTIME FROM LC_RENT_INCOME WHERE IFNULL(INTEREST,0)>0 GROUP BY CONTRACT_ID, PLAN_LIST ) LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID AND LRI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID=LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT CONTRACT_ID, MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID ) LRI2 ON LRI2.CONTRACT_ID=LCI.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 ( SELECT RENT_PLAN_ID, PLAN_LIST FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID, PLAN_LIST ) DDI ON DDI.RENT_PLAN_ID=LRP.ID AND DDI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%月结-确认未实现利息收入%' GROUP BY F58 ) V8 ON V8.F58=CRM.ID WHERE LPI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND LCI.LEAS_FORM='01' AND DATE_FORMAT(CRM.END_DATE,'%Y/%m')=DATE_FORMAT(NOW(),'%Y/%m') AND ((IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))<>0 OR ((IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))=0 AND DATE_FORMAT(IFNULL(LRI.IMPUTTIME,LRI.HIRE_DATE),'%Y/%m')<>DATE_FORMAT(CRM.END_DATE,'%Y/%m'))) AND (CAST(CRM.RENT_LIST AS SIGNED)-CAST(IFNULL(LRI2.PLAN_LIST,0) AS SIGNED))<=2 AND V8.F58 IS NULL AND DDI.RENT_PLAN_ID IS NULL AND LCI.CONTRACT_STATUS='31'";
}else if("PZ2019070100000029".equals(voucherNo)) {
sql = "SELECT CRM.ID, CRM.INTEREST AS MONEY, ROUND(CRM.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX, ( CRM.INTEREST-ROUND(CRM.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) ) AS TAX, CRM.FEE AS FEEMONEY, IFNULL((CRM.FEE-ROUND(CRM.FEE/GETTAX(LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX, CRM.DISCOUNT AS DISCOUNT, IFNULL((CRM.DISCOUNT-ROUND(CRM.DISCOUNT/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE))),0) AS DISCOUNT_NOTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, CRM.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID=LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%月结-确认手续费%' GROUP BY F58 ) V8 ON V8.F58=CRM.ID WHERE LPI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND LUL.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE,'%Y/%m')=DATE_FORMAT(NOW(),'%Y/%m') AND LCCT.HANDLING_CHARGE_MONEY_TYPE='0020' AND V8.F58 IS NULL AND LCI.CONTRACT_STATUS='31' ";
}

View File

@ -50,11 +50,11 @@ public class CreateVoucherRentIncome {
map.put("FLOWUNID", flowunid);
if (("PZ2018072100000024".equals(VOUCHERNO)) || ("PZ2019070100000016".equals(VOUCHERNO))) {
sql = "SELECT ROUND((GETTAX(LCI.LEAS_FORM,'理쏜',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, IFNULL(LRIT.INTEREST,0) AS MONEY, ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX, (IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) AS MONEYTAX, IFNULL(LRIT.RENT,0) AS RENTMONEY, IFNULL(LRIT.CORPUS,0) AS CORPUS, (IFNULL(LRIT.CORPUS,0)-ROUND(IFNULL(LRIT.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) AS CORPUS_TAX, ((IFNULL(LRIT.CORPUS,0)-ROUND(IFNULL(LRIT.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) +(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE), 2))) AS CORPUS_ADD_INTEREST_TAX, DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE!='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE!='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, LRIT.PLAN_LIST, LRP.ID AS F58, CASE WHEN ( SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) GROUP BY EBANK_NUMBER ) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.RENT,0)>0 AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') AND NOT EXISTS(SELECT DDI.ID FROM D_DEPOSITRETURN_INFO DDI WHERE DDI.MONEY_TYPE='bondRepay' AND DDI.RENT_PLAN_ID=LRP.ID ) AND LRIT.FLOWUNID=:FLOWUNID";
sql = "SELECT ROUND((GETTAX(LCI.LEAS_FORM,'理쏜',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, IFNULL(LRIT.INTEREST,0) AS MONEY, ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX, (IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) AS MONEYTAX, IFNULL(LRIT.RENT,0) AS RENTMONEY, IFNULL(LRIT.CORPUS,0) AS CORPUS, (IFNULL(LRIT.CORPUS,0)-ROUND(IFNULL(LRIT.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) AS CORPUS_TAX, ((IFNULL(LRIT.CORPUS,0)-ROUND(IFNULL(LRIT.CORPUS,0)/GETTAX(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) +(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE), 2))) AS CORPUS_ADD_INTEREST_TAX, DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE!='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE!='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, LRIT.PLAN_LIST, LRP.ID AS F58, CASE WHEN ( SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) GROUP BY EBANK_NUMBER ) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 (SELECT DDI.RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO DDI WHERE DDI.MONEY_TYPE='bondRepay' GROUP BY DDI.RENT_PLAN_ID )DDI ON DDI.RENT_PLAN_ID=LRP.ID WHERE LPI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND IFNULL(LRIT.RENT,0)>0 AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') AND DDI.RENT_PLAN_ID IS NULL AND LRIT.FLOWUNID=:FLOWUNID";
} else if (("PZ2018080400000081".equals(VOUCHERNO)) || ("PZ2019070100000017".equals(VOUCHERNO))) {
sql = "SELECT ROUND((GETTAX(LCI.LEAS_FORM,'理쏜',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, IFNULL(LRIT.INTEREST,0) AS MONEY, ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX, (IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) AS MONEYTAX, IFNULL(LRIT.RENT,0) AS RENTMONEY, IFNULL(LRIT.CORPUS,0) AS CORPUS, DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE!='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE!='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, LRIT.PLAN_LIST, LRP.ID AS F58, CASE WHEN ( SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) GROUP BY EBANK_NUMBER ) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.RENT,0)>0 AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') AND NOT EXISTS(SELECT DDI.ID FROM D_DEPOSITRETURN_INFO DDI WHERE DDI.MONEY_TYPE='bondRepay' AND DDI.RENT_PLAN_ID=LRP.ID ) AND LRIT.FLOWUNID=:FLOWUNID";
sql = "SELECT ROUND((GETTAX(LCI.LEAS_FORM,'理쏜',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, IFNULL(LRIT.INTEREST,0) AS MONEY, ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX, (IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/GETTAX(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) AS MONEYTAX, IFNULL(LRIT.RENT,0) AS RENTMONEY, IFNULL(LRIT.CORPUS,0) AS CORPUS, DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE!='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE!='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, LRIT.PLAN_LIST, LRP.ID AS F58, CASE WHEN ( SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) GROUP BY EBANK_NUMBER ) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 (SELECT DDI.RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO DDI WHERE DDI.MONEY_TYPE='bondRepay' GROUP BY DDI.RENT_PLAN_ID )DDI ON DDI.RENT_PLAN_ID=LRP.ID WHERE LPI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND IFNULL(LRIT.RENT,0)>0 AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') AND DDI.RENT_PLAN_ID IS NULL AND LRIT.FLOWUNID=:FLOWUNID";
} else if (("PZ2018072100000025".equals(VOUCHERNO)) || ("PZ2019070100000014".equals(VOUCHERNO))) {
sql = "SELECT ROUND((GETTAX(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, IFNULL(LRIT.PENALTY,0) AS MONEY, ROUND(IFNULL(LRIT.PENALTY,0)/GETTAX(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2) AS MONEYNOTAX, (IFNULL(LRIT.PENALTY,0)-ROUND(IFNULL(LRIT.PENALTY,0)/GETTAX(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2)) AS MONEYTAX, DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE!='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE!='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, LRIT.PLAN_LIST, LRP.ID AS F58, CASE WHEN ( SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) GROUP BY EBANK_NUMBER ) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.PENALTY,0)>0 AND NOT EXISTS(SELECT DDI.ID FROM D_DEPOSITRETURN_INFO DDI WHERE DDI.MONEY_TYPE='bondRepay' AND DDI.RENT_PLAN_ID=LRP.ID) AND LRIT.FLOWUNID=:FLOWUNID";
sql = "SELECT ROUND((GETTAX(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM, IFNULL(LRIT.PENALTY,0) AS MONEY, ROUND(IFNULL(LRIT.PENALTY,0)/GETTAX(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2) AS MONEYNOTAX, (IFNULL(LRIT.PENALTY,0)-ROUND(IFNULL(LRIT.PENALTY,0)/GETTAX(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2)) AS MONEYTAX, DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE!='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE!='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, LRIT.PLAN_LIST, LRP.ID AS F58, CASE WHEN ( SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) GROUP BY EBANK_NUMBER ) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID=LE.CUSTOMER_ID ) WHEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) IS NOT NULL THEN ( SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO=LE.CUSTOMER_ID ) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 (SELECT DDI.RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO DDI WHERE DDI.MONEY_TYPE='bondRepay' GROUP BY DDI.RENT_PLAN_ID )DDI ON DDI.RENT_PLAN_ID=LRP.ID WHERE LPI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND IFNULL(LRIT.PENALTY,0)>0 AND DDI.RENT_PLAN_ID IS NULL AND LRIT.FLOWUNID=:FLOWUNID";
}

View File

@ -0,0 +1,44 @@
package jbo.app.tenwa.calc;
/**
* 休眠还款协议信息表 - JBO命名常量类<br><br>
* Note: This file is generated by ADE tools, <em>dont</em> modify it.<br>
*/
public interface LB_RENT_DORMANT_EXTENSION_PERIOD {
/**
* 休眠租金临时表<br><br>
* 代表本类映射的BizObjectClass
*/
public static final String CLASS_NAME = "jbo.app.tenwa.calc.LB_RENT_DORMANT_EXTENSION_PERIOD";
/**
* 标识 STRING(32)<br>
*/
public static final String ID = "ID";
/**
* 流程编号 STRING(32)<br>
*/
public static final String FLOWUNID = "FLOWUNID";
/**
* 项目编号 STRING(32)<br>
*/
public static final String PROJECT_ID = "PROJECT_ID";
/**
* 合同编号 STRING(32)<br>
*/
public static final String CONTRACT_ID = "CONTRACT_ID";
/**
* 中车合同编号 STRING(32)<br>
*/
public static final String zc_contract_num = "zc_contract_num";
/**
* 休眠还款协议编号 STRING(32)<br>
*/
public static final String rent_dormant_num = "rent_dormant_num";
/**
* 合同签署时间 STRING(32)<br>
*/
public static final String contract_date = "contract_date";
}

View File

@ -345,4 +345,8 @@ public interface LB_CONTRACT_INFO{
* 资方名称 STRING(10)<br>
*/
public static final String CORPUS_SOURCE = "CORPUS_SOURCE";
/**
* ºÏͬ״̬ STRING(30)<br>
*/
public static final String ap_contract_status = "ap_contract_status";
}

View File

@ -333,4 +333,8 @@ public interface LB_CONTRACT_INFO_HIS{
* 资方名称 STRING(10)<br>
*/
public static final String CORPUS_SOURCE = "CORPUS_SOURCE";
/**
* ºÏͬ״̬ STRING(30)<br>
*/
public static final String ap_contract_status = "ap_contract_status";
}

View File

@ -337,4 +337,8 @@ public interface LB_CONTRACT_INFO_TEMP{
* 资方名称 STRING(10)<br>
*/
public static final String CORPUS_SOURCE = "CORPUS_SOURCE";
/**
* ºÏͬ״̬ STRING(30)<br>
*/
public static final String ap_contract_status = "ap_contract_status";
}

View File

@ -0,0 +1,80 @@
package jbo.voucher;
import java.lang.String;
/**
* 凭证列表 - JBO命名常量类<br><br>
* Note: This file is generated by ADE tools, <em>dont</em> modify it.<br>
*/
public interface VOUCHER_LIST{
/**
* 凭证列表<br><br>
* 代表本类映射的BizObjectClass
*/
public static final String CLASS_NAME = "jbo.voucher.VOUCHER_LIST";
/**
* 排序 INT(32)<br>
*/
public static final String SORT_NO = "SORT_NO";
/**
* 凭证编号 STRING(32)<br>
*/
public static final String F3 = "F3";
/**
* 凭证名称 STRING(200)<br>
*/
public static final String MODULE_NAME = "MODULE_NAME";
/**
* 合同编号 STRING(60)<br>
*/
public static final String CONTRACT_NUMBER = "CONTRACT_NUMBER";
/**
* 摘要 STRING(200)<br>
*/
public static final String F5 = "F5";
/**
* 记账日期 STRING(32)<br>
*/
public static final String F1 = "F1";
/**
* 到账日期 STRING(32)<br>
*/
public static final String F15 = "F15";
/**
* 金额 STRING(32)<br>
*/
public static final String MONEYS = "MONEYS";
/**
* NC传输状态 STRING(32)<br>
*/
public static final String NC_FLAG = "NC_FLAG";
/**
* NC传输批次号 STRING(32)<br>
*/
public static final String NC_BATCH = "NC_BATCH";
/**
* NC传输日期 STRING(32)<br>
*/
public static final String NC_DATE = "NC_DATE";
/**
* 生成时间 STRING(32)<br>
*/
public static final String GENERATE_DATE = "GENERATE_DATE";
/**
* 账套 STRING(50)<br>
*/
public static final String F48 = "F48";
/**
* 主体名称 STRING(260)<br>
*/
public static final String F50 = "F50";
/**
* 会计年 STRING(10)<br>
*/
public static final String F51 = "F51";
/**
* 会计月 STRING(10)<br>
*/
public static final String F52 = "F52";
}

View File

@ -0,0 +1,21 @@
-- 新增模板VOUCHER_V8_LIST
DELETE FROM AWE_DO_CATALOG WHERE DONO='VOUCHER_V8_LIST';
DELETE FROM AWE_DO_LIBRARY WHERE DONO='VOUCHER_V8_LIST';
INSERT INTO apzl.awe_do_catalog (dono, doname, dodescribe, dotype, doclass, isinuse, colcount, modeid, jboclass, jbofrom, jbowhere, jbogroup, jboorder, businessprocess, exportflag, inputuser, inputtime, updateuser, updatetime, remark, isvalidate, parent) VALUES ('VOUCHER_V8_LIST', 'V8凭证表', null, '30250', null, '1', '1', 'default', 'jbo.voucher.VOUCHER_LIST', 'O', '', '', 'SORT_NO desc', '', null, 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '', '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 ('VOUCHER_V8_LIST', '1040', '1040', '1', 'O', 'f1', 'f1', 'String', '', '记账日期', '', '1', 'Date', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 1, '0', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '1045', '1045', '1', 'O', 'f15', 'f15', 'String', '', '到账日期', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '0', 1, '0', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '', '', '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 ('VOUCHER_V8_LIST', '1046', '1046', '1', 'O', 'MONEYS', 'MONEYS', 'Number', '', '金额', '', '1', 'Text', '2', '1', '', '', '', '20', '1', '0', '0', '1', '0', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '', '', '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 ('VOUCHER_V8_LIST', '1060', '1010', '1', 'O', 'f3', 'f3', 'String', '', '凭证号', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 1, '0', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '1076', '1076', '1', 'O', 'NC_FLAG', 'NC_FLAG', 'String', '', 'NC传输状态', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '1077', '1077', '1', 'O', 'NC_BATCH', 'NC_BATCH', 'String', '', 'NC传输批次号', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '1078', '1078', '1', 'O', 'NC_DATE', 'NC_DATE', 'String', '', 'NC传输日期', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '1275', '1015', '1', 'O', 'contract_number', 'contract_number', 'String', '', '合同编号', '', '1', 'Text', '1', '1', '', '', '', '32', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '1280', '1016', '1', 'O', 'f5', 'f5', 'String', '', '摘要', '', '1', 'Text', '1', '1', '', '', '', '900', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '0', '', '1', '', '', '', 'Equals,Like');
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 ('VOUCHER_V8_LIST', '1300', '1085', '1', 'O', 'GENERATE_DATE', 'GENERATE_DATE', 'String', '', '生成日期', '', '1', 'Date', '3', '1', '', '', '', '20', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'BigEqualsThan,Area');
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 ('VOUCHER_V8_LIST', '1360', '1360', '1', 'O', 'f48', 'f48', 'String', '', '账套', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like,Equals');
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 ('VOUCHER_V8_LIST', '1380', '1380', '1', 'O', 'f50', 'f50', 'String', '', '主体名称', '', '1', 'Text', '1', '1', '', '', '', '20', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like,Equals');
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 ('VOUCHER_V8_LIST', '1970', '1011', '1', 'O', 'module_name', 'module_name', 'String', '', '凭证名称', '', '1', 'Text', '1', '1', '', '', '', '500', '1', '0', '0', '1', '1', 1, '0', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '0', '', '1', '', '', '', 'Like');
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 ('VOUCHER_V8_LIST', '2110', '1072', '1', '', '''''', 'detail', 'String', '', '明细', '', '1', 'Text', '1', '1', '', '', '', null, '1', '0', '0', '0', '0', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:34', '', '', '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 ('VOUCHER_V8_LIST', '2120', '2120', '1', 'O', 'f51', 'f51', 'String', '', '会计年', '', '1', 'Text', '1', '1', '', '', '', '30', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like,Equals');
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 ('VOUCHER_V8_LIST', '2130', '2130', '1', 'O', 'f52', 'f52', 'String', '', '会计月', '', '1', 'Text', '1', '1', '', '', '', '30', '1', '0', '0', '1', '1', 0, '', '', '', 'SYS_Designer', '2022/06/27 13:15:54', 'SYS_Designer', '2022/06/27 13:19:35', '0', '', '1', '', '', '', 'Like,Equals');

View File

@ -50,6 +50,21 @@ public class CopyFundPaymentToTemp extends BaseBussiness{
}
}
}
//·ÖÎÈÚ
String settleMethod = Sqlca.getString("select SETTLE_METHOD from lc_calc_condition where CONTRACT_ID='"+contractId+"'");
if(settleMethod!=null && settleMethod.equals("segmented_financing")) {
Map<String, List<Map<String, String>>> configs = ProductParamUtil.getProductComponentDecisionTable( productId, "PRD0301","IsBalanceLending");
if(configs!=null && configs.size()>0 ) {
List<Map<String, String>> list = configs.get("segmented_financing");
if( list!=null && list.size()>0 ) {
String IsBalanceLending = list.get(0).get("IsBalanceLending");
if(IsBalanceLending!=null && IsBalanceLending.equals("Y")) {
fundList += ",'feetype27'";
}
}
}
}
//安鹏贴息不抵扣
//北汽的有的产品可以贴息差额放款
/*if(fundList.length() > 0) {

View File

@ -178,12 +178,12 @@ public class FundPaymentCar {
if(outOverMoney.compareTo(new BigDecimal(inOvermoney)) < 0){
inOvermoney = outOverMoney.toString();
}
if("feetype27".equals(boLFPs.get(i).getAttribute("fee_type").toString())){
/*if( "feetype27".equals(boLFPs.get(i).getAttribute("fee_type").toString())){
deductMoney = deductMoney.subtract(new BigDecimal(inOvermoney));
}else{
deductMoney = deductMoney.add(new BigDecimal(inOvermoney));
}
}*/
deductMoney = deductMoney.add(new BigDecimal(inOvermoney));
outOverMoney = outOverMoney.subtract(new BigDecimal(inOvermoney));
BizObject boLFP = JBOFactory.createBizObjectQuery(LC_FUND_PLAN.CLASS_NAME, "id=:PlanID").setParameter("PlanID", planID).getSingleResult(false);
BizObject boLFITOut = bomLFIT.newObject();//µÖ¿Û³µÁ¾¿î

View File

@ -7,6 +7,8 @@ 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 com.tenwa.comm.util.jboutil.DataOperatorUtil;
import jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO_TEMP;
@ -60,6 +62,24 @@ public class LCFundPaymentTempInfoHandler extends CommonHandler {
if(fundList==null||"".equals(fundList)){
fundList="0";
}
String contractId = bo.getAttribute("CONTRACT_ID").getString();
//分段融
List<Map<String, String>> dataBySql = DataOperatorUtil.getDataBySql("select SETTLE_METHOD from lc_calc_condition where CONTRACT_ID='"+bo.getAttribute("CONTRACT_ID").getString()+"'");
if(dataBySql!=null && dataBySql.size()>0 ) {
String settleMethod = dataBySql.get(0).get("SETTLE_METHOD");
if(settleMethod!=null && settleMethod.equals("segmented_financing")) {
Map<String, List<Map<String, String>>> configs = ProductParamUtil.getProductComponentDecisionTable( productId, "PRD0301","IsBalanceLending");
if(configs!=null && configs.size()>0 ) {
List<Map<String, String>> list = configs.get("segmented_financing");
if( list!=null && list.size()>0 ) {
String IsBalanceLending = list.get(0).get("IsBalanceLending");
if(IsBalanceLending!=null && IsBalanceLending.equals("Y")) {
fundList += ",'feetype27'";
}
}
}
}
}
//安鹏贴息不抵扣
//北汽的有的产品可以贴息差额放款
/*if(fundList.length() > 0) {
@ -73,6 +93,7 @@ public class LCFundPaymentTempInfoHandler extends CommonHandler {
"flowunid = '" + flowunid + "' and fee_type in (" + fundList + ") ").getResultList(false);
BigDecimal cleanLeaseMoney = new BigDecimal("0");
cleanLeaseMoney = cleanLeaseMoney.add(new BigDecimal(bo.getAttribute("FACT_MONEY").getString()));
BigDecimal deductMoney = new BigDecimal(0);//分段融有可能多个贴息计划
for(BizObject boLFIT : boLFITs) {
BigDecimal factMoney = new BigDecimal(boLFIT.getAttribute("FACT_MONEY").getString());
String feeType = boLFIT.getAttribute("FEE_TYPE").getString();
@ -94,9 +115,12 @@ public class LCFundPaymentTempInfoHandler extends CommonHandler {
this.asDataObject.setVisible("GPS_FEE", true);
break;
case "feetype27":
cleanLeaseMoney = cleanLeaseMoney.subtract(factMoney);
bo.setAttributeValue("DEALER_DISCOUNT", factMoney);
this.asDataObject.setVisible("DEALER_DISCOUNT", true);
cleanLeaseMoney = cleanLeaseMoney.add(factMoney);
deductMoney = deductMoney.add(factMoney);
// bo.setAttributeValue("DEALER_DISCOUNT", deductMoney);
// this.asDataObject.setVisible("DEALER_DISCOUNT", true);
bo.setAttributeValue("DISCOUNT_INTEREST", deductMoney);
this.asDataObject.setVisible("DISCOUNT_INTEREST", true);
break;
case "feetype5":
cleanLeaseMoney = cleanLeaseMoney.add(factMoney);

View File

@ -1,13 +1,28 @@
package com.tenwa.lease.app.quartzmession;
import java.util.List;
import java.util.Map;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.util.StringFunction;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.base.util.QuartzUtil;
import com.tenwa.jbo.manager.DataUtil;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedCompensatory;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome;
import com.tenwa.voucher.CreateVoucherProcess.InsertVoucherRentCompensatory;
import com.tenwa.voucher.CreateVoucherProcess.InsertVoucherRentIncome;
import com.tenwa.voucher.serviceImp.OverdueRepayPlanVoucherPSBC;
/**
* 生成卡扣凭证明细-定时任务
* @author xiezhiwen
@ -15,6 +30,7 @@ import com.tenwa.voucher.CreateVoucherProcess.InsertVoucherRentIncome;
@DisallowConcurrentExecution
public class CreateVoucherRentIncomeMission implements Job {
private static final Logger logger = LoggerFactory.getLogger(CreateVoucherRentIncomeMission.class);
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
String startime = StringFunction.getTodayNow();
@ -31,10 +47,117 @@ public class CreateVoucherRentIncomeMission implements Job {
InsertVoucherRentIncome ivri=new InsertVoucherRentIncome();
ivri.execute();
//生成网银凭证
this.recordBank();
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CreateVoucherRentIncomeMission", "success", "成功", curUserId);
} catch (Exception e) {
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CreateVoucherRentIncomeMission", "error", "失败", curUserId);
}
}
public void recordBank() throws Exception {
Transaction Sqlca =null;
String querySql="SELECT ID,FLOWUNID,USERID FROM t_wyhx_middle WHERE STATUS='Y' ";
List<Map<String, String>> recordBankList = DataUtil.query(querySql);
if(recordBankList!=null && recordBankList.size() > 0 ) {
for (Map<String, String> recordBank : recordBankList) {
try {
Sqlca = Transaction.createTransaction("als");
String FlowUnid=recordBank.get("FLOWUNID");
logger.info("IncomeVoucher 20210906 新增判断代码【开始】");
OverdueRepayPlanVoucherPSBC overdueRepayPlanVoucherPSBC = new OverdueRepayPlanVoucherPSBC();
if(overdueRepayPlanVoucherPSBC.findFcPSBCOverduce(FlowUnid)){
logger.info("IncomeVoucher 网银收款流程结束后生成相应的凭证,当前是邮储相关订单凭证不执行以下操作。【结束】,未通过。");
continue;
}
logger.info("IncomeVoucher 20210906 新增判断代码【结束】,通过。");
String userid = recordBank.get("USERID");
/**
* 汽车网银回款-资金部分
*/
CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome();
// 汽车回租
String sql="SELECT FEE_TYPE FROM LC_FUND_INCOME_TEMP WHERE FLOWUNID='"+FlowUnid+"' GROUP BY FEE_TYPE";
List<Map<String, String>> queryList = DataUtil.query(sql);
for (Map<String, String> map : queryList) {
String FEE_TYPE = map.get("FEE_TYPE");
if("feetype30".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --直租
}else if("feetype4".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价--直租
}else if("feetype2".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121600000162", "feetype2",userid); //回款-收到客户保证金 --回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2020041000000003", "feetype2",userid); //直租-收到客户保证金-直租
}else if("feetype1".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121600000163", "feetype1",userid); //回款-收到客户手续费(一次性)--回租
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2019121700000164", "feetype1",userid); //回款-收到客户手续费(按月) --回租
}else if("feetype32".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000006", "feetype32",userid); //回款-收到个人意外险(网银来款)--回租
}else if("feetype27".equals(FEE_TYPE)||"feetype33".equals(FEE_TYPE)) {
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000005", FEE_TYPE,userid); //回款-收到客户贴息 --回租
}
}
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2020080400000003", "feetype5",userid); //直租-收到客户首付款
/**
* 汽车网银回款-租金部分
*/
CreateVoucherRentIncome cvri=new CreateVoucherRentIncome();
sql="SELECT LCI.LEAS_FORM FROM LC_RENT_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID WHERE LFIT.FLOWUNID='"+FlowUnid+"' GROUP BY LCI.LEAS_FORM";
List<Map<String, String>> queryList2 = DataUtil.query(sql);
for (Map<String, String> map : queryList2) {
// 汽车回租
if("02".equals(map.get("LEAS_FORM"))) {
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租)
// 汽车直租
}else {
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租)
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租)
}
}
/**
* 代偿反冲
*/
CreateVoucherRedCompensatory cvrcs = new CreateVoucherRedCompensatory();
cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000030",userid,Sqlca);//代偿租金
cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000031",userid,Sqlca);//代偿逾期利息
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
sql="SELECT LE.ID FROM LC_EBANK_TEMP LE LEFT JOIN (SELECT MAX(F57) AS F57 FROM VOUCHER_V8 WHERE MODULE_NAME = '回款-多余回款分解' GROUP BY F3)V8 ON V8.F57=LE.EBANK_SN WHERE LE.FLOWUNID='"+FlowUnid+"' AND V8.F57 IS NULL";
List<Map<String, String>> queryList3 = DataUtil.query(sql);
if(queryList3.size()>0) {
cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解
}
Sqlca.executeSQL(new SqlObject("UPDATE t_wyhx_middle SET STATUS='N' WHERE id='"+recordBank.get("ID")+"'"));
} catch (Exception e) {
try {
Sqlca.rollback();
} catch (JBOException e1) {
e1.printStackTrace();
}
}finally {
try {
Sqlca.commit();
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
}
}
}
}
}

View File

@ -5,8 +5,11 @@ import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.sql.Connection;
import com.amarsoft.are.util.StringFunction;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.base.util.QuartzUtil;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -19,6 +22,7 @@ import java.sql.CallableStatement;
* @author: À½Ü
* @create: 2021-11-03 15:38
*/
@DisallowConcurrentExecution
public class GenerateVoucherSumJob implements Job {
@Override
@ -32,19 +36,42 @@ public class GenerateVoucherSumJob implements Job {
tx = JBOFactory.createJBOTransaction();
tran = Transaction.createTransaction(tx);
// »ñÈ¡µ±Ç°ÈÕÆÚ
// String todayDateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
Connection connection = tran.getConnection(tran);
CallableStatement callableStatement = connection.prepareCall("{call PROC_CALC_VOUCHER_SUM()}");
callableStatement.execute();
callableStatement.close();
/**
* 将所有未插入中间表的凭证插入中间表
*/
String sql="INSERT INTO VOUCHER_LIST( F3, MODULE_NAME, CONTRACT_NUMBER, F5, F1, F15, MONEYS, NC_FLAG, NC_BATCH, NC_DATE, GENERATE_DATE, F48, F50, F51, F52) SELECT V8.F3, MAX(V8.MODULE_NAME) AS MODULE_NAME, MAX(V8.F47) AS CONTRACT_NUMBER, MAX(V8.F5) AS F5, MAX(V8.F1) AS F1, MAX(V8.F15) AS F15, SUM(IFNULL(V8.F7,0))+SUM(IFNULL(V8.F8,0)) AS MONEYS, (SELECT CASE IFNULL(MAX(FLAG),'2') WHEN '1' THEN '传输成功' WHEN '2' THEN '未传输' ELSE '传输失败' END FROM NCXML_DETAIL_RECORDS O WHERE O.XML_TYPE='voucher' AND O.TABLE_NUM=V8.F3) AS NC_FLAG, (SELECT MAX(BATCH) FROM NCXML_DETAIL_RECORDS O WHERE O.XML_TYPE='voucher' AND O.TABLE_NUM=V8.F3) AS NC_BATCH, (SELECT MAX(O.CREATE_TIME) FROM NCXML_DETAIL_RECORDS O WHERE O.XML_TYPE='voucher' AND O.TABLE_NUM=V8.F3) AS NC_DATE, MAX(LEFT(V8.GENERATE_DATE,19)) AS GENERATE_DATE, MAX(V8.F48) AS F48, MAX(V8.F50) AS F50, MAX(V8.F51) AS F51, MAX(V8.F52) AS F52 FROM VOUCHER_V8 V8 WHERE V8.F9 IS NULL GROUP BY V8.F3 ORDER BY MAX(LEFT(V8.GENERATE_DATE,19))";
int con = tran.executeSQL(new SqlObject(sql));
System.out.println("插入凭证列表: "+con+"条!!!");
System.out.println("插入凭证列表: "+con+"条!!!");
System.out.println("插入凭证列表: "+con+"条!!!");
/**
* 将所有已插入中间表的凭证, 变更状态
*/
sql="UPDATE VOUCHER_V8 V8,VOUCHER_LIST VL SET V8.F9='Y' WHERE V8.F9 IS NULL AND V8.F3=VL.F3";
con = tran.executeSQL(new SqlObject(sql));
System.out.println("更新凭证明细是否入中间表: "+con+"条!!!");
System.out.println("更新凭证明细是否入中间表: "+con+"条!!!");
System.out.println("更新凭证明细是否入中间表: "+con+"条!!!");
/**
* 更新传输状态
*/
sql="UPDATE VOUCHER_LIST VL,NCXML_DETAIL_RECORDS NDR SET VL.NC_FLAG=CASE IFNULL(NDR.FLAG,'2') WHEN '1' THEN '传输成功' WHEN '2' THEN '未传输' ELSE '传输失败' END, VL.NC_BATCH=NDR.BATCH,VL.NC_DATE=DATE_FORMAT(NDR.CREATE_TIME,'%Y/%m/%d') WHERE NDR.XML_TYPE='voucher' AND NDR.TABLE_NUM=VL.F3 AND VL.NC_FLAG<>'传输成功'";
con = tran.executeSQL(new SqlObject(sql));
System.out.println("更新凭证列表传输状态: "+con+"条!!!");
System.out.println("更新凭证列表传输状态: "+con+"条!!!");
System.out.println("更新凭证列表传输状态: "+con+"条!!!");
/*Connection connection = tran.getConnection(tran);
CallableStatement callableStatement = connection.prepareCall("{call PROC_CALC_VOUCHER_SUM()}");
callableStatement.execute();
callableStatement.close();
*/
tran.commit();
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CalcPenaltyJob", "success", "³É¹¦", curUserId);
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.GenerateVoucherSumJob", "success", "成功", curUserId);
} catch (Exception e) {
e.printStackTrace();
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CalcPenaltyJob", "error", "ʧ°Ü", curUserId);
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.GenerateVoucherSumJob", "error", "失败", curUserId);
try {
if (tran != null) {
tran.rollback();

View File

@ -0,0 +1,64 @@
package quartz;
import java.util.List;
import java.util.Map;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.util.StringFunction;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.base.util.QuartzUtil;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.lease.app.quartzmession.JobInitUserName;
public class ObtainUpdataContractStatus implements Job{
private JobInitUserName jboName;
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
String startime = StringFunction.getTodayNow();
Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId");
String curUserId = userId == null? "system" : userId.toString();
Transaction sqlca = null ;
try {
sqlca = Transaction.createTransaction("als");
sqlca.getConnection().setAutoCommit(true);
/*String sql = "update lb_contract_info lci set lci.ap_contract_status="+
" (SELECT cl.itemname FROM " +
" ( SELECT contract_number, MAX( inputtime ) AS inputtime, business_status FROM business_status WHERE contract_number LIKE 'BQAP(%' GROUP BY contract_number ) bs " +
" LEFT JOIN business_status cs ON bs.contract_number = cs.contract_number " +
" AND bs.inputtime = cs.inputtime " +
" LEFT JOIN ( SELECT itemno, itemname FROM code_library WHERE codeno = 'BusinessStatus' ) cl ON cs.business_status = cl.itemno " +
" where bs.contract_number=lci.CONTRACT_NO) " +
" where ((ap_contract_status<>'攣끽써헌' and ap_contract_status<>'瓊품써헌') or ap_contract_status is null) ";
List<Map<String,String>> list = DataOperatorUtil.getDataBySql("select ID,CONTRACT_NO from lb_contract_info where BUSINESSTYPE ='1' and ((ap_contract_status<>'攣끽써헌' and ap_contract_status<>'瓊품써헌') or ap_contract_status is null) ");
String contractStatus = null ;
if(list!=null && list.size()>0) {
System.out.println("gengxindeshuju="+list.size());
for (Map<String, String> map : list) {
contractStatus = sqlca.getString("select getAPBusinessStatus('"+map.get("CONTRACT_NO")+"') from dual");
sqlca.executeSQL(new SqlObject("update lb_contract_info set ap_contract_status = '"+contractStatus+"' where id='"+map.get("ID")+"'"));
sqlca.commit();
}
}*/
sqlca.executeSQL(new SqlObject("call proc_update_contract_status() "));
QuartzUtil.insertLog(startime, "quartz.ObtainUpdataContractStatus", "success", "냥묘", curUserId);
} catch (Exception e) {
QuartzUtil.insertLog(startime, "quartz.ObtainUpdataContractStatus", "error", "呵겨", curUserId);
e.printStackTrace();
}finally{
try {
if(sqlca !=null){
sqlca.disConnect();
}
} catch (JBOException e) {
e.printStackTrace();
}
}
}
}