Merge branch 'release20211231' into ap007
This commit is contained in:
commit
79ec9c0671
@ -108,45 +108,27 @@
|
||||
};
|
||||
|
||||
%>
|
||||
<style>
|
||||
.list_page {
|
||||
overflow: auto;
|
||||
}
|
||||
#myiframe0 .list_event_width{
|
||||
white-space: normal;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var rowSpan="One_Classify";
|
||||
</script>
|
||||
<%@include file="/Frame/resources/include/ui/include_list.jspf"%>
|
||||
<script type="text/javascript">
|
||||
|
||||
window.onload=function(){
|
||||
/* var RowCount = getRowCount(0);
|
||||
for(var i=0;i<RowCount;i++){
|
||||
if($("#INPUT_myiframe0_Doc_Nature_"+i+"_2").text()=="±Ø±¸"){
|
||||
$("#INPUT_myiframe0_Doc_Nature_"+i+"_2").attr("style","color:red");
|
||||
}
|
||||
} */
|
||||
|
||||
heping();
|
||||
$("#DWTD").width( document.body.offsetWidth - 10);
|
||||
$("#DWTD").width( document.body.offsetHeight - 20);
|
||||
document.getElementById('DWTD').innerHTML = '<div style="width:'+(document.body.offsetWidth - 10)+'px;height:'+(document.body.offsetHeight - 40)+'px;overflow: scroll;">'+document.getElementById('DWTD').innerHTML+'</div>';
|
||||
}
|
||||
function heping(){
|
||||
$("#TR_Right_myiframe0_0").attr("class","color_zebra1");
|
||||
huanhang("Doc_Name");
|
||||
}
|
||||
|
||||
function huanhang(col){
|
||||
var tab=document.getElementById("myiframe0");
|
||||
var a= getColIndex(0,col);
|
||||
for(var i=0;i<tab.rows.length-1;i++){
|
||||
$("#INPUT_myiframe0_"+col+"_"+i+"_"+a).parent().attr("style","white-space: pre-wrap;");
|
||||
}
|
||||
}
|
||||
|
||||
function selectFile(){
|
||||
objectinfo={};
|
||||
objectinfo.title="附件一览"
|
||||
AsControl.OpenTab("/Tenwa/Comm/Document/LBDocumentList.jsp","ObjectNo=20170427000001",objectinfo);
|
||||
}
|
||||
function saveRecord(){
|
||||
as_save("myiframe0","heping()");
|
||||
as_save("myiframe0");
|
||||
location.reload();
|
||||
}
|
||||
//在加载完表格后调用
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
|
||||
dwTemp.Style="1"; //--设置为Grid风格--
|
||||
dwTemp.ReadOnly = "1"; //只读模式
|
||||
dwTemp.setPageSize(15);
|
||||
dwTemp.setPageSize((pageSize==null||"undefined".equals(pageSize))?15:Integer.parseInt(pageSize));
|
||||
dwTemp.genHTMLObjectWindow("");
|
||||
|
||||
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
|
||||
<script type="text/javascript">
|
||||
function execute(){
|
||||
var Result = AsControl.RunJavaMethod("com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "execute","");
|
||||
var Result = AsControl.RunJavaMethod("com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "execute","curUserId=<%=CurPage.getUserId()%>");
|
||||
if(Result=='success'){
|
||||
alert("执行成功!");
|
||||
reloadSelf();
|
||||
|
||||
@ -36,6 +36,11 @@
|
||||
|
||||
//批量代收
|
||||
function batchCollect(){
|
||||
let msg = isDuringDate();
|
||||
if(msg.length>0){
|
||||
alert(msg);
|
||||
return false;
|
||||
}
|
||||
//校验所选数据是否是一个主体
|
||||
var subjectids = getItemValueArray(0,"SUBJECTID");
|
||||
var oneSubjectId = "";
|
||||
@ -132,6 +137,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
function isDuringDate() {
|
||||
let cur = new Date();
|
||||
let start_am = new Date(cur.toLocaleDateString() + ' 10:50');
|
||||
let end_am = new Date(cur.toLocaleDateString() + ' 11:10');
|
||||
let start_pm = new Date(cur.toLocaleDateString() + ' 15:50');
|
||||
let end_pm = new Date(cur.toLocaleDateString() + ' 16:10');
|
||||
return cur >= start_am && cur <= end_am ? '[10:50 ~ 11:10] 时间段禁止操作!' : cur >= start_pm && cur <= end_pm ? '[15:50 ~ 16:10] 时间段禁止操作!' : '';
|
||||
}
|
||||
|
||||
function queryBatchCollect(){
|
||||
//校验所选数据是否是一个主体
|
||||
var subjectids = getItemValueArray(0,"SUBJECTID");
|
||||
@ -161,18 +175,22 @@
|
||||
}
|
||||
}
|
||||
var fileSavePath = "<%=CurConfig.getConfigure("InterfaceFileSavePath")%>";
|
||||
var parm = "id="+ids+",fileSavePath="+fileSavePath+",inputuserid="+"<%=CurUser.getUserID()%>"+",inputorgid="+"<%=CurUser.getOrgID()%>";
|
||||
var parm = "operateFrom=manual,id="+ids+",fileSavePath="+fileSavePath+",inputuserid="+"<%=CurUser.getUserID()%>"+",inputorgid="+"<%=CurUser.getOrgID()%>";
|
||||
|
||||
//进行拆分调用天津接口或者深圳
|
||||
var res ;
|
||||
if("aa740e4111c111eaaa0000163e0e11e6"==oneSubjectId){
|
||||
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "queryBatchCollectStatus",parm);
|
||||
console.log(res);
|
||||
res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "queryBatchCollectStatus",parm);
|
||||
}else if("d989246c11c111eaaa0000163e0e11e6"==oneSubjectId){
|
||||
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCacheTj", "queryBatchCollectStatus",parm);
|
||||
console.log(res);
|
||||
res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCacheTj", "queryBatchCollectStatus",parm);
|
||||
}else{
|
||||
alert("未查询到对应的主体方法!");
|
||||
return false;
|
||||
}
|
||||
if (res != 'success') {
|
||||
alert(res);
|
||||
return false;
|
||||
}
|
||||
RunJavaMethod("com.tenwa.lease.app.allinpay.service.impl.AllinpayPaymentDo", "queryCollectResult","");
|
||||
reloadSelf();
|
||||
// location.reload();
|
||||
|
||||
@ -166,15 +166,15 @@
|
||||
ids += sParm[i] +"@";
|
||||
}
|
||||
}
|
||||
var parm = "id="+ids+",fileSavePath="+fileSavePath+",inputuserid="+"<%=CurUser.getUserID()%>"+",inputorgid="+"<%=CurUser.getOrgID()%>";
|
||||
var parm = "operateFrom=manual,id="+ids+",fileSavePath="+fileSavePath+",inputuserid="+"<%=CurUser.getUserID()%>"+",inputorgid="+"<%=CurUser.getOrgID()%>";
|
||||
|
||||
//进行拆分调用天津接口或者深圳
|
||||
if("aa740e4111c111eaaa0000163e0e11e6"==oneSubjectId){
|
||||
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCache", "queryBatchCollectStatus",parm);
|
||||
console.log(res);
|
||||
alert(res);
|
||||
}else if("d989246c11c111eaaa0000163e0e11e6"==oneSubjectId){
|
||||
var res = RunJavaMethodTrans("com.tenwa.collectaudit.cache.CollectAuditInfoCacheTj", "queryBatchCollectStatus",parm);
|
||||
console.log(res);
|
||||
alert(res);
|
||||
}else{
|
||||
alert("为查询到对应的主体方法!");
|
||||
}
|
||||
|
||||
@ -6,31 +6,57 @@
|
||||
Content: 示例详情页面
|
||||
History Log:
|
||||
*/
|
||||
|
||||
String flowunid = CurPage.getParameter("FlowUnid");
|
||||
String RightType = CurPage.getParameter("RightType");//选择模式
|
||||
String ishistory=CurPage.getParameter("IsHistory");
|
||||
String nodeNo=CurPage.getParameter("NodeNo");
|
||||
|
||||
String contractId = CurPage.getParameter("ContractId");
|
||||
BizObject condition=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false);
|
||||
String paymentnumber=condition.getAttribute("payment_number").getString();
|
||||
String yearrate=condition.getAttribute("YEAR_RATE").getString();
|
||||
String contractId=condition.getAttribute("contract_id").getString();
|
||||
//String contractId=condition.getAttribute("contractid").getString();
|
||||
String nominalPrice=condition.getAttribute("NOMINAL_PRICE").getString();
|
||||
String cautionmoney = Sqlca.getString("select caution_money from lc_calc_condition where CONTRACT_ID='"+contractId+"'");
|
||||
String cautionmoney = Sqlca.getString("select ifnull(round( sum(case lfi.FEE_TYPE when 'feetype2' then FACT_MONEY else 0 end)- sum(case lfi.FEE_TYPE when 'feetype2' then 0 else FACT_MONEY end ),2),0) as over_caution_monry from lc_fund_income lfi where lfi.CONTRACT_ID = '"+contractId+"' and lfi.FEE_TYPE in ('feetype2', 'feetype16', 'feetype17')");
|
||||
String mayopemoney = Sqlca.getString("select sum(MAYOPE_MONEY) from LC_EBANK_TEMP where flowunid='"+flowunid+"'");
|
||||
|
||||
String settletype = "N";
|
||||
if( CurPage.getParameter("settletype")!=null){
|
||||
settletype = CurPage.getParameter("settletype");
|
||||
}
|
||||
BizObject flow=GetFlowAction.getFlowBussinessObject(flowunid);
|
||||
String productId=flow.getAttribute("productId").getString();
|
||||
String ratio = Sqlca.getString("select EarlySettleBreachRatio from PRD_SPECIFIC_LIBRARY where productid='"+productId+"'");
|
||||
String CLEAN_LEASE_MONEY = Sqlca.getString("select CLEAN_LEASE_MONEY from lc_calc_condition where CONTRACT_ID='"+contractId+"'");
|
||||
System.out.println(ratio+"===================");
|
||||
String sTempletNo = "LCContractTerminate";//--模板号--
|
||||
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
|
||||
doTemp.setDefaultValue("PAYMENT_NUMBER", paymentnumber);
|
||||
doTemp.setHtmlEvent("PAYDAY_ADJUST","onchange","getTerminateInfo");
|
||||
if(settletype.equals("N")){
|
||||
doTemp.setHtmlEvent("PAYDAY_ADJUST","onchange","getTerminateInfo");
|
||||
}else if(settletype.equals("Y")){
|
||||
doTemp.setHtmlEvent("PAYDAY_ADJUST","onchange","getTimeInfo");
|
||||
}
|
||||
doTemp.setHtmlEvent("ADJUST_TYPE","onchange","changeInfo");
|
||||
doTemp.setHtmlEvent("OTHER_IN","onchange","changeContract");
|
||||
doTemp.setHtmlEvent("REPURCHASE_RATIO","onchange","getRepurchaseMoney");
|
||||
doTemp.setHtmlEvent("SETTLE_METHOD","onchange","setEquipmentRatioCharge");
|
||||
/*
|
||||
* 获取合同金额
|
||||
*/
|
||||
String PAYMENT_NUMBER = "";
|
||||
String START_DATE = "";
|
||||
String YEAR_RATE = "";
|
||||
if(condition!=null){
|
||||
PAYMENT_NUMBER = condition.getAttribute("PAYMENT_NUMBER").getString();
|
||||
START_DATE = condition.getAttribute("START_DATE").getString();
|
||||
YEAR_RATE = condition.getAttribute("YEAR_RATE").getString();
|
||||
}else{
|
||||
BizObject condition2=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CONTRACT_CONDITION","CONTRACT_ID=:CONTRACT_ID").setParameter("CONTRACT_ID", contractId).getSingleResult(false);
|
||||
PAYMENT_NUMBER = condition2.getAttribute("PAYMENT_NUMBER").getString();
|
||||
START_DATE = condition2.getAttribute("START_DATE").getString();
|
||||
YEAR_RATE = condition2.getAttribute("YEAR_RATE").getString();
|
||||
}
|
||||
|
||||
|
||||
ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request);
|
||||
dwTemp.Style = "2";//freeform
|
||||
if((null!=RightType&&RightType.equals("ReadOnly"))||(null!=ishistory&&ishistory.equals("true"))){
|
||||
@ -48,6 +74,10 @@
|
||||
sButtonPosition = "south";
|
||||
%><%@ include file="/Frame/resources/include/ui/include_info.jspf"%>
|
||||
<script type="text/javascript">
|
||||
|
||||
var IDS = "";
|
||||
var YES_NO = "";
|
||||
|
||||
function getRepurchaseMoney(){
|
||||
var ratio=getItemValue(0,0,"REPURCHASE_RATIO");
|
||||
var corpus=getItemValue(0,0,"CORPUS_OVERAGE");
|
||||
@ -163,6 +193,9 @@
|
||||
|
||||
//计算债券总计
|
||||
function updateContractBondTotal(){
|
||||
debugger
|
||||
var SETTLE_METHOD = getItemValue(0,0,"SETTLE_METHOD");
|
||||
if(SETTLE_METHOD != "SETTLE_METHOD02"){
|
||||
var dunrent = getItemValue(0,getRow(),"DUN_RENT");
|
||||
var agreedPenalty = getItemValue(0,getRow(),"AGREED_PENALTY");
|
||||
var corpusOverage = getItemValue(0,getRow(),"CORPUS_OVERAGE");
|
||||
@ -175,6 +208,21 @@
|
||||
return (Number(dunrent ? dunrent : 0 ) + Number(agreedPenalty ? agreedPenalty : 0 ) + Number(corpusOverage ? corpusOverage : 0 )
|
||||
+ Number(sdhandlingCharge ? sdhandlingCharge : 0 ) + Number(otherin ? otherin : 0 )
|
||||
- Number(otherout ? otherout : 0 ) + Number(sdnominalPrice ? sdnominalPrice : 0 ) +Number(agreeddatepenalty ? agreeddatepenalty : 0 )).toFixed(2);
|
||||
}else{
|
||||
// 获取未到期本金
|
||||
var PREMATURE_MONEY = getItemValue(0,getRow(),"PREMATURE_MONEY");
|
||||
// 获取罚息
|
||||
var DUN_RENT = getItemValue(0,getRow(),"DUN_RENT");
|
||||
// 获取商定还款日息差
|
||||
var AGREED_DATEPENALTY = getItemValue(0,getRow(),"AGREED_DATEPENALTY");
|
||||
// 获取商定逾期罚息
|
||||
var AGREED_PENALTY = getItemValue(0,getRow(),"AGREED_PENALTY");
|
||||
// 获取商定违约金
|
||||
var SDHANDLING_CHARGE = getItemValue(0,getRow(),"SDHANDLING_CHARGE");
|
||||
var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY ? PREMATURE_MONEY : 0 )+Number(DUN_RENT ? DUN_RENT : 0 ) + Number(AGREED_DATEPENALTY ? AGREED_DATEPENALTY : 0 )
|
||||
+Number(AGREED_PENALTY ? AGREED_PENALTY : 0 )+Number(SDHANDLING_CHARGE ? SDHANDLING_CHARGE : 0 )).toFixed(2);
|
||||
return MAXIMUM_TOTAL;
|
||||
}
|
||||
}
|
||||
//计算债券总计
|
||||
/* function getContractBondTotal(){
|
||||
@ -195,7 +243,8 @@
|
||||
openDWDialog();
|
||||
setTimeout(function(){
|
||||
var message = AsControl.RunJavaMethodTrans("com.tenwa.reckon.executor.CreateTransactionExecutor","cancelRentChange","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>,contractId=<%=contractId%>");
|
||||
if(message == 'true'){
|
||||
var returns = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","setEquipStatus","flowunid=<%=flowunid%>");
|
||||
if(message == 'true'){
|
||||
resetDWDialog("中途终止撤销成功!!!",true);
|
||||
window.location.href=window.location.href;
|
||||
}else{
|
||||
@ -203,6 +252,24 @@
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
|
||||
|
||||
//提前部分结清约定终止日校验
|
||||
function getTimeInfo(){
|
||||
var paydayAdjust = getItemValue(0,getRow(),"PAYDAY_ADJUST");
|
||||
var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","checkPaydayAdjust","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+paydayAdjust);
|
||||
if(result.result != "true"){
|
||||
alert(result.msg);
|
||||
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
|
||||
}
|
||||
var ret = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","timeInfo","contractId=<%=contractId%>,flowunid=<%=flowunid%>,PAYDAY_ADJUST="+paydayAdjust);
|
||||
if(ret != "true"){
|
||||
alert("日期不能选择当前月份下个月之后的日期");
|
||||
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//保存数据
|
||||
function saveRecord(sPostEvents)
|
||||
{
|
||||
@ -229,8 +296,11 @@
|
||||
if(result == 'true'){
|
||||
var adjusttype = getItemValue(0,0,"ADJUST_TYPE");
|
||||
if("01"==adjusttype){
|
||||
setItemValue(0,getRow(),"MAXIMUM_TOTAL",updateContractBondTotal());
|
||||
var maximumtotal = updateContractBondTotal();
|
||||
if(maximumtotal=="" ||maximumtotal == null ){
|
||||
maximumtotal = "0";
|
||||
}
|
||||
setItemValue(0,getRow(),"MAXIMUM_TOTAL",maximumtotal);
|
||||
if(Number(maximumtotal)>Number(<%=mayopemoney%>)){
|
||||
alert('最终还款金额大于网银核销金额!!!');
|
||||
return;
|
||||
@ -243,7 +313,14 @@
|
||||
}
|
||||
}else{
|
||||
var contractTotal = getItemValue(0,0,"CONTRACT_TOTAL");
|
||||
if(Number(contractTotal)>Number(<%=mayopemoney%>)){
|
||||
if(contractTotal==""||contractTotal==null){
|
||||
contractTotal = "0";
|
||||
}
|
||||
var mayopemoney = <%=mayopemoney%>;
|
||||
if(mayopemoney==""||mayopemoney==null){
|
||||
mayopemoney = "0";
|
||||
}
|
||||
if(Number(contractTotal)>Number(mayopemoney)){
|
||||
alert('最终还款金额大于网银核销金额!!!');
|
||||
return;
|
||||
}
|
||||
@ -254,8 +331,33 @@
|
||||
return;
|
||||
}
|
||||
}
|
||||
as_save("myiframe0","run()");
|
||||
|
||||
var SETTLE_METHOD = getItemValue(0,0,"SETTLE_METHOD");
|
||||
var AGREED_PENALTY = parseFloat(getItemValue(0,0,"AGREED_PENALTY"));
|
||||
var SDHANDLING_CHARGE = parseFloat(getItemValue(0,0,"SDHANDLING_CHARGE"));
|
||||
var AGREED_DATEPENALTY = parseFloat(getItemValue(0,0,"AGREED_DATEPENALTY"));
|
||||
var SDNOMINAL_PRICE = getItemValue(0,0,"SDNOMINAL_PRICE");
|
||||
var PREMATURE_MONEY = getItemValue(0,0,"PREMATURE_MONEY");
|
||||
var DUN_RENT = getItemValue(0,0,"DUN_RENT");
|
||||
if(YES_NO=='Y'&&SETTLE_METHOD=="SETTLE_METHOD02"){
|
||||
//获取其它应收和其它应退
|
||||
var OTHER_OUT = getItemValue(0,0,"OTHER_OUT");
|
||||
var OTHER_IN = getItemValue(0,0,"OTHER_IN");
|
||||
if(OTHER_OUT == "" || OTHER_OUT == null){
|
||||
OTHER_OUT = "0.00"
|
||||
}
|
||||
if(OTHER_IN == "" || OTHER_IN == null){
|
||||
OTHER_IN = "0.00"
|
||||
}
|
||||
// 最终还款金额
|
||||
var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(AGREED_PENALTY)+SDHANDLING_CHARGE+AGREED_DATEPENALTY+Number(SDNOMINAL_PRICE)+Number(OTHER_IN)-Number(OTHER_OUT));
|
||||
setItemValue(0,0,'MAXIMUM_TOTAL',MAXIMUM_TOTAL);
|
||||
}else if(YES_NO=='N'&&SETTLE_METHOD=="SETTLE_METHOD02"){
|
||||
debugger
|
||||
// 最终还款金额
|
||||
var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(AGREED_PENALTY)+SDHANDLING_CHARGE+AGREED_DATEPENALTY+Number(SDNOMINAL_PRICE));
|
||||
setItemValue(0,0,'MAXIMUM_TOTAL',MAXIMUM_TOTAL);
|
||||
}
|
||||
as_save("myiframe0","run()");
|
||||
}else{
|
||||
alert('请先撤销变更,再进行变更操作!!!');
|
||||
}
|
||||
@ -263,11 +365,41 @@
|
||||
|
||||
function run()
|
||||
{
|
||||
AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","runTerminate","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>,productId=<%=productId%>,calType=pay_process");
|
||||
var EQUIPMENT_RATIO=getItemValue(0,0,'PROPROTION_NUMBER');//租赁物比重
|
||||
var PAYDAY_ADJUST = getItemValue(0,0,'PAYDAY_ADJUST'); //约定终止日
|
||||
var SETTLE_METHOD = getItemValue(0,0,"SETTLE_METHOD"); // 结清方式
|
||||
var ret = "";
|
||||
if(SETTLE_METHOD == "SETTLE_METHOD02"){
|
||||
var returns = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","setEquipmentTerminateStatus","flowunid=<%=flowunid%>,IDS="+IDS);
|
||||
ret = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","partSettlement","REPURCHASE_RATIO="+EQUIPMENT_RATIO+",flowunid=<%=flowunid%>,contractId=<%=contractId%>,START_DATE=<%=START_DATE%>,plannumber=<%=PAYMENT_NUMBER%>,calType=pay_process,PAYDAY_ADJUST="+PAYDAY_ADJUST+",SettleMethod="+SETTLE_METHOD);
|
||||
}else{
|
||||
AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","alterdata","flowunid=<%=flowunid%>");
|
||||
AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","runTerminate","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>,productId=<%=productId%>,calType=pay_process,MAXIMUM_TOTAL=MAXIMUM_TOTAL,REPURCHASE_MONEY = REPURCHASE_MONEY");
|
||||
ret = "操作成功"
|
||||
}
|
||||
if(ret=="操作成功"){
|
||||
alert("提前结清操作成功");
|
||||
}else{
|
||||
alert("提前结清操作失败,请联系管理员!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
jQuery(function(){
|
||||
var settlemethod = getItemValue(0,getRow(),"SETTLE_METHOD");
|
||||
if("N"==("<%=settletype%>")){
|
||||
$("#A_div_1007").attr("style","display:none;");
|
||||
$("#A_div_1008").attr("style","display:none;");
|
||||
$("#A_div_1009").attr("style","display:none;");
|
||||
$("#A_div_2096").attr("style","display:none;");
|
||||
$("#A_div_2098").attr("style","display:none;");
|
||||
}else if(settlemethod=="SETTLE_METHOD01") {
|
||||
$("#A_div_1008").attr("style","display:none;");
|
||||
$("#A_div_1009").attr("style","display:none;");
|
||||
$("#A_div_2096").attr("style","display:none;");
|
||||
$("#A_div_2098").attr("style","display:none;");
|
||||
}
|
||||
|
||||
setItemValue(0,0,"flowunid","<%=flowunid%>");
|
||||
var payday_date = getItemValue(0,getRow(),"PAYDAY_DATE");
|
||||
if(""==payday_date || "undefined"==payday_date || null == payday_date){
|
||||
@ -326,6 +458,174 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function setEquipmentRatioCharge(){
|
||||
var settlemethod = getItemValue(0,0,"SETTLE_METHOD");
|
||||
var ADJUST_TYPE = getItemValue(0,0,"ADJUST_TYPE");
|
||||
var PAYDAY_ADJUST = getItemValue(0,0,"PAYDAY_ADJUST");
|
||||
var disposable = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getdisposable","flowunid=<%=flowunid%>");
|
||||
if(ADJUST_TYPE.length==0){
|
||||
alert("请先选择变更类型!!!");
|
||||
setItemValue(0,getRow(),"ADJUST_TYPE","");
|
||||
setItemValue(0,getRow(),"SETTLE_METHOD","");
|
||||
return;
|
||||
}
|
||||
if(PAYDAY_ADJUST.length==0){
|
||||
alert("请先选择约定终止日!!!");
|
||||
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
|
||||
setItemValue(0,getRow(),"SETTLE_METHOD","");
|
||||
return;
|
||||
}
|
||||
setItemValue(0,0,"CLEAN_LEASE_MONEY","<%=CLEAN_LEASE_MONEY%>");
|
||||
if(settlemethod=="SETTLE_METHOD02"){
|
||||
$("#A_div_1008").attr("style","display:block;");
|
||||
$("#A_div_1009").attr("style","display:block;");
|
||||
$("#A_div_2096").attr("style","display:block;");
|
||||
$("#A_div_2098").attr("style","display:block;");
|
||||
if(disposable == "false"){
|
||||
settlemet();
|
||||
}else{
|
||||
alert("此合同已发起过提前部分结清,现只能发起全部结清");
|
||||
setItemValue(0,getRow(),"SETTLE_METHOD","SETTLE_METHOD01");
|
||||
$("#A_div_1008").attr("style","display:none;");
|
||||
$("#A_div_1009").attr("style","display:none;");
|
||||
$("#A_div_2096").attr("style","display:none;");
|
||||
$("#A_div_2098").attr("style","display:none;");
|
||||
getTerminateInfo();
|
||||
}
|
||||
}else if(settlemethod=="SETTLE_METHOD01") {
|
||||
$("#A_div_1008").attr("style","display:none;");
|
||||
$("#A_div_1009").attr("style","display:none;");
|
||||
$("#A_div_2096").attr("style","display:none;");
|
||||
$("#A_div_2098").attr("style","display:none;");
|
||||
getTerminateInfo();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function settlemet(){
|
||||
AsDialog.OpenSelector("selectEquipCarTermination","contractid,<%=contractId%>,flowunid,<%=flowunid%>","dialogWidth=" + parseInt(window.screen.width * 0.8) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){
|
||||
if(!sReturn||sReturn=="_CANCEL_"||sReturn=="_NONE_"){
|
||||
setItemValue(0,0,'SETTLE_METHOD',"");
|
||||
}else{
|
||||
IDS= sReturn;
|
||||
// 获取选中租赁物参融比例
|
||||
var PROPROTION_NUMBER = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getReductionRatio","flowunid=<%=flowunid%>,IDS="+IDS);
|
||||
var NOMINAL_PRICE = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getPrice","flowunid=<%=flowunid%>,IDS="+IDS);
|
||||
setItemValue(0,0,'PROPROTION_NUMBER',PROPROTION_NUMBER);
|
||||
YES_NO = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getYesNo","flowunid=<%=flowunid%>,IDS="+IDS);
|
||||
// 留购价
|
||||
setItemValue(0,0,'NOMINAL_PRICE',NOMINAL_PRICE);
|
||||
if(PAYDAY_ADJUST!=""){
|
||||
changeContractTotal(YES_NO);
|
||||
}
|
||||
}
|
||||
},"请选择租赁物");
|
||||
}
|
||||
|
||||
/*
|
||||
* 提前结清结清金额计算
|
||||
*/
|
||||
function changeContractTotal(){
|
||||
var ADJUST_TYPE = getItemValue(0,0,"ADJUST_TYPE");
|
||||
var AGREED_PENALTY = parseFloat(getItemValue(0,0,"AGREED_PENALTY"));
|
||||
var SDHANDLING_CHARGE = parseFloat(getItemValue(0,0,"SDHANDLING_CHARGE"));
|
||||
var AGREED_DATEPENALTY = parseFloat(getItemValue(0,0,"AGREED_DATEPENALTY"));
|
||||
if(AGREED_PENALTY>DUN_PENALTY){
|
||||
$m.alert("减免减免逾期违约金不能大于逾期违约金!", "warning");
|
||||
setItemValue(0,getRow(),"AGREED_PENALTY","0");
|
||||
}
|
||||
var REPURCHASE_RATIO = parseFloat(getItemValue(0,0,"PROPROTION_NUMBER"));
|
||||
var PAYDAY_ADJUST = getItemValue(0,0,"PAYDAY_ADJUST");
|
||||
if(PAYDAY_ADJUST!="" && REPURCHASE_RATIO>0){
|
||||
// 减免逾期违约金
|
||||
var AGREED_PENALTY = getItemValue(0,0,"AGREED_PENALTY");
|
||||
// 其他应收
|
||||
var OTHER_IN = getItemValue(0,0,"OTHER_IN");
|
||||
// 获取留购价款
|
||||
var NOMINAL_PRICE = getItemValue(0,0,"NOMINAL_PRICE");
|
||||
//获取商定留购价款
|
||||
var SDNOMINAL_PRICE = getItemValue(0,0,"SDNOMINAL_PRICE");
|
||||
var params = "contractId=<%=contractId%>,flowunid=<%=flowunid%>,YEAR_RATE=<%=YEAR_RATE%>,PAYDAY_ADJUST="+PAYDAY_ADJUST+",REPURCHASE_RATIO="+REPURCHASE_RATIO+",AGREED_PENALTY="+AGREED_PENALTY+",OTHER_IN="+OTHER_IN+",SDHANDLING_CHARGE="+SDHANDLING_CHARGE;
|
||||
var result = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getSettlementMoney",params);
|
||||
// 根据提前终止日计算还款日息差
|
||||
var dateRate=Number("<%=yearrate%>")/100;//获取利率
|
||||
var rentPlanDate = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","rentPlanDate","contractId=<%=contractId%>,paydayAdjust="+PAYDAY_ADJUST);
|
||||
var idays = datedifference(rentPlanDate,PAYDAY_ADJUST);//获取约定终止日和提出日期相差天数
|
||||
var terminateInfo = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","getTerminateInfo","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+PAYDAY_ADJUST);
|
||||
result = result.split("@");
|
||||
var CORPUS_OVERAGE = result[0];
|
||||
var PREMATURE_MONEY = result[1];
|
||||
var RESIDUE_MONEY = result[2];
|
||||
var DUN_RENT = result[3];
|
||||
var DUN_PENALTY = terminateInfo.sumpenalty;
|
||||
// 未到期本金
|
||||
setItemValue(0,getRow(),"CORPUS_OVERAGE",CORPUS_OVERAGE);
|
||||
// 部分结清车辆未到期本金
|
||||
setItemValue(0,getRow(),"PREMATURE_MONEY",PREMATURE_MONEY);
|
||||
// 剩余车辆未到期本金
|
||||
setItemValue(0,getRow(),"RESIDUE_MONEY",RESIDUE_MONEY);
|
||||
// 逾期租金
|
||||
setItemValue(0,getRow(),"DUN_RENT",DUN_RENT);
|
||||
// 逾期罚息
|
||||
setItemValue(0,getRow(),"DUN_PENALTY",DUN_PENALTY);
|
||||
// 应退金额
|
||||
var OTHEROUT = <%=cautionmoney%>;
|
||||
if(OTHEROUT == "" || OTHEROUT == null){
|
||||
OTHEROUT = "0.00"
|
||||
}
|
||||
if(YES_NO=='Y'){
|
||||
setItemValue(0,getRow(),"OTHER_OUT",OTHEROUT);
|
||||
}else{
|
||||
setItemValue(0,getRow(),"OTHER_OUT","0.00");
|
||||
}
|
||||
// 违约金
|
||||
var ratio=0;
|
||||
if("<%=ratio%>"==""||"<%=ratio%>"==null||"<%=ratio%>"=="null"){
|
||||
ratio = 0.05;
|
||||
}else{
|
||||
ratio = (Number("<%=ratio%>")/100).toFixed(2);
|
||||
}
|
||||
var HANDLING_CHARGE = Math.round(Number(PREMATURE_MONEY*ratio)*100)/100;
|
||||
setItemValue(0,getRow(),"HANDLING_CHARGE",HANDLING_CHARGE);
|
||||
//计算还款日息差
|
||||
var REPAYMENT=((Number(PREMATURE_MONEY)*dateRate)/360)*Number(idays);
|
||||
setItemValue(0,0,'REPAYMENT_INTEREST',REPAYMENT);
|
||||
if(YES_NO=='Y'){
|
||||
//获取其它应收和其它应退
|
||||
var OTHER_OUT = getItemValue(0,0,"OTHER_OUT");
|
||||
var OTHER_IN = getItemValue(0,0,"OTHER_IN");
|
||||
if(OTHER_OUT == "" || OTHER_OUT == null){
|
||||
OTHER_OUT = "0.00"
|
||||
}
|
||||
if(OTHER_IN == "" || OTHER_IN == null){
|
||||
OTHER_IN = "0.00"
|
||||
}
|
||||
// 提前还款金额
|
||||
var CONTRACT_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(DUN_PENALTY)+Number(HANDLING_CHARGE)+Number(REPAYMENT)+Number(NOMINAL_PRICE)+Number(OTHER_IN)-Number(OTHER_OUT));
|
||||
setItemValue(0,0,'CONTRACT_TOTAL',CONTRACT_TOTAL);
|
||||
}else{
|
||||
// 提前还款金额
|
||||
var CONTRACT_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(DUN_PENALTY)+Number(HANDLING_CHARGE)+Number(REPAYMENT)+Number(NOMINAL_PRICE));
|
||||
setItemValue(0,0,'CONTRACT_TOTAL',CONTRACT_TOTAL);
|
||||
}
|
||||
|
||||
if(ADJUST_TYPE=="coerce_terminate"){
|
||||
setItemValue(0,getRow(),"PENALTY_MONEY","0.00");
|
||||
setItemValue(0,getRow(),"DUN_PENALTY","0.00");
|
||||
setItemValue(0,getRow(),"RECEIVABLE_MONEY02","0.00");
|
||||
}else if(ADJUST_TYPE=="normal_terminate"){
|
||||
setItemValue(0,getRow(),"PENALTY_MONEY","0.00");
|
||||
setItemValue(0,getRow(),"OPEN_MONEY","0.00");
|
||||
}else{
|
||||
setItemValue(0,getRow(),"OPEN_MONEY","0.00");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function changeContract(){
|
||||
getTerminateInfo();
|
||||
// setItemValue(0,0,"CONTRACT_TOTAL",(Number(getItemValue(0,getRow(),"CONTRACT_TOTAL"))+Number(getItemValue(0,getRow(),"OTHER_IN"))).toFixed(2));
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
<%@ page contentType="text/html; charset=GBK" %>
|
||||
<%@ include file="/Frame/resources/include/include_begin_list.jspf" %>
|
||||
<%
|
||||
String sFlowUnid = CurPage.getParameter("FlowUnid");//流程编号
|
||||
String ProductId = CurPage.getParameter("ProductId");
|
||||
String ProjectId = CurPage.getParameter("ProjectId");
|
||||
String RightType = CurPage.getParameter("RightType");
|
||||
String FlowNo = CurPage.getParameter("FlowNo");
|
||||
String TERMINATE_TYPE = CurPage.getParameter("TERMINATE_TYPE");
|
||||
String ishistory=CurPage.getParameter("IsHistory");
|
||||
|
||||
String templateNo = "LBEquipmentCarTempListJQ";
|
||||
ASObjectModel doTemp = new ASObjectModel(templateNo);
|
||||
if("2".equals(TERMINATE_TYPE)){
|
||||
doTemp.appendJboWhere(" and (TERMINATE_TYPE='1' or TERMINATE_TYPE is null )");
|
||||
}else if("1".equals(TERMINATE_TYPE)){
|
||||
doTemp.appendJboWhere(" and TERMINATE_TYPE='2' ");
|
||||
}else if("3".equals(TERMINATE_TYPE)){
|
||||
doTemp.appendJboWhere(" and TERMINATE_TYPE='3' ");
|
||||
}
|
||||
ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp, request);
|
||||
/* if(null!=ishistory&&ishistory.equals("true")){
|
||||
doTemp.setDataQueryClass("com.tenwa.flow.flowHistory.FlowDataInfoHistory");//如果是历史则新显示历史数据
|
||||
} */
|
||||
|
||||
dwTemp.Style = "1"; //--设置为Grid风格--
|
||||
dwTemp.ReadOnly = "1"; //只读模式
|
||||
dwTemp.ShowSummary = "1";
|
||||
|
||||
// 合同制作去除租赁物信息,新增、删除、复制按钮
|
||||
dwTemp.setPageSize(100);
|
||||
dwTemp.genHTMLObjectWindow(sFlowUnid);
|
||||
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
|
||||
String sButtons[][] = {
|
||||
|
||||
};
|
||||
%>
|
||||
<%@include file="/Frame/resources/include/ui/include_list.jspf" %>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
<%@ include file="/Frame/resources/include/include_end.jspf" %>
|
||||
@ -10,6 +10,7 @@
|
||||
//alert(getHtmlMessage('1'));//请选择一条信息!
|
||||
return;
|
||||
}
|
||||
debugger
|
||||
sReturn = sReturn.split("@");
|
||||
var contract_id=sReturn[0];
|
||||
var project_id=sReturn[1];
|
||||
@ -17,6 +18,8 @@
|
||||
var contract_number = sReturn[3];
|
||||
var project_name = sReturn[4];
|
||||
var payment_number = sReturn[5];
|
||||
//判断是否为可以发起部分结清
|
||||
var settletype = sReturn[6];
|
||||
//校验是否有保证金代偿
|
||||
/* var isCompensation = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","isCompensation","contractId="+contract_id);
|
||||
if("false" == isCompensation){
|
||||
@ -24,7 +27,7 @@
|
||||
return ;
|
||||
} */
|
||||
var sParams = "applyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>";
|
||||
sParams =sParams+",payment_number="+payment_number+",ProjectId="+project_id+",FlowKey="+payment_number+",ProductId="+product_id+",ContractId="+contract_id+",ProjectName="+project_name;
|
||||
sParams =sParams+",payment_number="+payment_number+",ProjectId="+project_id+",FlowKey="+payment_number+",ProductId="+product_id+",ContractId="+contract_id+",ProjectName="+project_name+",settletype="+settletype;
|
||||
var sReturnInfo = RunJavaMethodTrans("com.tenwa.lease.flow.contract.terminate.TerminateFlowStartAction","initFLow",sParams);
|
||||
if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return;
|
||||
var sReturnInfos=sReturnInfo.split("@");
|
||||
|
||||
@ -262,6 +262,11 @@
|
||||
// parent.parent.resetDWDialog("配偶身份证信息错误!",false);
|
||||
return false;
|
||||
} */
|
||||
if(!CheckLicense(certid)){
|
||||
alert("配偶证件号格式错误,请检查!");
|
||||
return;
|
||||
}
|
||||
|
||||
if(CheckLicense(certid)){
|
||||
setItemValue(0,0,"certid",certid);
|
||||
//setItemUnit(0,0,"certid","");
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
<%@page import="com.amarsoft.app.lc.workflow.action.GetFlowAction"%>
|
||||
<%@ page contentType="text/html; charset=GBK"%>
|
||||
<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
|
||||
|
||||
String flowNo = CurPage.getParameter("FlowNo");//流程编号
|
||||
String sFlowUnid = CurPage.getParameter("FlowUnid");//流程编号
|
||||
if(sFlowUnid == null)sFlowUnid = "";
|
||||
String sTempletNo = CurPage.getParameter("TempletNo");//模板号
|
||||
@ -18,6 +20,9 @@
|
||||
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
|
||||
doTemp.setHtmlEvent("MEMO", "onmouseover", "showMemo");
|
||||
doTemp.setHtmlEvent("MEMO", "onmouseout", "hideMemo");
|
||||
if("RentRebackFlow".equals(flowNo)){ //租金红冲流程不显示保证金抵扣的数据
|
||||
doTemp.appendJboWhere(" and SETTLE_METHOD <> 'settlemethod7'");
|
||||
}
|
||||
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
|
||||
dwTemp.Style="1"; //--设置为Grid风格--
|
||||
dwTemp.ReadOnly = "1"; //只读模式
|
||||
|
||||
@ -4545,6 +4545,7 @@
|
||||
<attribute name="head_name" label="头车名称" type="STRING" length="100"/>
|
||||
<attribute name="is_tail" label="头车字段(是否有挂车)" type="STRING" length="2"/>
|
||||
<attribute name="uu_id" label="标识" type="STRING" length="32"/>
|
||||
<attribute name="TERMINATE_TYPE" label="标识租赁物是否结清" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
@ -4667,6 +4668,7 @@
|
||||
<attribute name="head_name" label="头车名称" type="STRING" length="100"/>
|
||||
<attribute name="is_tail" label="头车字段(是否有挂车)" type="STRING" length="2"/>
|
||||
<attribute name="uu_id" label="标识" type="STRING" length="32"/>
|
||||
<attribute name="TERMINATE_TYPE" label="标识租赁物是否结清" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
|
||||
@ -75,7 +75,7 @@
|
||||
<property name="table" value="LC_EBANK" />
|
||||
<property name="createKey" value="true" />
|
||||
<property name="keyDatePrefix" value="'LCE'yyyyMMdd"/>
|
||||
<property name="query.largeResultLimit" value="20000"/>
|
||||
<property name="query.largeResultLimit" value="30000"/>
|
||||
</managerProperties>
|
||||
</manager>
|
||||
</class>
|
||||
@ -326,6 +326,11 @@
|
||||
<attribute name="SurplusINTEREST" label="剩余利息" type="STRING" length="32"/>
|
||||
<attribute name="MAXIMUM_TOTAL" label="最终还款金额" type="STRING" length="32"/>
|
||||
<attribute name="AGREED_DATEPENALTY" label="商定还款日息差" type="STRING" length="32"/>
|
||||
<attribute name="SETTLE_METHOD" label="结清方式" type="STRING" length="32"/>
|
||||
<attribute name="PROPROTION_NUMBER" label="租赁物比重" type="STRING" length="32"/>
|
||||
<attribute name="CLEAN_LEASE_MONEY" label="融资金额(元)" type="STRING" length="32"/>
|
||||
<attribute name="PREMATURE_MONEY" label="部分结清车辆未到期本金" type="STRING" length="32"/>
|
||||
<attribute name="RESIDUE_MONEY" label="剩余车辆未到期本金" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
@ -378,6 +383,11 @@
|
||||
<attribute name="SurplusINTEREST" label="剩余利息" type="STRING" length="32"/>
|
||||
<attribute name="MAXIMUM_TOTAL" label="最终还款金额" type="STRING" length="32"/>
|
||||
<attribute name="AGREED_DATEPENALTY" label="商定还款日息差" type="STRING" length="32"/>
|
||||
<attribute name="SETTLE_METHOD" label="结清方式" type="STRING" length="32"/>
|
||||
<attribute name="PROPROTION_NUMBER" label="租赁物比重" type="STRING" length="32"/>
|
||||
<attribute name="CLEAN_LEASE_MONEY" label="融资金额(元)" type="STRING" length="32"/>
|
||||
<attribute name="PREMATURE_MONEY" label="部分结清车辆未到期本金" type="STRING" length="32"/>
|
||||
<attribute name="RESIDUE_MONEY" label="剩余车辆未到期本金" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
|
||||
@ -845,6 +845,9 @@
|
||||
<attribute name="PLAN_LIST" label="期次" type="STRING" length="32"/>
|
||||
<attribute name="RENT_PLAN_ID" label="租金计划ID" type="STRING" length="32"/>
|
||||
<attribute name="COMPENSATORY_CON" label="连续代偿期数" type="STRING" length="32"/>
|
||||
<attribute name="CORPUS" label="本金" type="DOUBLE" length="22" scale="2"/>
|
||||
<attribute name="INTEREST" label="利息" type="DOUBLE" length="22" scale="2"/>
|
||||
<attribute name="PENALTY" label="罚息" type="DOUBLE" length="22" scale="2"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
|
||||
@ -1511,6 +1511,7 @@
|
||||
<attribute name="head_name" label="头车名称" type="STRING" length="100"/>
|
||||
<attribute name="is_tail" label="头车字段(是否有挂车)" type="STRING" length="2"/>
|
||||
<attribute name="uu_id" label="标识" type="STRING" length="32"/>
|
||||
<attribute name="TERMINATE_TYPE" label="标识租赁物是否结清" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
@ -2092,6 +2093,7 @@
|
||||
<attribute name="head_name" label="头车名称" type="STRING" length="100"/>
|
||||
<attribute name="is_tail" label="头车字段(是否有挂车)" type="STRING" length="2"/>
|
||||
<attribute name="uu_id" label="标识" type="STRING" length="32"/>
|
||||
<attribute name="TERMINATE_TYPE" label="标识租赁物是否结清" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
@ -3676,6 +3678,7 @@
|
||||
<attribute name="head_name" label="头车名称" type="STRING" length="100"/>
|
||||
<attribute name="is_tail" label="头车字段(是否有挂车)" type="STRING" length="2"/>
|
||||
<attribute name="uu_id" label="标识" type="STRING" length="32"/>
|
||||
<attribute name="TERMINATE_TYPE" label="标识租赁物是否结清" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
|
||||
@ -3238,6 +3238,26 @@
|
||||
</managerProperties>
|
||||
</manager>
|
||||
</class>
|
||||
|
||||
|
||||
|
||||
<class name="VI_CUSTOMER_DISTRIBUTOR" label="客户和经销商名称" keyAttributes="OBJECTNO">
|
||||
<attributes>
|
||||
<attribute name="flow_unid" label="对象编号" type="STRING"/>
|
||||
<attribute name="CUSTOMER_NAME" label="客户名称" type="STRING"/>
|
||||
<attribute name="DISTRIBUTOR_NAME" label="经销商名称" type="STRING"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
<property name="table" value="VI_CUSTOMER_DISTRIBUTOR" />
|
||||
<property name="createKey" value="false" />
|
||||
</managerProperties>
|
||||
</manager>
|
||||
</class>
|
||||
|
||||
|
||||
|
||||
|
||||
<class name="PF_TASK_ALLOCATION_ROLE" label="" keyAttributes="ID">
|
||||
<attributes>
|
||||
<attribute name="ID" label="标识" type="STRING" length="32"/>
|
||||
|
||||
@ -24,7 +24,7 @@ public class CopyDormantRentTempToFormal extends BaseBussiness{
|
||||
Map<String,String>fromCondtion=new HashMap<String, String>();
|
||||
fromCondtion.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
Map<String,String>fromCondtion2=new HashMap<String, String>();
|
||||
fromCondtion.put("contract_id",this.getAttribute("ContractId").toString());
|
||||
fromCondtion2.put("contract_id",this.getAttribute("ContractId").toString());
|
||||
Map<String,String>otherProperty2=new HashMap<String, String>();
|
||||
otherProperty2.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
DataOperatorUtil.copySingleJBO(LC_DORMANT_RENT_ADJUST_TEMP.CLASS_NAME, fromCondtion, LC_DORMANT_RENT_ADJUST.CLASS_NAME, null, null, Sqlca);
|
||||
|
||||
33
calc/com/tenwa/reckon/copydata/CalcConditionUpdateRent.java
Normal file
33
calc/com/tenwa/reckon/copydata/CalcConditionUpdateRent.java
Normal file
@ -0,0 +1,33 @@
|
||||
package com.tenwa.reckon.copydata;
|
||||
|
||||
import com.amarsoft.awe.util.ASResultSet;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
|
||||
/**
|
||||
* 起租后方案信息变更租金计划表合同id为空
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class CalcConditionUpdateRent extends BaseBussiness{
|
||||
|
||||
public Object run(Transaction Sqlca) throws Exception {
|
||||
this.initBussinessParam(Sqlca);
|
||||
String flowunid = this.getAttribute("ObjectNo").toString(); //获取流程编号
|
||||
String contractId = this.getAttribute("ContractId").toString(); //获取合同编号
|
||||
ASResultSet rs = Sqlca.getASResultSet(new SqlObject("select PROJECT_ID,PROJECT_PLAN_NUMBER ,CONTRACT_PLAN_NUMBER ,PAYMENT_NUMBER from lc_rent_plan where CONTRACT_ID ='"+contractId+"' and PLAN_LIST = '1' "));
|
||||
if ( rs.next() ) {
|
||||
SqlObject sql = new SqlObject("update lc_rent_plan_temp set "
|
||||
+ " PROJECT_ID =:projectId,PROJECT_PLAN_NUMBER=:projectPlanNumber ,"
|
||||
+ " CONTRACT_PLAN_NUMBER=:contractPlanNumber ,PAYMENT_NUMBER=:paymentNumber,CONTRACT_ID=:contractId "
|
||||
+ " where FLOWUNID=:flowUnid ");
|
||||
sql.setParameter("projectId", rs.getString( "PROJECT_ID" ) ).setParameter("projectPlanNumber", rs.getString( "PROJECT_PLAN_NUMBER" ) )
|
||||
.setParameter("contractPlanNumber", rs.getString( "CONTRACT_PLAN_NUMBER" ) ).setParameter("paymentNumber", rs.getString( "PAYMENT_NUMBER" ) )
|
||||
.setParameter("contractId", contractId ).setParameter("flowUnid", flowunid);
|
||||
Sqlca.executeSQL(sql);
|
||||
}
|
||||
return "true";
|
||||
|
||||
}
|
||||
}
|
||||
@ -313,14 +313,20 @@ public class CreateTransactionExecutor implements Transaction {
|
||||
public String carRunOnhire(com.amarsoft.awe.util.Transaction Sqlca) throws Exception {
|
||||
JBOTransaction tx=null;
|
||||
BizObjectManager Bm=JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME, Sqlca);
|
||||
BizObjectManager lprrM=JBOFactory.getBizObjectManager(LC_PAY_RENT_PLAN.CLASS_NAME, Sqlca);
|
||||
BizObject boLCC = Bm.createQuery("contract_id='" + contractId + "'").getSingleResult(true);
|
||||
BizObjectManager bmLCI=JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME, Sqlca);
|
||||
BizObject boLCI = bmLCI.createQuery("id='" + contractId + "'").getSingleResult(false);
|
||||
|
||||
List<BizObject> lprrs = lprrM.createQuery(" payment_number=:payment_number ").setParameter("payment_number", this.plannumber ).getResultList(false);
|
||||
|
||||
//»ñÈ¡ÆÚ´Î
|
||||
if(boLCC != null) {
|
||||
String settleMethod = boLCC.getAttribute("SETTLE_METHOD").getString();
|
||||
String defaultDueDay = ProductParamUtil.getProductParameterValue(productId, "PRD0301", settleMethod, "DefaultDueDay");
|
||||
int incomeNumber = boLCC.getAttribute("INCOME_NUMBER").getInt();
|
||||
// int incomeNumber = boLCC.getAttribute("INCOME_NUMBER").getInt();
|
||||
int incomeNumber = lprrs.size() ;
|
||||
|
||||
//ÆÚ³õ-ÆÚÄ©
|
||||
String periodType = boLCC.getAttribute("PERIOD_TYPE").getString();
|
||||
String incomeIntervalMonth = boLCC.getAttribute("INCOME_INTERVAL_MONTH").getInt() + "";
|
||||
@ -358,6 +364,7 @@ public class CreateTransactionExecutor implements Transaction {
|
||||
}
|
||||
boLCC.setAttributeValue("start_date", startDate);
|
||||
boLCC.setAttributeValue("lease_amt_date", startDate);
|
||||
boLCC.setAttributeValue("INCOME_NUMBER", incomeNumber);
|
||||
if(planDateList.size()>0)boLCC.setAttributeValue("first_plan_date", planDateList.get(0));
|
||||
if(planDateList.size()>1)boLCC.setAttributeValue("second_plan_date", planDateList.get(1));
|
||||
Bm.saveObject(boLCC);
|
||||
@ -1397,12 +1404,12 @@ public class CreateTransactionExecutor implements Transaction {
|
||||
Double factMoney = new Double(let.getAttribute("FACT_MONEY").getString());
|
||||
if(mayopeMoney>=advanceMoney){
|
||||
Double mayopeMoneyNew = mayopeMoney-advanceMoney;
|
||||
let.setAttributeValue("HAD_MONEY", factMoney - mayopeMoneyNew);
|
||||
let.setAttributeValue("HAD_MONEY", advanceMoney);
|
||||
let.setAttributeValue("MAYOPE_MONEY", mayopeMoneyNew);
|
||||
letManage.saveObject(let);
|
||||
break;
|
||||
}else{
|
||||
let.setAttributeValue("HAD_MONEY", factMoney);
|
||||
let.setAttributeValue("HAD_MONEY", mayopeMoney);
|
||||
advanceMoney = advanceMoney-mayopeMoney;
|
||||
let.setAttributeValue("MAYOPE_MONEY", 0);
|
||||
letManage.saveObject(let);
|
||||
|
||||
@ -43,6 +43,7 @@ public class SegmentedFinancingExecutor extends FundRentPlanExecutor {
|
||||
List<String> overCorpuss = new ArrayList<>();
|
||||
PlanDateServiceImpl pdsi = new PlanDateServiceImpl( tx );
|
||||
ConditionBean cb = tcb.getCb();
|
||||
BigDecimal maxIncomeNumber = BigDecimal.ZERO;
|
||||
for ( BizObject bo : bos ) {
|
||||
// ᅦ뼁
|
||||
String subsectionNumber = bo.getAttribute( "SUBSECTION_NUMBER" ).getString();
|
||||
@ -54,6 +55,10 @@ public class SegmentedFinancingExecutor extends FundRentPlanExecutor {
|
||||
BigDecimal preRate = rate.divide( incomeNumberYear, 20, 4 );
|
||||
// ÆÚ´Î
|
||||
BigDecimal incomeNumber = new BigDecimal( bo.getAttribute( "INCOME_NUMBER" ).getString() );
|
||||
|
||||
if(incomeNumber.compareTo(maxIncomeNumber) > 0 ) {
|
||||
maxIncomeNumber = incomeNumber;
|
||||
}
|
||||
cb.setIncomeNumber( incomeNumber.intValue() );
|
||||
List<String> planDateList = pdsi.getPlanDateList( cb, null );
|
||||
if ( planDateList.size() > dates.size() ) {
|
||||
@ -179,6 +184,10 @@ public class SegmentedFinancingExecutor extends FundRentPlanExecutor {
|
||||
}
|
||||
}
|
||||
}
|
||||
//将分段融的最大值赋值给测算期次
|
||||
cb.setIncomeNumber( maxIncomeNumber.intValue() );
|
||||
//分段融目前没有配置还款间隔,默认为月付。租赁期限和租赁次数一致
|
||||
cb.setLeaseTerm( maxIncomeNumber.intValue() );
|
||||
FundRentPlanBean fundRentPlanBean = new FundRentPlanBean();
|
||||
fundRentPlanBean.setCorpusOverageBusinessList( overCorpuss );
|
||||
fundRentPlanBean.setCorpusBusinessList( corpuss );
|
||||
|
||||
@ -1,68 +1,39 @@
|
||||
package com.tenwa.flow.util;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import com.amarsoft.app.lc.util.DateAssistant;
|
||||
import com.amarsoft.are.jbo.*;
|
||||
import com.amarsoft.are.lang.StringX;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import jbo.com.tenwa.entity.comm.flow.FLOW_WORK_FLAG;
|
||||
import jbo.com.tenwa.entity.comm.serialutil.T_SERIAL_NUMBER;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT;
|
||||
import jbo.com.tenwa.entity.comm.flow.FLOW_WORK_FLAG;
|
||||
import jbo.com.tenwa.entity.comm.serialutil.T_SERIAL_DISCARD_NUMBER;
|
||||
import jbo.com.tenwa.entity.comm.serialutil.T_SERIAL_NUMBER;
|
||||
import jbo.sys.FLOW_OBJECT;
|
||||
|
||||
import com.amarsoft.app.lc.util.DateAssistant;
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.BizObjectQuery;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.are.lang.StringX;
|
||||
import com.amarsoft.awe.Configure;
|
||||
import com.amarsoft.awe.util.ASResultSet;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
public class FlowUtil {
|
||||
public static synchronized String getProjectSerialNumber(String orgId,JBOTransaction tx) throws Exception{
|
||||
return FlowUtil.getSerialNumber("P{year}{month}{day}{maxOrderNumber}",6,null, "项目编号"+orgId, null, tx);
|
||||
}
|
||||
|
||||
public static synchronized String getEbankSerialNumber(String orgId,JBOTransaction tx) throws Exception{
|
||||
return FlowUtil.getSerialNumber("E-{year}{month}{maxOrderNumber}",3,null, "网银编号"+orgId, null, tx);
|
||||
}
|
||||
|
||||
public static synchronized String getOutNoNumber(JBOTransaction tx) throws Exception{
|
||||
return FlowUtil.getSerialNumber("PF{year}{month}{maxOrderNumber}",4,null, "", null, tx);
|
||||
}
|
||||
|
||||
public static synchronized String getRentOutNoNumber(JBOTransaction tx) throws Exception{
|
||||
return FlowUtil.getSerialNumber("PR{year}{month}{maxOrderNumber}",4,null, "", null, tx);
|
||||
}
|
||||
|
||||
//获取1位的凭证号(凭证号--1、2、3)
|
||||
public static synchronized String getVoucher_Number(JBOTransaction tx) throws Exception{
|
||||
return String.valueOf(Integer.parseInt(FlowUtil.getSerialNumber("{maxOrderNumber}",6,null, "凭证号", Integer.parseInt("2018"), tx)));
|
||||
public static String getVoucher_Number(JBOTransaction tx) throws Exception {
|
||||
return FlowUtil.getSerialNumber("{maxOrderNumber}", 6, null, "凭证号", 2018, tx);
|
||||
}
|
||||
|
||||
//获取1位的客户编号(--1、2、3)
|
||||
public static synchronized String getCustomer_Number(JBOTransaction tx) throws Exception{
|
||||
return String.valueOf(Integer.parseInt(FlowUtil.getSerialNumber("{maxOrderNumber}",15,null, "客户编号", Integer.parseInt("2018"), tx)));
|
||||
}
|
||||
//获取法人customerid(--1、2、3)
|
||||
public static synchronized String getCustomer_Id(JBOTransaction tx) throws Exception{
|
||||
return String.valueOf(Integer.parseInt(FlowUtil.getSerialNumber("{maxOrderNumber}",15,null, "法人客户编号", Integer.parseInt("2018"), tx)));
|
||||
//获取客户编号(法人,自然人)
|
||||
public static String getCustomer_Number(boolean isCompany, String custType) throws Exception {
|
||||
ImmutableMap<String, String> model = ImmutableMap.of("custType", custType);
|
||||
return FlowUtil.getSerialNumber("APZL{custType}{maxOrderNumber}", 15, model, isCompany ? "法人客户编号" : "客户编号", null, null);
|
||||
}
|
||||
|
||||
//获取经销商编号
|
||||
public static synchronized String getDistributorSerialNumber(JBOTransaction tx) throws Exception{
|
||||
public static String getDistributorSerialNumber(JBOTransaction tx) throws Exception {
|
||||
return FlowUtil.getSerialNumber("DSTB{year}{month}{day}{maxOrderNumber}",6,null, "经销商编号", null, tx);
|
||||
}
|
||||
|
||||
protected static synchronized String getSerialNumber(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,JBOTransaction tx) throws Exception
|
||||
{
|
||||
|
||||
private static String getSerialNumber(String serialNumberPattern, int numberCount, Map<String, String> model, String type, Integer queryYear, JBOTransaction tx) throws Exception {
|
||||
String currentDateTime = DateAssistant.getTodayNow();
|
||||
String currentYear = currentDateTime.substring(0,4);
|
||||
String month = currentDateTime.substring(5,7);
|
||||
@ -70,336 +41,74 @@ public class FlowUtil {
|
||||
String hour = currentDateTime.substring(11,13);
|
||||
String minute = currentDateTime.substring(14,16);
|
||||
String second = currentDateTime.substring(17,19);
|
||||
|
||||
Integer year = Integer.parseInt(currentYear);
|
||||
if(null != queryYear){
|
||||
year = queryYear;
|
||||
}
|
||||
Map<String,String> paramMap = new HashMap<String,String>();
|
||||
Integer year = queryYear != null ? queryYear : Integer.valueOf(currentYear);
|
||||
Map<String, String> paramMap = new HashMap<>();
|
||||
paramMap.put("year", year+"");
|
||||
paramMap.put("month", month+"");
|
||||
paramMap.put("day", day+"");
|
||||
paramMap.put("hour", hour+"");
|
||||
paramMap.put("minute", minute+"");
|
||||
paramMap.put("second", second+"");
|
||||
paramMap.put("month", month);
|
||||
paramMap.put("day", day);
|
||||
paramMap.put("hour", hour);
|
||||
paramMap.put("minute", minute);
|
||||
paramMap.put("second", second);
|
||||
|
||||
int maxOrderNumber = getMaxOrderNumber(type, queryYear, tx);
|
||||
StringBuffer numberFormat = new StringBuffer();
|
||||
for(int i=0;i<numberCount;i++)
|
||||
{
|
||||
numberFormat.append("0");
|
||||
}
|
||||
|
||||
DecimalFormat df = new DecimalFormat(numberFormat.toString());
|
||||
String serialNumberFormat = df.format(maxOrderNumber);
|
||||
paramMap.put("maxOrderNumber", serialNumberFormat);
|
||||
int maxOrderNumber = getMaxOrderNumber(type, queryYear);
|
||||
paramMap.put("maxOrderNumber", String.format("%0" + numberCount + "d", maxOrderNumber));
|
||||
if(null != model){
|
||||
paramMap.putAll(model);
|
||||
}
|
||||
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
|
||||
|
||||
return serialNumberString;
|
||||
}
|
||||
protected static synchronized String getSerialNumber(Map<String,String> paramMap,String serialNumberPattern){
|
||||
for(String key:paramMap.keySet()){
|
||||
if(serialNumberPattern.indexOf("{"+key+"}")>=0){
|
||||
serialNumberPattern=serialNumberPattern.replace("{"+key+"}", paramMap.get(key));
|
||||
for (String key : paramMap.keySet()) {
|
||||
if (serialNumberPattern.indexOf("{" + key + "}") >= 0) {
|
||||
serialNumberPattern = serialNumberPattern.replace("{" + key + "}", paramMap.get(key));
|
||||
}
|
||||
}
|
||||
return serialNumberPattern;
|
||||
}
|
||||
/***
|
||||
* serialNumberPattern匹配值
|
||||
* {year}->年份,如果参数year为空则取当前年
|
||||
* {month}->当前月
|
||||
* {day}->当前日
|
||||
* {hour}->时
|
||||
* {minute}->分
|
||||
* {second}->秒
|
||||
* {maxOrderNumber}->当前最大序号
|
||||
*
|
||||
* **/
|
||||
protected static synchronized String getSerialNumberByMonth(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,Integer queryMonth,JBOTransaction tx) throws Exception
|
||||
{
|
||||
String currentDateTime = DateAssistant.getTodayNow();
|
||||
String currentYear = currentDateTime.substring(0,4);
|
||||
String monthStr = currentDateTime.substring(5,7);
|
||||
String day = currentDateTime.substring(8,10);
|
||||
String hour = currentDateTime.substring(11,13);
|
||||
String minute = currentDateTime.substring(14,16);
|
||||
String second = currentDateTime.substring(17,19);
|
||||
|
||||
int year = Integer.parseInt(currentYear);
|
||||
int month = Integer.parseInt(monthStr);
|
||||
if(null != queryYear){
|
||||
year = queryYear;
|
||||
}
|
||||
if(null != queryMonth){
|
||||
month = queryMonth ;
|
||||
}
|
||||
Map<String,String> paramMap = new HashMap<String,String>();
|
||||
paramMap.put("year", year+"");
|
||||
paramMap.put("month", monthStr+"");
|
||||
paramMap.put("day", day+"");
|
||||
paramMap.put("hour", hour+"");
|
||||
paramMap.put("minute", minute+"");
|
||||
paramMap.put("second", second+"");
|
||||
|
||||
int maxOrderNumber = getMaxOrderNumberByMonth(type, year,month, tx);
|
||||
StringBuffer numberFormat = new StringBuffer();
|
||||
for(int i=0;i<numberCount;i++)
|
||||
{
|
||||
numberFormat.append("0");
|
||||
}
|
||||
|
||||
DecimalFormat df = new DecimalFormat(numberFormat.toString());
|
||||
String serialNumberFormat = df.format(maxOrderNumber);
|
||||
paramMap.put("maxOrderNumber", serialNumberFormat);
|
||||
if(null != model){
|
||||
paramMap.putAll(model);
|
||||
}
|
||||
|
||||
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
|
||||
|
||||
return serialNumberString;
|
||||
}
|
||||
//考虑并发情况必须采用同步机制
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static synchronized int getMaxOrderNumber(String type,Integer queryYear,JBOTransaction tx) throws Exception
|
||||
{
|
||||
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
|
||||
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_NUMBER.CLASS_NAME);
|
||||
tx.join(tNumberManager);
|
||||
Map<String,String>searchCondtion=new HashMap<String,String>();
|
||||
if(!StringX.isEmpty(type)){
|
||||
searchCondtion.put("type_", type);
|
||||
}
|
||||
if(null != queryYear){
|
||||
searchCondtion.put("year_", queryYear.toString());
|
||||
|
||||
}
|
||||
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
|
||||
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
|
||||
for (String key : searchCondtion.keySet()) {
|
||||
bqDest.setParameter(key, searchCondtion.get(key).toString());
|
||||
}
|
||||
BizObject serialNumber = null;
|
||||
serialNumber = bqDest.getSingleResult(true);// 目标JBO,需要做更新操作
|
||||
|
||||
|
||||
if(null==serialNumber){
|
||||
|
||||
serialNumber = tNumberManager.newObject();
|
||||
if(null != queryYear)
|
||||
{
|
||||
currentYear = queryYear;
|
||||
private static synchronized int getMaxOrderNumber(String type, Integer queryYear) throws Exception {
|
||||
JBOTransaction tx = null;
|
||||
try {
|
||||
tx = JBOFactory.createJBOTransaction();
|
||||
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
|
||||
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_NUMBER.CLASS_NAME);
|
||||
tx.join(tNumberManager);
|
||||
Map<String, String> searchCondtion = new HashMap<String, String>();
|
||||
if (!StringX.isEmpty(type)) {
|
||||
searchCondtion.put("type_", type);
|
||||
}
|
||||
serialNumber.setAttributeValue("year_",currentYear);
|
||||
serialNumber.setAttributeValue("type_",type);
|
||||
serialNumber.setAttributeValue("order_number_", "0");
|
||||
}
|
||||
int maxOrderNumber = Integer.valueOf(serialNumber.getAttribute("order_number_").getInt()) + 1;
|
||||
serialNumber.setAttributeValue("order_number_",maxOrderNumber);
|
||||
tNumberManager.saveObject(serialNumber);
|
||||
return maxOrderNumber;
|
||||
}
|
||||
//考虑并发情况必须采用同步机制
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static synchronized int getMaxOrderNumberByMonth(String type,Integer queryYear,Integer queryMonth,JBOTransaction tx) throws Exception
|
||||
{
|
||||
if (null != queryYear) {
|
||||
searchCondtion.put("year_", queryYear.toString());
|
||||
|
||||
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
|
||||
int currentMonth = Calendar.getInstance().get(Calendar.MONTH);
|
||||
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_NUMBER.CLASS_NAME);
|
||||
tx.join(tNumberManager);
|
||||
Map<String,String>searchCondtion=new HashMap<String,String>();
|
||||
if(!StringX.isEmpty(type)){
|
||||
searchCondtion.put("type_", type);
|
||||
}
|
||||
if(null != queryYear){
|
||||
searchCondtion.put("year_", queryYear.toString());
|
||||
|
||||
}
|
||||
if(null != queryMonth){
|
||||
searchCondtion.put("month_", queryMonth.toString());
|
||||
|
||||
}
|
||||
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
|
||||
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
|
||||
for (String key : searchCondtion.keySet()) {
|
||||
bqDest.setParameter(key, searchCondtion.get(key).toString());
|
||||
}
|
||||
BizObject serialNumber = null;
|
||||
serialNumber = bqDest.getSingleResult(true);// 目标JBO,需要做更新操作
|
||||
|
||||
|
||||
if(null==serialNumber)
|
||||
{
|
||||
|
||||
serialNumber = tNumberManager.newObject();
|
||||
if(null != queryYear)
|
||||
{
|
||||
currentYear = queryYear;
|
||||
}
|
||||
if(null != queryMonth){
|
||||
currentMonth = queryMonth;
|
||||
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
|
||||
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
|
||||
for (String key : searchCondtion.keySet()) {
|
||||
bqDest.setParameter(key, searchCondtion.get(key).toString());
|
||||
}
|
||||
serialNumber.setAttributeValue("year_",currentYear);
|
||||
serialNumber.setAttributeValue("month_",currentMonth);
|
||||
serialNumber.setAttributeValue("type_",type);
|
||||
serialNumber.setAttributeValue("order_number_", "0");
|
||||
// 目标JBO,需要做更新操作
|
||||
BizObject serialNumber = bqDest.getSingleResult(true);
|
||||
if (Objects.isNull(serialNumber)) {
|
||||
serialNumber = tNumberManager.newObject();
|
||||
serialNumber.setAttributeValue("year_", queryYear != null ? queryYear : currentYear);
|
||||
serialNumber.setAttributeValue("type_", type);
|
||||
serialNumber.setAttributeValue("order_number_", "0");
|
||||
}
|
||||
int maxOrderNumber = serialNumber.getAttribute("order_number_").getInt() + 1;
|
||||
serialNumber.setAttributeValue("order_number_", maxOrderNumber);
|
||||
tNumberManager.saveObject(serialNumber);
|
||||
tx.commit();
|
||||
return maxOrderNumber;
|
||||
} catch (Exception e) {
|
||||
if (tx != null) tx.rollback();
|
||||
throw e;
|
||||
}
|
||||
int maxOrderNumber = Integer.valueOf(serialNumber.getAttribute("order_number_").getInt()) + 1;
|
||||
serialNumber.setAttributeValue("order_number_",maxOrderNumber);
|
||||
tNumberManager.saveObject(serialNumber);
|
||||
return maxOrderNumber;
|
||||
}
|
||||
/**
|
||||
* 优先从号码废弃池中取号,如果号码废弃池中没有待取号吗,则根据序列号生成
|
||||
* @param serialNumberPattern
|
||||
* @param numberCount
|
||||
* @param model
|
||||
* @param type
|
||||
* @param queryYear
|
||||
* @param hibernateTemplate
|
||||
* @param jdbcTemplate
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
protected static synchronized String getSerialNumberFirstDiscard(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,JBOTransaction tx) throws Exception
|
||||
{
|
||||
String currentDateTime = DateAssistant.getTodayNow();
|
||||
String currentYear = currentDateTime.substring(0,4);
|
||||
String month = currentDateTime.substring(5,7);
|
||||
String day = currentDateTime.substring(8,10);
|
||||
String hour = currentDateTime.substring(11,13);
|
||||
String minute = currentDateTime.substring(14,16);
|
||||
String second = currentDateTime.substring(17,19);
|
||||
|
||||
int year = Integer.parseInt(currentYear);
|
||||
if(null != queryYear){
|
||||
year = queryYear;
|
||||
}
|
||||
Map<String,String> paramMap = new HashMap<String,String>();
|
||||
paramMap.put("year", year+"");
|
||||
paramMap.put("month", month+"");
|
||||
paramMap.put("day", day+"");
|
||||
paramMap.put("hour", hour+"");
|
||||
paramMap.put("minute", minute+"");
|
||||
paramMap.put("second", second+"");
|
||||
|
||||
int maxOrderNumber =0;
|
||||
//从废弃池查找可用号码
|
||||
maxOrderNumber=getMinDiscardNumber(type, queryYear, tx);
|
||||
if(maxOrderNumber<0){//废弃池中没有数据
|
||||
maxOrderNumber=getMaxOrderNumber(type, year, tx);
|
||||
}
|
||||
StringBuffer numberFormat = new StringBuffer();
|
||||
for(int i=0;i<numberCount;i++)
|
||||
{
|
||||
numberFormat.append("0");
|
||||
}
|
||||
DecimalFormat df = new DecimalFormat(numberFormat.toString());
|
||||
String serialNumberFormat = df.format(maxOrderNumber);
|
||||
paramMap.put("maxOrderNumber", serialNumberFormat);
|
||||
if(null != model){
|
||||
paramMap.putAll(model);
|
||||
}
|
||||
|
||||
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
|
||||
|
||||
return serialNumberString;
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static synchronized int getMinDiscardNumber(String type,Integer queryYear,JBOTransaction tx) throws Exception
|
||||
{
|
||||
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_DISCARD_NUMBER.CLASS_NAME);
|
||||
tx.join(tNumberManager);
|
||||
Map<String,String>searchCondtion=new HashMap<String,String>();
|
||||
if(!StringX.isEmpty(type)){
|
||||
searchCondtion.put("type_", type);
|
||||
}
|
||||
if(null != queryYear){
|
||||
searchCondtion.put("year_", queryYear.toString());
|
||||
|
||||
}
|
||||
|
||||
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
|
||||
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
|
||||
for (String key : searchCondtion.keySet()) {
|
||||
bqDest.setParameter(key, searchCondtion.get(key).toString());
|
||||
}
|
||||
BizObject serialNumber = null;
|
||||
serialNumber = bqDest.getSingleResult(true);// 目标JBO,需要做更新操作
|
||||
|
||||
if(null!=serialNumber)
|
||||
{
|
||||
int minOrderNumber = serialNumber.getAttribute("discard_number_").getInt();
|
||||
tNumberManager.deleteObject(serialNumber);
|
||||
return minOrderNumber;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void deleteWorkFlowConflict(String flowUnid,JBOTransaction tx) throws Exception{
|
||||
Map<String,String> condtion=new HashMap<String, String>();
|
||||
condtion.put("flow_unid", flowUnid);
|
||||
DataOperatorUtil.deleteJBOByCondtion(FLOW_WORK_FLAG.CLASS_NAME, condtion, tx);
|
||||
}
|
||||
|
||||
public static String checkWorkFlowConflict(String flowUnid,String flowname,String flowkey,JBOTransaction tx)throws Exception{
|
||||
String sql="SELECT flow_unid,flow_name FROM flow_work_flag WHERE flow_name IN("
|
||||
+ "SELECT flow_nameb FROM flow_mutex_config "
|
||||
+ "WHERE flow_namea=:flow_namea ) AND mutex_key=:mutex_key";
|
||||
ASResultSet rs = null;
|
||||
String flow_unid=null;
|
||||
String flow_name=null;
|
||||
String username=null;
|
||||
String res="";
|
||||
try {
|
||||
Map<String,String>searchCondtion=new HashMap<String,String>();
|
||||
Configure CurConfig = Configure.getInstance();
|
||||
String sDataSource = CurConfig.getDataSource();
|
||||
Transaction Sqlca = Transaction.createTransaction(sDataSource);
|
||||
SqlObject so = new SqlObject(sql);
|
||||
so.setParameter("flow_namea",flowname);
|
||||
so.setParameter("mutex_key",flowkey);
|
||||
rs = Sqlca.getASResultSet(so);
|
||||
while(rs.next()){
|
||||
flow_unid=rs.getString("flow_unid");
|
||||
flow_name=rs.getString("flow_name");
|
||||
searchCondtion.clear();
|
||||
searchCondtion.put("objectno", flow_unid);
|
||||
BizObject flowobject=DataOperatorUtil.getSingleJBO(FLOW_OBJECT.CLASS_NAME, searchCondtion, tx);
|
||||
if(res!=""){
|
||||
res+=",";
|
||||
}
|
||||
res+=flow_name+"[用户名:"+flowobject.getAttribute("username").getString()+"]";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}finally{
|
||||
rs.close();
|
||||
public static void deleteWorkFlowConflict(String flowUnid, JBOTransaction tx) throws Exception {
|
||||
Map<String, String> condtion = new HashMap<String, String>();
|
||||
condtion.put("flow_unid", flowUnid);
|
||||
DataOperatorUtil.deleteJBOByCondtion(FLOW_WORK_FLAG.CLASS_NAME, condtion, tx);
|
||||
}
|
||||
if(res.length()>0){
|
||||
//删除表数据
|
||||
Map<String,String>condtion=new HashMap<String,String>();
|
||||
condtion.put("flow_unid", flowUnid);
|
||||
DataOperatorUtil.deleteJBOByCondtion(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
|
||||
return "当前流程和"+res+"互斥,如有疑惑请联系管理员";
|
||||
}else{
|
||||
/*BizObjectManager bom=JBOFactory.getBizObjectManager(FLOW_BUSSINESS_OBJECT.CLASS_NAME);
|
||||
tx.join(bom);
|
||||
BizObject bo=bom.newObject();
|
||||
|
||||
bo.setAttributeValue("flow_unid", flowUnid);
|
||||
bo.setAttributeValue("flow_name", flowname);
|
||||
bo.setAttributeValue("flow_key", flowkey);
|
||||
bom.saveObject(bo);*/
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
177
src_core/com/tenwa/jbo/manager/BizObject.java
Normal file
177
src_core/com/tenwa/jbo/manager/BizObject.java
Normal file
@ -0,0 +1,177 @@
|
||||
package com.tenwa.jbo.manager;
|
||||
|
||||
import com.tenwa.comm.exception.BusinessException;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class BizObject implements Cloneable {
|
||||
|
||||
private String className;
|
||||
private List<DataObject> datas;
|
||||
|
||||
private BizObject(String className ) {
|
||||
this.className = className;
|
||||
}
|
||||
|
||||
public static BizObject getBizObject(String className ) {
|
||||
return new BizObject( className );
|
||||
}
|
||||
|
||||
public void setAttributeValue( String columnName, Object value ) throws SQLException {
|
||||
if ( columnName == null || "".equals( columnName ) ) {
|
||||
throw new SQLException( "column name can not be null" );
|
||||
}
|
||||
|
||||
if ( datas == null ) {
|
||||
datas = new ArrayList<DataObject>();
|
||||
}
|
||||
|
||||
if ( value == null || "".equals( value ) ) {
|
||||
datas.add( new DataObject( columnName, "string", null ) );
|
||||
} else {
|
||||
String type = value.getClass().getSimpleName().toLowerCase();
|
||||
if ( !DataObject.types.contains( type ) ) {
|
||||
throw new SQLException( "unrecognized value type" );
|
||||
}
|
||||
datas.add( new DataObject( columnName, type, value ) );
|
||||
}
|
||||
}
|
||||
|
||||
public List<BizObject> query(String params ) throws Exception {
|
||||
return query( null, params );
|
||||
}
|
||||
|
||||
public List<BizObject> query(List<Map<String, String>> params ) throws Exception {
|
||||
return query( params, null );
|
||||
}
|
||||
|
||||
public List<BizObject> query(List<Map<String, String>> paramList, String params ) throws Exception {
|
||||
List<BizObject> bizObjects = DataUtil.getArrayList();
|
||||
String sql = "select * from " + this.getTableName();
|
||||
String sqlWhere = "";
|
||||
String[] sqlParam = null;
|
||||
if ( StringUtils.isNotEmpty( params ) ) {
|
||||
sqlWhere += " where 1 = 1";
|
||||
String[] ps = params.split( "," );
|
||||
sqlParam = new String[ ps.length ];
|
||||
int i = 0;
|
||||
for ( String p : ps ) {
|
||||
sqlWhere += " and " + p.split( "=" )[ 0 ] + " = ? ";
|
||||
sqlParam[ i ++ ] = p.split( "=" )[ 1 ];
|
||||
}
|
||||
}
|
||||
List<Map<String, String>> datas;
|
||||
if ( paramList != null ) {
|
||||
List<List<String>> pl = DataUtil.getArrayList();
|
||||
sqlWhere += " where 1 = 1";
|
||||
List<String> keys = DataUtil.getArrayList();
|
||||
for ( int i = 0; i < paramList.size(); i ++ ) {
|
||||
List<String> p;
|
||||
Map<String, String> mp = paramList.get( i );
|
||||
int j = 0;
|
||||
for ( Map.Entry<String, String> m : mp.entrySet() ) {
|
||||
String key = m.getKey();
|
||||
if ( !keys.contains( key ) ) {
|
||||
String s = "";
|
||||
for ( int x = 0; x < paramList.size(); x ++ ) {
|
||||
if ( s.length() > 0 ) {
|
||||
s += ",";
|
||||
}
|
||||
s += "?";
|
||||
}
|
||||
sqlWhere += " and " + m.getKey() + " in ( " + s + " )";
|
||||
keys.add( key );
|
||||
}
|
||||
if ( pl.size() > j ) {
|
||||
p = pl.get( j );
|
||||
} else {
|
||||
p = DataUtil.getArrayList();
|
||||
pl.add( p );
|
||||
}
|
||||
p.add( m.getValue() );
|
||||
j ++;
|
||||
}
|
||||
}
|
||||
List<String> r = DataUtil.getArrayList();
|
||||
for ( List<String> p : pl ) {
|
||||
r.addAll( p );
|
||||
}
|
||||
datas = DataUtil.query( sql + sqlWhere, null, r.toArray() );
|
||||
} else {
|
||||
datas = DataUtil.query( sql + sqlWhere, null, sqlParam );
|
||||
}
|
||||
for ( Map<String, String> data : datas ) {
|
||||
BizObject bo = (BizObject) this.clone();
|
||||
for ( Map.Entry<String, String> entry : data.entrySet() ) {
|
||||
bo.setAttributeValue( entry.getKey(), entry.getValue() );
|
||||
}
|
||||
bizObjects.add( bo );
|
||||
}
|
||||
|
||||
return bizObjects;
|
||||
}
|
||||
|
||||
public String getTableName() {
|
||||
if ( this.className.indexOf( "." ) != -1 ) {
|
||||
return this.className.substring( this.className.lastIndexOf( "." ) + 1 );
|
||||
}
|
||||
return this.className;
|
||||
}
|
||||
|
||||
public String getClassName() {
|
||||
return className;
|
||||
}
|
||||
|
||||
public void setClassName(String className) {
|
||||
this.className = className;
|
||||
}
|
||||
|
||||
public List<DataObject> getDatas() {
|
||||
return this.datas;
|
||||
}
|
||||
|
||||
public String getAttribute( String key ) throws Exception {
|
||||
for ( DataObject data : this.datas ) {
|
||||
if ( data.getColumnName().equalsIgnoreCase( key ) ) {
|
||||
return DataUtil.getString( data.getColumnValue() );
|
||||
}
|
||||
}
|
||||
throw new BusinessException( "column name not found" );
|
||||
}
|
||||
|
||||
public void setAttributes( List<DataObject> datas ) {
|
||||
this.datas = datas;
|
||||
}
|
||||
|
||||
public void removeColumn( String columnName ) {
|
||||
int removeIndex = -1;
|
||||
for ( int i = 0; i < getDatas().size(); i ++ ) {
|
||||
DataObject dataObject = getDatas().get( i );
|
||||
if ( columnName.equals( dataObject.getColumnName() ) ) {
|
||||
removeIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
getDatas().remove( removeIndex );
|
||||
}
|
||||
|
||||
@Override
|
||||
public BizObject clone() throws CloneNotSupportedException {
|
||||
BizObject newBo = getBizObject( this.getClassName() );
|
||||
List<DataObject> dataObjects = this.getDatas();
|
||||
if ( dataObjects == null ) {
|
||||
return newBo;
|
||||
}
|
||||
for ( DataObject dataObject : dataObjects ) {
|
||||
try {
|
||||
newBo.setAttributeValue( dataObject.getColumnName(), dataObject.getColumnValue() );
|
||||
} catch ( SQLException e ) {
|
||||
}
|
||||
}
|
||||
return newBo;
|
||||
}
|
||||
}
|
||||
109
src_core/com/tenwa/jbo/manager/ConnUtil.java
Normal file
109
src_core/com/tenwa/jbo/manager/ConnUtil.java
Normal file
@ -0,0 +1,109 @@
|
||||
package com.tenwa.jbo.manager;
|
||||
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
public class ConnUtil {
|
||||
|
||||
private Connection connection;
|
||||
private JBOTransaction jboTransaction;
|
||||
private Transaction transaction;
|
||||
private boolean flag = false;
|
||||
|
||||
public ConnUtil() throws Exception {
|
||||
this.flag = true;
|
||||
this.jboTransaction = JBOFactory.createJBOTransaction();
|
||||
this.transaction = Transaction.createTransaction( this.jboTransaction );
|
||||
this.connection = this.transaction.getConnection( this.transaction );
|
||||
}
|
||||
|
||||
public ConnUtil(JBOTransaction jboTransaction ) throws Exception {
|
||||
if ( jboTransaction == null ) {
|
||||
this.flag = true;
|
||||
this.jboTransaction = JBOFactory.createJBOTransaction();
|
||||
} else {
|
||||
this.jboTransaction = jboTransaction;
|
||||
}
|
||||
this.transaction = Transaction.createTransaction( this.jboTransaction );
|
||||
this.connection = this.transaction.getConnection( this.transaction );
|
||||
}
|
||||
|
||||
public ConnUtil(Transaction transaction ) throws Exception {
|
||||
if ( transaction == null ) {
|
||||
this.flag = true;
|
||||
this.transaction = Transaction.createTransaction( JBOFactory.createJBOTransaction() );
|
||||
} else {
|
||||
this.transaction = transaction;
|
||||
}
|
||||
this.jboTransaction = this.transaction.getTransaction();
|
||||
this.connection = this.transaction.getConnection( transaction );
|
||||
}
|
||||
|
||||
public JBOTransaction getJboTransaction() {
|
||||
return jboTransaction;
|
||||
}
|
||||
|
||||
public void setJboTransaction(JBOTransaction jboTransaction) {
|
||||
this.jboTransaction = jboTransaction;
|
||||
}
|
||||
|
||||
public Transaction getTransaction() {
|
||||
return transaction;
|
||||
}
|
||||
|
||||
public void setTransaction(Transaction transaction) {
|
||||
this.transaction = transaction;
|
||||
}
|
||||
|
||||
public Connection getConnection() {
|
||||
return this.connection;
|
||||
}
|
||||
|
||||
public void setConnection(Connection connection) {
|
||||
this.connection = connection;
|
||||
}
|
||||
|
||||
public void commit() throws JBOException {
|
||||
if ( this.transaction != null && this.flag ) {
|
||||
this.transaction.commit();
|
||||
this.transaction = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void rollback() throws JBOException {
|
||||
if ( this.transaction != null && this.flag ) {
|
||||
this.transaction.rollback();
|
||||
this.transaction = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void close() throws JBOException {
|
||||
if ( this.transaction != null && this.flag ) {
|
||||
this.transaction.disConnect();
|
||||
this.transaction = null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 在类被销毁时,判断内部链接是否存在,如果存在,则关闭连接
|
||||
* @throws Throwable
|
||||
*/
|
||||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
if ( connection != null && !connection.isClosed() && this.flag ) {
|
||||
connection.close();
|
||||
}
|
||||
|
||||
if ( transaction != null && this.flag ) {
|
||||
transaction.rollback();
|
||||
}
|
||||
|
||||
if ( jboTransaction != null && this.flag ) {
|
||||
jboTransaction.rollback();
|
||||
}
|
||||
}
|
||||
}
|
||||
51
src_core/com/tenwa/jbo/manager/DataObject.java
Normal file
51
src_core/com/tenwa/jbo/manager/DataObject.java
Normal file
@ -0,0 +1,51 @@
|
||||
package com.tenwa.jbo.manager;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Êý¾Ý´æ´¢¶ÔÏó
|
||||
*/
|
||||
public class DataObject {
|
||||
|
||||
private String columnName;
|
||||
/**
|
||||
* ĿǰֻÓÐstring, int, long, double, boolean, date, bigdecimal, serializable
|
||||
*/
|
||||
private String columnType;
|
||||
private Object columnValue;
|
||||
|
||||
public static List<String> types = Arrays.asList( new String[]{ "string", "int", "integer", "long", "double", "boolean", "date", "bigdecimal" } );
|
||||
|
||||
public DataObject(String columnName, String columnType, Object columnValue) {
|
||||
this.columnName = columnName;
|
||||
this.columnType = columnType;
|
||||
this.columnValue = columnValue;
|
||||
}
|
||||
|
||||
public String getColumnName() {
|
||||
return columnName;
|
||||
}
|
||||
|
||||
public void setColumnName(String columnName) {
|
||||
this.columnName = columnName;
|
||||
}
|
||||
|
||||
public String getColumnType() {
|
||||
return columnType;
|
||||
}
|
||||
|
||||
public void setColumnType(String columnType) {
|
||||
this.columnType = columnType;
|
||||
}
|
||||
|
||||
public Object getColumnValue() {
|
||||
return columnValue;
|
||||
}
|
||||
|
||||
public void setColumnValue(Object columnValue) {
|
||||
this.columnValue = columnValue;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
4746
src_core/com/tenwa/jbo/manager/DataUtil.java
Normal file
4746
src_core/com/tenwa/jbo/manager/DataUtil.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -18,6 +18,7 @@ import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.context.ASUser;
|
||||
import com.tenwa.comm.exception.BusinessException;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
|
||||
public class LCEbankCallBack extends BaseImportExcelCallBack {
|
||||
|
||||
@ -145,9 +146,11 @@ public class LCEbankCallBack extends BaseImportExcelCallBack {
|
||||
List<String> ebankSns = new ArrayList<String>();
|
||||
boolean flag = false;
|
||||
String ebs = "";
|
||||
List<BizObject> list=JBOFactory.createBizObjectQuery(LC_EBANK.CLASS_NAME,null).getResultList(false);
|
||||
// List<BizObject> list=JBOFactory.createBizObjectQuery(LC_EBANK.CLASS_NAME,null).getResultList(false);
|
||||
List<Map<String,String>> list = DataOperatorUtil.getDataBySql("select EBANK_SN from LC_EBANK");
|
||||
for(int i=0;i<list.size();i++) {
|
||||
ebankSns.add(list.get(i).getAttribute("EBANK_SN").getString());
|
||||
// ebankSns.add(list.get(i).getAttribute("EBANK_SN").getString());
|
||||
ebankSns.add( list.get(i).get("EBANK_SN") );
|
||||
}
|
||||
for(BizObject bo:importObjects){
|
||||
String ebankSn = bo.getAttribute("ebank_sn").getString();
|
||||
|
||||
@ -340,52 +340,57 @@ public class SerialNumberUtil {
|
||||
* **/
|
||||
protected static synchronized String getSerialNumberByDay(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,Integer queryMonth,Integer queryDay,JBOTransaction tx) throws Exception
|
||||
{
|
||||
JBOTransaction newTx=JBOFactory.createJBOTransaction();
|
||||
String currentDateTime = DateAssistant.getTodayNow();
|
||||
String currentYear = currentDateTime.substring(0,4);
|
||||
String monthStr = currentDateTime.substring(5,7);
|
||||
String dayStr = currentDateTime.substring(8,10);
|
||||
String hour = currentDateTime.substring(11,13);
|
||||
String minute = currentDateTime.substring(14,16);
|
||||
String second = currentDateTime.substring(17,19);
|
||||
JBOTransaction newTx = null;
|
||||
try {
|
||||
newTx = JBOFactory.createJBOTransaction();
|
||||
String currentDateTime = DateAssistant.getTodayNow();
|
||||
String currentYear = currentDateTime.substring(0, 4);
|
||||
String monthStr = currentDateTime.substring(5, 7);
|
||||
String dayStr = currentDateTime.substring(8, 10);
|
||||
String hour = currentDateTime.substring(11, 13);
|
||||
String minute = currentDateTime.substring(14, 16);
|
||||
String second = currentDateTime.substring(17, 19);
|
||||
|
||||
int year = Integer.parseInt(currentYear);
|
||||
int month = Integer.parseInt(monthStr);
|
||||
int day = Integer.parseInt(dayStr);
|
||||
if(null != queryYear){
|
||||
year = queryYear;
|
||||
}
|
||||
if(null != queryMonth){
|
||||
month = queryMonth ;
|
||||
}
|
||||
if(null != queryDay){
|
||||
day = queryDay ;
|
||||
}
|
||||
Map<String,String> paramMap = new HashMap<String,String>();
|
||||
paramMap.put("year", year+"");
|
||||
paramMap.put("month", monthStr+"");
|
||||
paramMap.put("day", dayStr+"");
|
||||
paramMap.put("hour", hour+"");
|
||||
paramMap.put("minute", minute+"");
|
||||
paramMap.put("second", second+"");
|
||||
int year = Integer.parseInt(currentYear);
|
||||
int month = Integer.parseInt(monthStr);
|
||||
int day = Integer.parseInt(dayStr);
|
||||
if (null != queryYear) {
|
||||
year = queryYear;
|
||||
}
|
||||
if (null != queryMonth) {
|
||||
month = queryMonth;
|
||||
}
|
||||
if (null != queryDay) {
|
||||
day = queryDay;
|
||||
}
|
||||
Map<String, String> paramMap = new HashMap<String, String>();
|
||||
paramMap.put("year", year + "");
|
||||
paramMap.put("month", monthStr + "");
|
||||
paramMap.put("day", dayStr + "");
|
||||
paramMap.put("hour", hour + "");
|
||||
paramMap.put("minute", minute + "");
|
||||
paramMap.put("second", second + "");
|
||||
|
||||
int maxOrderNumber = getMaxOrderNumberByDay(type, year,month,day, newTx);
|
||||
StringBuffer numberFormat = new StringBuffer();
|
||||
for(int i=0;i<numberCount;i++)
|
||||
{
|
||||
numberFormat.append("0");
|
||||
}
|
||||
int maxOrderNumber = getMaxOrderNumberByDay(type, year, month, day, newTx);
|
||||
StringBuffer numberFormat = new StringBuffer();
|
||||
for (int i = 0; i < numberCount; i++) {
|
||||
numberFormat.append("0");
|
||||
}
|
||||
|
||||
DecimalFormat df = new DecimalFormat(numberFormat.toString());
|
||||
String serialNumberFormat = df.format(maxOrderNumber);
|
||||
paramMap.put("maxOrderNumber", serialNumberFormat);
|
||||
if(null != model){
|
||||
paramMap.putAll(model);
|
||||
}
|
||||
DecimalFormat df = new DecimalFormat(numberFormat.toString());
|
||||
String serialNumberFormat = df.format(maxOrderNumber);
|
||||
paramMap.put("maxOrderNumber", serialNumberFormat);
|
||||
if (null != model) {
|
||||
paramMap.putAll(model);
|
||||
}
|
||||
|
||||
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
|
||||
newTx.commit();
|
||||
return serialNumberString;
|
||||
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
|
||||
newTx.commit();
|
||||
return serialNumberString;
|
||||
} catch (Exception e) {
|
||||
if (newTx != null) newTx.rollback();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
//考虑并发情况必须采用同步机制
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.tenwa.voucher.CreateVoucherProcess;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.awe.dw.handler.impl.CommonHandler;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
|
||||
|
||||
|
||||
public class CarRatio extends CommonHandler {
|
||||
|
||||
String retainfield2;
|
||||
|
||||
public String getRetainfield2() {
|
||||
return retainfield2;
|
||||
}
|
||||
|
||||
public void setRetainfield2(String retainfield2) {
|
||||
this.retainfield2 = retainfield2;
|
||||
}
|
||||
|
||||
protected void initDisplayForEdit(BizObject bo) throws Exception {
|
||||
bo.setAttributeValue("retainfield2", BigDecimal.valueOf(bo.getAttribute("retainfield2").getDouble()).multiply(BigDecimal.valueOf(100)).setScale(2).toString()+"%");
|
||||
}
|
||||
}
|
||||
@ -3,10 +3,8 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
import jbo.voucher.TAX_CODE;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
@ -16,186 +14,195 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
|
||||
public class CreateVoucherContractTerminate {
|
||||
|
||||
public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
public String CreateVoucher(Transaction Sqlca1,String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
|
||||
Transaction Sqlca =null;
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
try {
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
|
||||
// 定义SQL查询结果集变量
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
String CORPUS=null;
|
||||
String INTEREST=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
String CONTRACT_ID=null;
|
||||
String CONTRACT_NUMBER=null;
|
||||
String PROJECT_NAME=null;
|
||||
String leas_form=null;
|
||||
String DISTRIBUTOR_ID=null;
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String CUSTID=null;
|
||||
String CUSTNAME=null;
|
||||
String CUSTID2=null;// 该网银已经收过款, 预收科目的客户用这个
|
||||
String CUSTNAME2=null;
|
||||
String CUSTOMERTYPE=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String TAX_NUM=null;
|
||||
String YES_OR_NO=null;
|
||||
// 定义SQL查询结果集变量
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
String CORPUS=null;
|
||||
String INTEREST=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
String CONTRACT_ID=null;
|
||||
String CONTRACT_NUMBER=null;
|
||||
String PROJECT_NAME=null;
|
||||
String leas_form=null;
|
||||
String DISTRIBUTOR_ID=null;
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String CUSTID=null;
|
||||
String CUSTNAME=null;
|
||||
String CUSTID2=null;// 该网银已经收过款, 预收科目的客户用这个
|
||||
String CUSTNAME2=null;
|
||||
String CUSTOMERTYPE=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String TAX_NUM=null;
|
||||
String YES_OR_NO=null;
|
||||
|
||||
// 金额类型
|
||||
String date1="";
|
||||
// 税率类别
|
||||
String taxType="";
|
||||
// 查询SQL
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.put("FlowUnid", FlowUnid);
|
||||
// 金额类型
|
||||
String date1="";
|
||||
// 税率类别
|
||||
String taxType="";
|
||||
// 查询SQL
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.put("FlowUnid", FlowUnid);
|
||||
|
||||
// 收到的逾期利息
|
||||
if("PZ2018081700000128".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.AGREED_PENALTY,0)";taxType="逾期利息";}
|
||||
// 收到的违约金
|
||||
if("PZ2018081700000130".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.SDHANDLING_CHARGE,0)";taxType="违约金";}
|
||||
// 收到的提前还款手续费
|
||||
if("PZ2018081700000132".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.OTHER_IN,0)";taxType="手续费";}
|
||||
// 收到的提前日息差
|
||||
if("PZ2018072100000047".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.AGREED_DATEPENALTY,0)";taxType="租息";}
|
||||
// 收到的一年内利息
|
||||
if("PZ2018081700000138".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.FIST_CORPUS,0)";taxType="租息";}
|
||||
// 收到名义货价
|
||||
if("PZ2018081700000134".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.SDNOMINAL_PRICE,0)";taxType="留购价";}
|
||||
// 收到的逾期利息
|
||||
if("PZ2018081700000128".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.AGREED_PENALTY,0)";taxType="逾期利息";}
|
||||
// 收到的违约金
|
||||
if("PZ2018081700000130".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.SDHANDLING_CHARGE,0)";taxType="违约金";}
|
||||
// 收到的提前还款手续费
|
||||
if("PZ2018081700000132".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.OTHER_IN,0)";taxType="手续费";}
|
||||
// 收到的提前日息差
|
||||
if("PZ2018072100000047".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.AGREED_DATEPENALTY,0)";taxType="租息";}
|
||||
// 收到的一年内利息
|
||||
if("PZ2018081700000138".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.FIST_CORPUS,0)";taxType="租息";}
|
||||
// 收到名义货价
|
||||
if("PZ2018081700000134".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.SDNOMINAL_PRICE,0)";taxType="留购价";}
|
||||
|
||||
if("PZ2018072100000046".equals(VOUCHERNO)) {date1="IFNULL(DI.DISCOUNT,0)";taxType="租息";}
|
||||
// 确认手续费(按月分摊)
|
||||
if("PZ2018081700000122".equals(VOUCHERNO)) {date1="IFNULL(LHA.HANDLING_APPORTION_MONEY,0)";taxType="手续费";}
|
||||
if("PZ2018072100000046".equals(VOUCHERNO)) {date1="IFNULL(DI.DISCOUNT,0)";taxType="租息";}
|
||||
// 确认手续费(按月分摊)
|
||||
if("PZ2018081700000122".equals(VOUCHERNO)) {date1="IFNULL(LHA.HANDLING_APPORTION_MONEY,0)";taxType="手续费";}
|
||||
|
||||
// 调整未实现利息收入
|
||||
if("PZ2018072100000045".equals(VOUCHERNO)){
|
||||
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY, ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(LRPT.INTEREST, 0) - ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LRPT.INTEREST, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的逾期租金
|
||||
}else if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY, IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.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_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, SUM(LRPT.RENT) RENT, SUM(LRPT.CORPUS) CORPUS, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID = :FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, SUM(LRI.RENT) RENT, SUM(LRI.CORPUS) CORPUS, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 将当月利息转收入
|
||||
}else if("PZ2018081700000129".equals(VOUCHERNO)) {
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '租息', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY, ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) - ROUND( IFNULL(LRI.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(LRPT.INTEREST, 0) - ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) - ( IFNULL(LRI.INTEREST, 0) - ROUND( IFNULL(LRI.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.PLAN_LIST, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID, LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, LRI.PLAN_LIST, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID, LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的提前还款剩余本金
|
||||
}else if("PZ2018081700000136".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY, ( IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0) ) AS MONEYNOTAX, IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.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_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LCRAT.CORPUS_OVERAGE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 确认贴息收入
|
||||
}else if("PZ2018072100000046".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(CRM.DISCOUNT, 0) AS MONEY, ROUND( IFNULL(CRM.DISCOUNT, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(CRM.DISCOUNT, 0) - ROUND( IFNULL(CRM.DISCOUNT, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID, CRM.CONTRACT_ID, SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.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(CRM.DISCOUNT, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 确认手续费
|
||||
}else if("PZ2018081700000122".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY, ROUND( IFNULL(CRM.FEE, 0) / getTax ( LCI.LEAS_FORM, '手续费', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(CRM.FEE, 0) - ROUND( IFNULL(CRM.FEE, 0) / getTax ( LCI.LEAS_FORM, '手续费', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID, CRM.CONTRACT_ID, SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.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 LCCT.HANDLING_CHARGE_MONEY_TYPE = '0020' AND IFNULL(CRM.FEE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
}else {
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, "+date1+" AS MONEY, ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( "+date1+" - ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.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_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 "+date1+" > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 调整未实现利息收入
|
||||
if("PZ2018072100000045".equals(VOUCHERNO)){
|
||||
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY, ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(LRPT.INTEREST, 0) - ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LRPT.INTEREST, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的逾期租金
|
||||
}else if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY, IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.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_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, SUM(LRPT.RENT) RENT, SUM(LRPT.CORPUS) CORPUS, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID = :FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, SUM(LRI.RENT) RENT, SUM(LRI.CORPUS) CORPUS, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 将当月利息转收入
|
||||
}else if("PZ2018081700000129".equals(VOUCHERNO)) {
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '租息', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY, ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) - ROUND( IFNULL(LRI.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(LRPT.INTEREST, 0) - ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) - ( IFNULL(LRI.INTEREST, 0) - ROUND( IFNULL(LRI.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.PLAN_LIST, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID, LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, LRI.PLAN_LIST, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID, LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的提前还款剩余本金
|
||||
}else if("PZ2018081700000136".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY, ( IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0) ) AS MONEYNOTAX, IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.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_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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(LCRAT.CORPUS_OVERAGE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 确认贴息收入
|
||||
}else if("PZ2018072100000046".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(CRM.DISCOUNT, 0) AS MONEY, ROUND( IFNULL(CRM.DISCOUNT, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(CRM.DISCOUNT, 0) - ROUND( IFNULL(CRM.DISCOUNT, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID, CRM.CONTRACT_ID, SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.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(CRM.DISCOUNT, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 确认手续费
|
||||
}else if("PZ2018081700000122".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY, ROUND( IFNULL(CRM.FEE, 0) / getTax ( LCI.LEAS_FORM, '手续费', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(CRM.FEE, 0) - ROUND( IFNULL(CRM.FEE, 0) / getTax ( LCI.LEAS_FORM, '手续费', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID, CRM.CONTRACT_ID, SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.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 LCCT.HANDLING_CHARGE_MONEY_TYPE = '0020' AND IFNULL(CRM.FEE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
}else {
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, "+date1+" AS MONEY, ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( "+date1+" - ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE, LCCT.CONTRACT_ID, LCI.CONTRACT_NUMBER, LCI.PROJECT_NAME, LCI.LEAS_FORM, DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.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_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 "+date1+" > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
}
|
||||
|
||||
// 执行SQL, 获取结果集
|
||||
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
|
||||
|
||||
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE="1";// 凭证分类 金蝶
|
||||
|
||||
for (int i=0;i<dataList.size();i++){
|
||||
MONEY=dataList.get(i).get("MONEY");
|
||||
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
|
||||
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
|
||||
if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
CORPUS=dataList.get(i).get("CORPUS");
|
||||
INTEREST=dataList.get(i).get("INTEREST");
|
||||
}
|
||||
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
|
||||
FACT_DATE =dataList.get(i).get("FACT_DATE");
|
||||
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
|
||||
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
|
||||
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME");
|
||||
leas_form=dataList.get(i).get("LEAS_FORM");
|
||||
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
|
||||
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
|
||||
CUSTID=dataList.get(i).get("CUSTOMERID");
|
||||
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
|
||||
CUSTID2=dataList.get(i).get("CUSTOMERID2");
|
||||
CUSTNAME2=dataList.get(i).get("CUSTOMERNAME2");
|
||||
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
|
||||
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
|
||||
TAX_NUM=dataList.get(i).get("TAX_NUM");
|
||||
YES_OR_NO=dataList.get(i).get("YES_OR_NO");
|
||||
// 通过税率获取编码
|
||||
BizObject TAX_CODES=null;
|
||||
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
|
||||
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
|
||||
}
|
||||
|
||||
param.put("FACT_MONEY",MONEY);
|
||||
param.put("INTERESTNOTAX",MONEYNOTAX);
|
||||
param.put("TAX",MONEYTAX);
|
||||
if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
param.put("CORPUS",CORPUS);
|
||||
param.put("INTEREST",INTEREST);
|
||||
}
|
||||
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
|
||||
param.put("FACT_DATE",FACT_DATE);
|
||||
param.put("CONTRACT_ID",CONTRACT_ID);
|
||||
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
|
||||
param.put("PROJECT_NAME",PROJECT_NAME);
|
||||
param.put("LEAS_FORM",leas_form);
|
||||
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
|
||||
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
|
||||
param.put("CUSTID",CUSTID);
|
||||
param.put("CUSTNAME",CUSTNAME);
|
||||
param.put("YES_OR_NO",YES_OR_NO);
|
||||
param.put("CUSTID2",CUSTID2);
|
||||
param.put("CUSTNAME2",CUSTNAME2);
|
||||
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
if(TAX_CODES!=null) {
|
||||
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
|
||||
}
|
||||
|
||||
if("1".equals(BUSINESSTYPE)){
|
||||
// 收到的逾期利息
|
||||
if("PZ2018081700000128".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0603");// 主营类型
|
||||
}
|
||||
// 收到的违约金
|
||||
if("PZ2018081700000130".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0602");// 主营类型
|
||||
}
|
||||
// 收到的提前还款手续费 || 收到的提前日息差 || 收到的一年内利息
|
||||
if("PZ2018081700000132".equals(VOUCHERNO) || "PZ2018072100000047".equals(VOUCHERNO) || "PZ2018081700000138".equals(VOUCHERNO) || "PZ2018072100000046".equals(VOUCHERNO) || "PZ2018081700000122".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0604");// 主营类型
|
||||
}
|
||||
// 收到名义货价
|
||||
if("PZ2018081700000134".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0605");// 主营类型
|
||||
}
|
||||
// 将当月利息转收入
|
||||
if("PZ2018081700000129".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0604");// 主营类型
|
||||
}
|
||||
param.put("CASHFLOW", "");// 现金流项目
|
||||
}
|
||||
|
||||
param.put("FlowUnid", FlowUnid);
|
||||
map.clear();
|
||||
map.put("PROJ_TYPE", leas_form);
|
||||
map.put("VOUCHER_NO", VOUCHERNO);
|
||||
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
|
||||
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca1);
|
||||
}
|
||||
}
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
throw new Exception("凭证生成出错!");
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
Sqlca.disConnect();
|
||||
}
|
||||
}
|
||||
|
||||
// 执行SQL, 获取结果集
|
||||
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
|
||||
|
||||
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE="1";// 凭证分类 金蝶
|
||||
|
||||
for (int i=0;i<dataList.size();i++){
|
||||
MONEY=dataList.get(i).get("MONEY");
|
||||
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
|
||||
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
|
||||
if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
CORPUS=dataList.get(i).get("CORPUS");
|
||||
INTEREST=dataList.get(i).get("INTEREST");
|
||||
}
|
||||
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
|
||||
FACT_DATE =dataList.get(i).get("FACT_DATE");
|
||||
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
|
||||
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
|
||||
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME");
|
||||
leas_form=dataList.get(i).get("LEAS_FORM");
|
||||
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
|
||||
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
|
||||
CUSTID=dataList.get(i).get("CUSTOMERID");
|
||||
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
|
||||
CUSTID2=dataList.get(i).get("CUSTOMERID2");
|
||||
CUSTNAME2=dataList.get(i).get("CUSTOMERNAME2");
|
||||
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
|
||||
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
|
||||
TAX_NUM=dataList.get(i).get("TAX_NUM");
|
||||
YES_OR_NO=dataList.get(i).get("YES_OR_NO");
|
||||
// 通过税率获取编码
|
||||
BizObject TAX_CODES=null;
|
||||
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
|
||||
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
|
||||
}
|
||||
|
||||
param.put("FACT_MONEY",MONEY);
|
||||
param.put("INTERESTNOTAX",MONEYNOTAX);
|
||||
param.put("TAX",MONEYTAX);
|
||||
if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
param.put("CORPUS",CORPUS);
|
||||
param.put("INTEREST",INTEREST);
|
||||
}
|
||||
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
|
||||
param.put("FACT_DATE",FACT_DATE);
|
||||
param.put("CONTRACT_ID",CONTRACT_ID);
|
||||
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
|
||||
param.put("PROJECT_NAME",PROJECT_NAME);
|
||||
param.put("LEAS_FORM",leas_form);
|
||||
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
|
||||
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
|
||||
param.put("CUSTID",CUSTID);
|
||||
param.put("CUSTNAME",CUSTNAME);
|
||||
param.put("YES_OR_NO",YES_OR_NO);
|
||||
param.put("CUSTID2",CUSTID2);
|
||||
param.put("CUSTNAME2",CUSTNAME2);
|
||||
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
if(TAX_CODES!=null) {
|
||||
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
|
||||
}
|
||||
|
||||
if("1".equals(BUSINESSTYPE)){
|
||||
// 收到的逾期利息
|
||||
if("PZ2018081700000128".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0603");// 主营类型
|
||||
}
|
||||
// 收到的违约金
|
||||
if("PZ2018081700000130".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0602");// 主营类型
|
||||
}
|
||||
// 收到的提前还款手续费 || 收到的提前日息差 || 收到的一年内利息
|
||||
if("PZ2018081700000132".equals(VOUCHERNO) || "PZ2018072100000047".equals(VOUCHERNO) || "PZ2018081700000138".equals(VOUCHERNO) || "PZ2018072100000046".equals(VOUCHERNO) || "PZ2018081700000122".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0604");// 主营类型
|
||||
}
|
||||
// 收到名义货价
|
||||
if("PZ2018081700000134".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0605");// 主营类型
|
||||
}
|
||||
// 将当月利息转收入
|
||||
if("PZ2018081700000129".equals(VOUCHERNO)) {
|
||||
param.put("BUSINESSTYPE", "0604");// 主营类型
|
||||
}
|
||||
param.put("CASHFLOW", "");// 现金流项目
|
||||
}
|
||||
|
||||
param.put("FlowUnid", FlowUnid);
|
||||
map.clear();
|
||||
map.put("PROJ_TYPE", leas_form);
|
||||
map.put("VOUCHER_NO", VOUCHERNO);
|
||||
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
|
||||
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}
|
||||
}
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -3,14 +3,11 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
import jbo.voucher.TAX_CODE;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
@ -20,12 +17,10 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
*/
|
||||
public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
|
||||
|
||||
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType,String userid) throws Exception {
|
||||
public String CreateVoucher(Transaction Sqlca, String FlowUnid, String VOUCHERNO, String FeeType,String userid) throws Exception {
|
||||
|
||||
Transaction Sqlca = null;
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
Map<String, String> param = new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
|
||||
String MONEY = null;
|
||||
String MONEYNOTAX = null;
|
||||
@ -140,10 +135,6 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
|
||||
}
|
||||
}
|
||||
|
||||
if (Sqlca != null) {
|
||||
Sqlca.commit();
|
||||
}
|
||||
|
||||
String sMessage = "true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -17,12 +17,10 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
|
||||
public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
|
||||
|
||||
public String CreateVoucher(String FlowUnid, String VOUCHERNO,String userid) throws Exception {
|
||||
public String CreateVoucher(Transaction Sqlca,String FlowUnid, String VOUCHERNO,String userid) throws Exception {
|
||||
|
||||
Transaction Sqlca = null;
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
Map<String, String> param = new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE = "1";
|
||||
|
||||
@ -134,10 +132,6 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
|
||||
}
|
||||
}
|
||||
|
||||
if (Sqlca != null) {
|
||||
Sqlca.commit();
|
||||
}
|
||||
|
||||
String sMessage = "true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -3,31 +3,24 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jbo.app.tenwa.customer.CUSTOMER_LIST;
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
/***
|
||||
* 经销商的保证金的收取和退回
|
||||
* @author amarsoft
|
||||
*
|
||||
*/
|
||||
public class CreateVoucherDistCautionMoneyRe extends BaseBussiness{
|
||||
|
||||
public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
public String CreateVoucher(Transaction Sqlca,String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
|
||||
Transaction Sqlca =null;
|
||||
//this.initBussinessParam(Sqlca);
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
String MONEY=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
@ -41,11 +34,7 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) thro
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.put("FLOWUNID", FlowUnid);
|
||||
/*if("PZ2018071100000011".equals(VOUCHERNO)||"PZ2018081500000118".equals(VOUCHERNO)){
|
||||
sql= "SELECT DDIT.CAUTION_MONEY,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,DDIT.LOCAL_ACCOUNT AS ACC_NUMBER,DDIT.REFUND_PERSON,DIF.DISTRIBUTOR_CODING DISTRIBUTOR_NO,DIF.DISTRIBUTOR_NAME FROM D_DEPOSITRETURN_INFO_TEMP DDIT LEFT JOIN DISTRIBUTOR_INFO DIF ON DIF.DISTRIBUTOR_NO=DDIT.DISTRIBUTOR_ID WHERE DDIT.FLOWUNID=:FLOWUNID";
|
||||
}*/
|
||||
if("PZ2018072100000032".equals(VOUCHERNO)){
|
||||
//sql= "SELECT DDIT.CAUTION_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(DDIT.COLLECT_TIME, '%Y/%m/%d') AS FACT_DATE,DDIT.payer,DIF.DISTRIBUTOR_CODING DISTRIBUTOR_NO,DIF.DISTRIBUTOR_NAME,DDIT.LOCAL_ACCOUNT AS ACC_NUMBER, DDIT.LOCAL_BANK FROM D_DEPOSITCHARGE_INFO_TEMP DDIT LEFT JOIN DISTRIBUTOR_INFO DIF ON DIF.DISTRIBUTOR_NO = DDIT.DISTRIBUTOR_ID WHERE DDIT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT DDIT.CAUTION_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(DDIT.COLLECT_TIME, '%Y/%m/%d') AS FACT_DATE,DDIT.payer,DIF.DISTRIBUTOR_CODING DISTRIBUTOR_NO,DIF.DISTRIBUTOR_NAME,DDIT.LOCAL_ACCOUNT AS ACC_NUMBER,DDIT.LOCAL_BANK,DDIT.SUBJECTID,DDIT.SUBJECTNAME FROM D_DEPOSITCHARGE_INFO_TEMP DDIT LEFT JOIN DISTRIBUTOR_INFO DIF ON DIF.DISTRIBUTOR_NO = DDIT.DISTRIBUTOR_ID WHERE DDIT.FLOWUNID = :FLOWUNID ";
|
||||
}
|
||||
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
|
||||
@ -100,9 +89,6 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) thro
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}}
|
||||
}
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -6,17 +6,14 @@ import java.util.Map;
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
|
||||
public class CreateVoucherForOtherPay {
|
||||
public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
Transaction Sqlca =null;
|
||||
public String CreateVoucher(Transaction Sqlca,String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
@ -87,11 +84,6 @@ public class CreateVoucherForOtherPay {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -17,13 +17,11 @@ import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
|
||||
public class CreateVoucherLoanDistributor {
|
||||
public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
public String CreateVoucher(Transaction Sqlca,String FlowUnid,String VOUCHERNO,String userid) throws Exception {
|
||||
|
||||
Transaction Sqlca =null;
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
@ -492,10 +490,6 @@ public class CreateVoucherLoanDistributor {
|
||||
}
|
||||
}
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -5,7 +5,6 @@ import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoanDistributor;
|
||||
/**
|
||||
* 起租相关凭证, 实际付款(汽车)流程结束后生成
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class ContractOnhireVoucher extends BaseBussiness {
|
||||
|
||||
@ -18,34 +17,34 @@ public class ContractOnhireVoucher extends BaseBussiness {
|
||||
/**
|
||||
* 回租
|
||||
*/
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018073100000061",userid);// 确认GPS收入 --回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018070900000003",userid);// 收取首付款-回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产-回--第一车贷
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018071000000005",userid);// 合同起租(一次性确认收入)-回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018071000000006",userid);// 合同起租(按月分摊收入)--回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费(一次性确认收入)--回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费(按月分摊收入)--回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018073100000061",userid);// 确认GPS收入 --回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018070900000003",userid);// 收取首付款-回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产-回--第一车贷
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018071000000005",userid);// 合同起租(一次性确认收入)-回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018071000000006",userid);// 合同起租(按月分摊收入)--回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费(一次性确认收入)--回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费(按月分摊收入)--回租
|
||||
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2021032400000003",userid);// 起租-收到个人意外险金额--回租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2021032400000004",userid);// 起租-收到贴息--回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000003",userid);// 起租-收到个人意外险金额--回租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000004",userid);// 起租-收到贴息--回租
|
||||
|
||||
/**
|
||||
* 直租
|
||||
*/
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2020080500000001",userid);// 收取客户保证金-直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019082600000002",userid);// 购入保险-直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019082600000003",userid);// 购入购置税-直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2020041000000002",userid);// 加装及杂费-直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租(深圳或者天津公司)
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2020081100000004",userid);// 购置融资租赁资产-直租(分子公司)
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租(车牌挂在天津或者深圳公司下)
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2020081100000005",userid);// 合同起租-直租(车牌挂在分子公司下)
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费(一次性确认收入)--直租
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费(按月分摊收入)--直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2020080500000001",userid);// 收取客户保证金-直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019082600000002",userid);// 购入保险-直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019082600000003",userid);// 购入购置税-直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2020041000000002",userid);// 加装及杂费-直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租(深圳或者天津公司)
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2020081100000004",userid);// 购置融资租赁资产-直租(分子公司)
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租(车牌挂在天津或者深圳公司下)
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2020081100000005",userid);// 合同起租-直租(车牌挂在分子公司下)
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费(一次性确认收入)--直租
|
||||
cvld.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费(按月分摊收入)--直租
|
||||
return "true";
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,18 +17,18 @@ public class ContractTerminate extends BaseBussiness {
|
||||
String userid = this.getAttribute("CurUserID").toString();
|
||||
|
||||
CreateVoucherContractTerminate cvct=new CreateVoucherContractTerminate();
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018072100000045",userid);// 提前还款-调整未实现利息收入--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000127",userid);// 提前还款-收到的逾期租金--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000129",userid);// 提前还款-将当月利息转收入-- 回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000128",userid);// 提前还款-收到的逾期利息--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000130",userid);// 提前还款-收到的违约金--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000132",userid);// 提前还款-收到的提前还款手续费--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018072100000047",userid);// 提前还款-收到的提前日息差--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000138",userid);// 提前还款-收到的一年内利息--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000134",userid);// 提前还款-收到名义货价--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000136",userid);// 提前还款-收到的提前还款剩余本金----银行未带
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018072100000046",userid);// 提前还款-确认贴息收入--回租
|
||||
cvct.CreateVoucher(FlowUnid, "PZ2018081700000122",userid);// 提前还款-确认手续费(按月分摊)--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000045",userid);// 提前还款-调整未实现利息收入--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000127",userid);// 提前还款-收到的逾期租金--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000129",userid);// 提前还款-将当月利息转收入-- 回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000128",userid);// 提前还款-收到的逾期利息--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000130",userid);// 提前还款-收到的违约金--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000132",userid);// 提前还款-收到的提前还款手续费--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000047",userid);// 提前还款-收到的提前日息差--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000138",userid);// 提前还款-收到的一年内利息--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000134",userid);// 提前还款-收到名义货价--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000136",userid);// 提前还款-收到的提前还款剩余本金----银行未带
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000046",userid);// 提前还款-确认贴息收入--回租
|
||||
cvct.CreateVoucher(Sqlca,FlowUnid, "PZ2018081700000122",userid);// 提前还款-确认手续费(按月分摊)--回租
|
||||
|
||||
return "true";
|
||||
}
|
||||
|
||||
@ -16,10 +16,10 @@ public class CreateVoucherDepositDeduction extends BaseBussiness {
|
||||
String userid = this.getAttribute("CurUserID").toString();
|
||||
|
||||
CreateVoucherDepositDeductionToMoney cvdd=new CreateVoucherDepositDeductionToMoney();
|
||||
cvdd.CreateVoucher(FlowUnid, "PZ2018072100000053",userid);//保证金抵扣--回租
|
||||
cvdd.CreateVoucher(FlowUnid, "PZ2019070100000026",userid);//保证金抵扣--直租
|
||||
cvdd.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000053",userid);//保证金抵扣--回租
|
||||
cvdd.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000026",userid);//保证金抵扣--直租
|
||||
|
||||
cvdd.CreateVoucher(FlowUnid, "PZ2019070100000027",userid);//确认未实现利息收入-抵扣租金利息--直租
|
||||
cvdd.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000027",userid);//确认未实现利息收入-抵扣租金利息--直租
|
||||
return "true";
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,6 @@ import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherDistCautionMoneyRe;
|
||||
/**
|
||||
* 经销商保证金退回流程结束后生成相应凭证
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class DistributorCautionMoneyVoucher extends BaseBussiness {
|
||||
|
||||
@ -15,11 +14,7 @@ public class DistributorCautionMoneyVoucher extends BaseBussiness {
|
||||
String userid = this.getAttribute("CurUserID").toString();
|
||||
String FlowUnid=this.getAttribute("FlowUnid").toString();
|
||||
CreateVoucherDistCautionMoneyRe cvdc=new CreateVoucherDistCautionMoneyRe();
|
||||
//cvdc.CreateVoucher(FlowUnid, "PZ2018071100000011");//退回经销商保证金--回租
|
||||
//cvdc.CreateVoucher(FlowUnid, "PZ2018081500000118");//退回经销商保证金--直租
|
||||
|
||||
cvdc.CreateVoucher(FlowUnid, "PZ2018072100000032",userid);//收到经销商保证金-回款-回租
|
||||
//cvdc.CreateVoucher(FlowUnid, "PZ2018081500000119");//收到经销商保证金-回款-直租
|
||||
cvdc.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000032",userid);//收到经销商保证金-回款-回租
|
||||
return "true";
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,6 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* 网银收款流程结束后生成相应的凭证
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class IncomeVoucher extends BaseBussiness {
|
||||
private static final Logger logger = LoggerFactory.getLogger(IncomeVoucher.class);
|
||||
@ -34,34 +33,34 @@ public class IncomeVoucher extends BaseBussiness {
|
||||
*/
|
||||
CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome();
|
||||
// 汽车回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2019121600000162", "feetype2",userid); //回款-收到客户保证金 --回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2019121600000163", "feetype1",userid); //回款-收到客户手续费(一次性)--回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2019121700000164", "feetype1",userid); //回款-收到客户手续费(按月) --回租
|
||||
cvci.CreateVoucher(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); //回款-收到客户手续费(按月) --回租
|
||||
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2021032400000006", "feetype32",userid); //回款-收到个人意外险(网银来款)--回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2021032400000005", "feetype33",userid); //回款-收到客户贴息 --回租
|
||||
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000006", "feetype32",userid); //回款-收到个人意外险(网银来款)--回租
|
||||
cvci.CreateVoucher(Sqlca,FlowUnid, "PZ2021032400000005", "feetype33",userid); //回款-收到客户贴息 --回租
|
||||
|
||||
// 汽车直租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --回租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价--直租
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2020041000000003", "feetype2",userid); //直租-收到客户保证金
|
||||
cvci.CreateVoucher(FlowUnid, "PZ2020080400000003", "feetype5",userid); //直租-收到客户首付款
|
||||
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(FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租)
|
||||
cvri.CreateVoucher(FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租)
|
||||
cvri.CreateVoucher(FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租)
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租)
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租)
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租)
|
||||
|
||||
// 汽车直租
|
||||
cvri.CreateVoucher(FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租)
|
||||
cvri.CreateVoucher(FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租)
|
||||
cvri.CreateVoucher(FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租)
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租)
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租)
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租)
|
||||
|
||||
/**
|
||||
* 代偿反冲
|
||||
|
||||
@ -17,7 +17,7 @@ public class OtherPayMoneyVoucher extends BaseBussiness {
|
||||
|
||||
// 其他支付,客户多余还款退回
|
||||
CreateVoucherForOtherPay CVFOP = new CreateVoucherForOtherPay();
|
||||
CVFOP.CreateVoucher(FlowUnid, "PZ2018072100000051", userid);
|
||||
CVFOP.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000051", userid);
|
||||
return "true";
|
||||
}
|
||||
|
||||
|
||||
@ -18,19 +18,19 @@ public class RedIncomeVoucher extends BaseBussiness {
|
||||
/**
|
||||
* Æû³µ»Ø×â
|
||||
*/
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2018072100000038",userid);//网银回款反冲-收到的逾期利息
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2018072100000039",userid);//网银回款反冲-收到的违约金/罚款
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2018072100000037",userid);//网银回款反冲-收到的租金
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2018072100000043",userid);//网银回款反冲-收到名义货价
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2018072100000034",userid);//网银回款反冲-收到客户保证金
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000038",userid);//网银回款反冲-收到的逾期利息
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000039",userid);//网银回款反冲-收到的违约金/罚款
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000037",userid);//网银回款反冲-收到的租金
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000043",userid);//网银回款反冲-收到名义货价
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2018072100000034",userid);//网银回款反冲-收到客户保证金
|
||||
|
||||
/**
|
||||
* Æû³µÖ±×â
|
||||
*/
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2019070100000023",userid);//网银回款反冲-收到的租金
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2019070100000020",userid);//网银回款反冲-收到的逾期利息
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2019070100000021",userid);//网银回款反冲-收到的违约金/罚款
|
||||
cvri.CreateVoucher(FlowUnid, "PZ2019070100000025",userid);//网银回款反冲-收到名义货价
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000023",userid);//网银回款反冲-收到的租金
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000020",userid);//网银回款反冲-收到的逾期利息
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000021",userid);//网银回款反冲-收到的违约金/罚款
|
||||
cvri.CreateVoucher(Sqlca,FlowUnid, "PZ2019070100000025",userid);//网银回款反冲-收到名义货价
|
||||
|
||||
return "true";
|
||||
}
|
||||
|
||||
@ -73,7 +73,8 @@ 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, 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";
|
||||
// 月结-确认手续费
|
||||
} 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' ";
|
||||
@ -87,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, 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='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' ";
|
||||
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'";
|
||||
}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' ";
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.tenwa.voucher.CreateVoucherProcess;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -7,6 +8,7 @@ import java.util.Map;
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.awe.util.ASResultSet;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
@ -17,94 +19,115 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
*/
|
||||
public class CreateVoucherRedCompensatory {
|
||||
|
||||
public void CreateVoucher(String VOUCHERNO,String userid,String LRI_ID) throws Exception{
|
||||
public void CreateVoucher(String VOUCHERNO,String userid,String LRI_ID){
|
||||
Transaction Sqlca =null;
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
String CONTRACT_ID=null;
|
||||
String leas_form=null;
|
||||
String DISTRIBUTOR_ID=null;
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String CONTRACT_NUMBER=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String PLAN_LIST=null;
|
||||
String CHARGE_WAY=null;
|
||||
String F58=null;
|
||||
String F56=null;
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.clear();
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
String CONTRACT_ID=null;
|
||||
String leas_form=null;
|
||||
String DISTRIBUTOR_ID=null;
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String CONTRACT_NUMBER=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String PLAN_LIST=null;
|
||||
String CHARGE_WAY=null;
|
||||
String F58=null;
|
||||
String F56=null;
|
||||
|
||||
// 代偿反冲-收到的租金
|
||||
if("PZ2019071500000030".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.RENT,0) AS MONEY, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, V8.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID )DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND (F58 IS NOT NULL AND F58<>'') AND F59='1' GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-收到代偿的租金' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRI.CONTRACT_ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND IFNULL(LRI.RENT,0)>0 AND V9.F56 IS NULL";
|
||||
// 代偿反冲-收到的逾期利息
|
||||
}else if("PZ2019071500000031".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.PENALTY,0) AS MONEY, IFNULL(V8.MONEY,0) AS MONEYNOTAX, ROUND((IFNULL(LRI.PENALTY,0)-IFNULL(V8.MONEY,0)),2) AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN (SELECT RENT_PLAN_ID,MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID)DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN ( SELECT F58, SUM(F7) AS MONEY FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND (F58 IS NOT NULL AND F58<>'') GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-代偿逾期利息' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND V9.F56 IS NULL AND IFNULL(LRI.PENALTY,0)>0";
|
||||
// 代偿反冲-收到的租金(微信)
|
||||
}else if("PZ2020070600000001".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.RENT,0) AS MONEY, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, V8.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN (SELECT RENT_PLAN_ID,MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID)DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND (F58 IS NOT NULL AND F58<>'') AND F59='1' GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-收到代偿的租金-微信' AND (F56 IS NOT NULL AND F56<>'' AND F58 IS NOT NULL AND F58<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRI.CONTRACT_ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND IFNULL(LRI.RENT,0)>0 AND V9.F56 IS NULL";
|
||||
// 代偿反冲-收到的逾期利息(微信)
|
||||
}else if("PZ2020070600000002".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.PENALTY,0) AS MONEY, IFNULL(V8.MONEY,0) AS MONEYNOTAX, ROUND((IFNULL(LRI.PENALTY,0)-IFNULL(V8.MONEY,0)),2) AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN (SELECT RENT_PLAN_ID,MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID)DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN ( SELECT F58, SUM(F7) AS MONEY FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND (F58 IS NOT NULL AND F58<>'') GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-代偿逾期利息-微信' AND (F58 IS NOT NULL AND F58<>'' AND F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND V9.F56 IS NULL AND IFNULL(LRI.PENALTY,0)>0";
|
||||
}
|
||||
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, null);
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.clear();
|
||||
|
||||
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE="1";// 凭证分类 金蝶
|
||||
// 代偿反冲-收到的租金
|
||||
if("PZ2019071500000030".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.RENT,0) AS MONEY, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, V8.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-收到代偿的租金' AND (F58 IS NOT NULL AND F58<>'') AND F59='1' GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE (MODULE_NAME='代偿反冲-收到代偿的租金' OR MODULE_NAME='代偿反冲-收到代偿的租金-微信银联') AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRI.CONTRACT_ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND IFNULL(LRI.RENT,0)>0 AND V9.F56 IS NULL";
|
||||
// 代偿反冲-收到的逾期利息
|
||||
}else if("PZ2019071500000031".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.PENALTY,0) AS MONEY, IFNULL(V8.MONEY,0) AS MONEYNOTAX, ROUND((IFNULL(LRI.PENALTY,0)-IFNULL(V8.MONEY,0)),2) AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN ( SELECT F58, SUM(F7) AS MONEY FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-代偿逾期利息' AND (F58 IS NOT NULL AND F58<>'') GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE (MODULE_NAME='代偿反冲-代偿逾期利息' OR MODULE_NAME='代偿反冲-代偿逾期利息-微信银联') AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND V9.F56 IS NULL AND IFNULL(LRI.PENALTY,0)>0";
|
||||
// 代偿反冲-收到的租金(微信)
|
||||
}else if("PZ2020070600000001".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.RENT,0) AS MONEY, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, V8.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN (SELECT RENT_PLAN_ID,MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID)DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND (F58 IS NOT NULL AND F58<>'') AND F59='1' GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-收到代偿的租金-微信' AND (F56 IS NOT NULL AND F56<>'' AND F58 IS NOT NULL AND F58<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRI.CONTRACT_ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND IFNULL(LRI.RENT,0)>0 AND V9.F56 IS NULL";
|
||||
// 代偿反冲-收到的逾期利息(微信)
|
||||
}else if("PZ2020070600000002".equals(VOUCHERNO)){
|
||||
sql="SELECT LRI.CHARGE_WAY, IFNULL(LRI.PENALTY,0) AS MONEY, IFNULL(V8.MONEY,0) AS MONEYNOTAX, ROUND((IFNULL(LRI.PENALTY,0)-IFNULL(V8.MONEY,0)),2) AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRI.PLAN_ID AS F58, LRI.ID AS F56, LCI.CONTRACT_NUMBER FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN (SELECT RENT_PLAN_ID,MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID)DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN ( SELECT F58, SUM(F7) AS MONEY FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND (F58 IS NOT NULL AND F58<>'') GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-代偿逾期利息-微信' AND (F58 IS NOT NULL AND F58<>'' AND F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V9 ON V9.F56=LRI.ID WHERE LRI.ID='"+LRI_ID+"' AND LCI.BUSINESSTYPE='1' AND V9.F56 IS NULL AND IFNULL(LRI.PENALTY,0)>0";
|
||||
}
|
||||
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, null);
|
||||
|
||||
for (int i=0;i<dataList.size();i++){
|
||||
MONEY=dataList.get(i).get("MONEY");
|
||||
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
|
||||
MONEYTAX=dataList.get(i).get("MONEYTAX");
|
||||
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
|
||||
FACT_DATE =dataList.get(i).get("FACT_DATE");
|
||||
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
|
||||
leas_form="01";
|
||||
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
|
||||
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
|
||||
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
|
||||
PLAN_LIST=dataList.get(i).get("PLAN_LIST");
|
||||
F58=dataList.get(i).get("F58");
|
||||
F56=dataList.get(i).get("F56");
|
||||
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
|
||||
CHARGE_WAY=dataList.get(i).get("CHARGE_WAY");
|
||||
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE="1";// 凭证分类 金蝶
|
||||
|
||||
param.put("FACT_MONEY",MONEY);
|
||||
param.put("INTERESTNOTAX",MONEYNOTAX);
|
||||
param.put("TAX",MONEYTAX);
|
||||
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
|
||||
param.put("FACT_DATE",FACT_DATE);
|
||||
param.put("CONTRACT_ID",CONTRACT_ID);
|
||||
param.put("LEAS_FORM",leas_form);
|
||||
param.put("CUSTID",DISTRIBUTOR_ID);
|
||||
param.put("CUSTNAME",DISTRIBUTOR_NAME);
|
||||
param.put("PLAN_LIST",PLAN_LIST);
|
||||
param.put("F58",F58);
|
||||
param.put("F56",F56);
|
||||
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
|
||||
param.put("CHARGE_WAY",CHARGE_WAY);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
for (int i=0;i<dataList.size();i++){
|
||||
MONEY=dataList.get(i).get("MONEY");
|
||||
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
|
||||
MONEYTAX=dataList.get(i).get("MONEYTAX");
|
||||
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
|
||||
FACT_DATE =dataList.get(i).get("FACT_DATE");
|
||||
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
|
||||
leas_form="01";
|
||||
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
|
||||
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
|
||||
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
|
||||
PLAN_LIST=dataList.get(i).get("PLAN_LIST");
|
||||
F58=dataList.get(i).get("F58");
|
||||
F56=dataList.get(i).get("F56");
|
||||
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
|
||||
CHARGE_WAY=dataList.get(i).get("CHARGE_WAY");
|
||||
|
||||
map.clear();
|
||||
map.put("PROJ_TYPE", leas_form);
|
||||
map.put("VOUCHER_NO", VOUCHERNO);
|
||||
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
|
||||
param.put("FACT_MONEY",MONEY);
|
||||
param.put("INTERESTNOTAX",MONEYNOTAX);
|
||||
param.put("TAX",MONEYTAX);
|
||||
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
|
||||
param.put("FACT_DATE",FACT_DATE);
|
||||
param.put("CONTRACT_ID",CONTRACT_ID);
|
||||
param.put("LEAS_FORM",leas_form);
|
||||
param.put("CUSTID",DISTRIBUTOR_ID);
|
||||
param.put("CUSTNAME",DISTRIBUTOR_NAME);
|
||||
param.put("PLAN_LIST",PLAN_LIST);
|
||||
param.put("F58",F58);
|
||||
param.put("F56",F56);
|
||||
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
|
||||
param.put("CHARGE_WAY",CHARGE_WAY);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}
|
||||
}
|
||||
if(Sqlca!=null){
|
||||
map.clear();
|
||||
map.put("PROJ_TYPE", leas_form);
|
||||
map.put("VOUCHER_NO", VOUCHERNO);
|
||||
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
|
||||
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}
|
||||
}
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
Sqlca.commit();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -117,95 +140,97 @@ public class CreateVoucherRedCompensatory {
|
||||
* @throws Exception
|
||||
*/
|
||||
public void CreateVoucher(String FLOWUNID,String VOUCHERNO,String userid,Transaction Sqlca) throws Exception{
|
||||
Transaction Sqlca1 = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
ASResultSet rs=null;
|
||||
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE="1";// 凭证分类 金蝶
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
String CONTRACT_ID=null;
|
||||
String leas_form=null;
|
||||
String DISTRIBUTOR_ID=null;
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String DISTRIBUTOR_ID2=null;
|
||||
String DISTRIBUTOR_NAME2=null;
|
||||
String CONTRACT_NUMBER=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String PLAN_LIST=null;
|
||||
String F58=null;
|
||||
String YES_OR_NO=null;
|
||||
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.clear();
|
||||
|
||||
// 代偿反冲-收到的租金
|
||||
if("PZ2019071500000030".equals(VOUCHERNO)){
|
||||
//sql="SELECT IFNULL(V8.MONEY, 0) AS MONEY,0.00 AS MONEYNOTAX,0.00 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58,LCI.CONTRACT_NUMBER,LCI.BUSINESSTYPE 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 (SELECT SUM(F7) AS MONEY,F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-收到代偿的租金%' AND F59 = '1' GROUP BY F58) V8 ON V8.F58=LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE = '1' AND IFNULL(V8.MONEY, 0) > 0 AND NOT EXISTS (SELECT F58 FROM VOUCHER_V8 WHERE F58 = V8.F58 AND F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-收到代偿的租金%') AND LRIT.FLOWUNID='"+FLOWUNID+"' ";
|
||||
//sql="SELECT IFNULL(V8.MONEY, 0) AS MONEY,0.00 AS MONEYNOTAX,0.00 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58,LCI.CONTRACT_NUMBER,LCI.BUSINESSTYPE,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) ELSE V8.DISTRIBUTOR_CODING END AS DISTRIBUTOR_ID2,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 V8.DISTRIBUTOR_NAME END AS DISTRIBUTOR_NAME2 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 (SELECT SUM(F7) AS MONEY,F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-收到代偿的租金%' AND F59 = '1' GROUP BY F58) V8 ON V8.F58 = LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE = '1' AND IFNULL(V8.MONEY, 0) > 0 AND NOT EXISTS (SELECT F58 FROM VOUCHER_V8 WHERE F58 = V8.F58 AND F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-收到代偿的租金%') AND LRIT.FLOWUNID = '"+FLOWUNID+"'";
|
||||
sql="SELECT IFNULL(LRIT.RENT,0) AS MONEY, 0.00 AS MONEYNOTAX, 0.00 AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, V8.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRP.ID AS F58, LCI.CONTRACT_NUMBER, LCI.BUSINESSTYPE, CASE WHEN ( SELECT LRI.EBANK_NUMBER FROM LC_RENT_INCOME LRI WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) AND NOT EXISTS(SELECT 1 FROM LC_RENT_INCOME_TEMP LRIT2 WHERE LRIT2.FLOWUNID='"+FLOWUNID+"' AND LRIT2.CONTRACT_ID=LRI.CONTRACT_ID AND LRIT2.PLAN_LIST=LRI.PLAN_LIST) GROUP BY LRI.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 ) ELSE CIF.CUSTOMER_NUM END AS DISTRIBUTOR_ID2, 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 DISTRIBUTOR_NAME2 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 ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN ( SELECT SUM(F7) AS MONEY, F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-收到代偿的租金%' AND F59='1' AND (F58 IS NOT NULL AND F58<>'') GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID WHERE LCI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND IFNULL(V8.MONEY,0)>0 AND IFNULL(LRIT.RENT,0)>0 AND LRIT.FLOWUNID='"+FLOWUNID+"'";
|
||||
// 代偿反冲-收到的逾期利息
|
||||
}else if("PZ2019071500000031".equals(VOUCHERNO)){
|
||||
//sql="SELECT IFNULL(LRI.PENALTY, 0) AS MONEY,IFNULL(V8.MONEY, 0) AS MONEYNOTAX,ROUND((IFNULL(LRI.PENALTY, 0) - IFNULL(V8.MONEY, 0)),2) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58,LCI.CONTRACT_NUMBER,LCI.BUSINESSTYPE 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 (SELECT CONTRACT_ID,PLAN_LIST,SUM(IFNULL(PENALTY,0)) AS PENALTY 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 (SELECT SUM(F7) AS MONEY,F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-代偿逾期利息%' AND F59 = 1 GROUP BY F58) V8 ON V8.F58=LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE = '1' AND IFNULL(V8.MONEY, 0) > 0 AND NOT EXISTS (SELECT F58 FROM VOUCHER_V8 WHERE F58 = V8.F58 AND F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-代偿逾期利息%') AND LRIT.FLOWUNID='"+FLOWUNID+"' ";
|
||||
//sql="SELECT IFNULL(LRI.PENALTY, 0) AS MONEY,IFNULL(V8.MONEY, 0) AS MONEYNOTAX,ROUND((IFNULL(LRI.PENALTY, 0) - IFNULL(V8.MONEY, 0)),2) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58,LCI.CONTRACT_NUMBER,LCI.BUSINESSTYPE,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) ELSE V8.DISTRIBUTOR_CODING END AS DISTRIBUTOR_ID2,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 V8.DISTRIBUTOR_NAME END AS DISTRIBUTOR_NAME2 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 (SELECT CONTRACT_ID,PLAN_LIST,SUM(IFNULL(PENALTY, 0)) AS PENALTY 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 (SELECT SUM(F7) AS MONEY,F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-代偿逾期利息%' AND F59 = 1 GROUP BY F58) V8 ON V8.F58 = LRP.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE = '1' AND IFNULL(V8.MONEY, 0) > 0 AND NOT EXISTS (SELECT F58 FROM VOUCHER_V8 WHERE F58 = V8.F58 AND F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-代偿逾期利息%') AND LRIT.FLOWUNID = '"+FLOWUNID+"' ";
|
||||
sql="SELECT IFNULL(LRIT.PENALTY, 0) AS MONEY, IFNULL(V8.MONEY, 0) AS MONEYNOTAX, ROUND( ( IFNULL(LRIT.PENALTY, 0) - IFNULL(V8.MONEY, 0) ), 2 ) AS MONEYTAX, DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRP.ID AS F58, LCI.CONTRACT_NUMBER, LCI.BUSINESSTYPE, CASE WHEN (SELECT LRI.EBANK_NUMBER FROM LC_RENT_INCOME LRI WHERE EBANK_NUMBER = IFNULL(LRIT.EBANK_NUMBER, 0) AND NOT EXISTS (SELECT 1 FROM LC_RENT_INCOME_TEMP LRIT2 WHERE LRIT2.FLOWUNID = '"+FLOWUNID+"' AND LRIT2.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT2.PLAN_LIST = LRI.PLAN_LIST) GROUP BY LRI.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) ELSE CIF.CUSTOMER_NUM END AS DISTRIBUTOR_ID2, 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 DISTRIBUTOR_NAME2 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 (SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE = 'bondRepay' AND IFNULL(PENALTY, 0) > 0 GROUP BY RENT_PLAN_ID) DDI ON DDI.RENT_PLAN_ID = LRP.ID LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN (SELECT CONTRACT_ID, PLAN_LIST, SUM(IFNULL(PENALTY, 0)) AS PENALTY 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 (SELECT SUM(F7) AS MONEY, F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-代偿逾期利息%' AND F59 = 1 GROUP BY F58) V8 ON V8.F58 = DDI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID WHERE LCI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND DDI.ID IS NOT NULL AND IFNULL(LRIT.PENALTY, 0) > 0 AND LRIT.FLOWUNID = '"+FLOWUNID+"'";
|
||||
}
|
||||
|
||||
rs=Sqlca.getASResultSet(sql);
|
||||
while(rs.next()){
|
||||
MONEY = rs.getString("MONEY");
|
||||
MONEYNOTAX = rs.getString("MONEYNOTAX");
|
||||
MONEYTAX = rs.getString("MONEYTAX");
|
||||
ACCOUNT_DATE = rs.getString("ACCOUNT_DATE");
|
||||
FACT_DATE = rs.getString("FACT_DATE");
|
||||
CONTRACT_ID = rs.getString("CONTRACT_ID");
|
||||
leas_form="01";
|
||||
DISTRIBUTOR_ID = rs.getString("DISTRIBUTOR_ID");
|
||||
DISTRIBUTOR_NAME = rs.getString("DISTRIBUTOR_NAME");
|
||||
DISTRIBUTOR_ID2 = rs.getString("DISTRIBUTOR_ID2");
|
||||
DISTRIBUTOR_NAME2 = rs.getString("DISTRIBUTOR_NAME2");
|
||||
BUSINESSTYPE = rs.getString("BUSINESSTYPE");
|
||||
PLAN_LIST = rs.getString("PLAN_LIST");
|
||||
F58 = rs.getString("F58");
|
||||
CONTRACT_NUMBER = rs.getString("CONTRACT_NUMBER");
|
||||
YES_OR_NO = rs.getString("YES_OR_NO");
|
||||
|
||||
param.put("FACT_MONEY",MONEY);
|
||||
param.put("INTERESTNOTAX",MONEYNOTAX);
|
||||
param.put("TAX",MONEYTAX);
|
||||
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
|
||||
param.put("FACT_DATE",FACT_DATE);
|
||||
param.put("CONTRACT_ID",CONTRACT_ID);
|
||||
param.put("LEAS_FORM",leas_form);
|
||||
param.put("CUSTID",DISTRIBUTOR_ID);
|
||||
param.put("CUSTNAME",DISTRIBUTOR_NAME);
|
||||
param.put("CUSTID2",DISTRIBUTOR_ID2);
|
||||
param.put("CUSTNAME2",DISTRIBUTOR_NAME2);
|
||||
param.put("PLAN_LIST",PLAN_LIST);
|
||||
param.put("F58",F58);
|
||||
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("YES_OR_NO",YES_OR_NO);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
try {
|
||||
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE="1";// 凭证分类 金蝶
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
String ACCOUNT_DATE=null;
|
||||
String FACT_DATE=null;
|
||||
String CONTRACT_ID=null;
|
||||
String leas_form=null;
|
||||
String DISTRIBUTOR_ID=null;
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String DISTRIBUTOR_ID2=null;
|
||||
String DISTRIBUTOR_NAME2=null;
|
||||
String CONTRACT_NUMBER=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String PLAN_LIST=null;
|
||||
String F58=null;
|
||||
String YES_OR_NO=null;
|
||||
|
||||
String sql="";
|
||||
param.clear();
|
||||
map.clear();
|
||||
map.put("PROJ_TYPE", leas_form);
|
||||
map.put("VOUCHER_NO", VOUCHERNO);
|
||||
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
|
||||
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca1);
|
||||
// 代偿反冲-收到的租金
|
||||
if("PZ2019071500000030".equals(VOUCHERNO)){
|
||||
sql="SELECT IFNULL(LRIT.RENT,0) AS MONEY, 0.00 AS MONEYNOTAX, 0.00 AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, V8.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRP.ID AS F58, LCI.CONTRACT_NUMBER, LCI.BUSINESSTYPE, CASE WHEN ( SELECT LRI.EBANK_NUMBER FROM LC_RENT_INCOME LRI WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) AND NOT EXISTS(SELECT 1 FROM LC_RENT_INCOME_TEMP LRIT2 WHERE LRIT2.FLOWUNID='"+FLOWUNID+"' AND LRIT2.CONTRACT_ID=LRI.CONTRACT_ID AND LRIT2.PLAN_LIST=LRI.PLAN_LIST) GROUP BY LRI.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 ) ELSE CIF.CUSTOMER_NUM END AS DISTRIBUTOR_ID2, 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 DISTRIBUTOR_NAME2 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 ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN ( SELECT SUM(F7) AS MONEY, F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-收到代偿的租金%' AND F59='1' AND (F58 IS NOT NULL AND F58<>'') GROUP BY F58 ) V8 ON V8.F58=DDI.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID WHERE LCI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND IFNULL(V8.MONEY,0)>0 AND IFNULL(LRIT.RENT,0)>0 AND LRIT.FLOWUNID='"+FLOWUNID+"'";
|
||||
// 代偿反冲-收到的逾期利息
|
||||
}else if("PZ2019071500000031".equals(VOUCHERNO)){
|
||||
sql="SELECT IFNULL(LRIT.PENALTY,0) AS MONEY, IFNULL(V8.MONEY,0) AS MONEYNOTAX, ROUND((IFNULL(LRIT.PENALTY,0)-IFNULL(V8.MONEY,0)),2) AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE, LRP.CONTRACT_ID, DI.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID, DI.DISTRIBUTOR_NAME, LRP.PLAN_LIST, LRP.ID AS F58, LCI.CONTRACT_NUMBER, LCI.BUSINESSTYPE, CASE WHEN ( SELECT LRI.EBANK_NUMBER FROM LC_RENT_INCOME LRI WHERE EBANK_NUMBER=IFNULL(LRIT.EBANK_NUMBER,0) AND NOT EXISTS(SELECT 1 FROM LC_RENT_INCOME_TEMP LRIT2 WHERE LRIT2.FLOWUNID='"+FLOWUNID+"' AND LRIT2.CONTRACT_ID=LRI.CONTRACT_ID AND LRIT2.PLAN_LIST=LRI.PLAN_LIST) GROUP BY LRI.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 ) ELSE CIF.CUSTOMER_NUM END AS DISTRIBUTOR_ID2, 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 DISTRIBUTOR_NAME2 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 ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT RENT_PLAN_ID, MAX(ID) AS ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI2 ON DDI2.RENT_PLAN_ID=LRP.ID LEFT JOIN LC_EBANK LE ON LE.ID=LRIT.EBANK_NUMBER LEFT JOIN ( SELECT CONTRACT_ID, PLAN_LIST, SUM(IFNULL(PENALTY,0)) AS PENALTY 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 ( SELECT SUM(F7) AS MONEY, F58, MAX(F65) AS DISTRIBUTOR_CODING, MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿-代偿逾期利息%' AND F59=1 GROUP BY F58 ) V8 ON V8.F58=DDI2.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID WHERE LCI.BUSINESSTYPE='1' AND LUL.IS_MAIN='Y' AND DDI.ID IS NOT NULL AND IFNULL(LRIT.PENALTY,0)>0 AND LRIT.FLOWUNID='"+FLOWUNID+"'";
|
||||
}
|
||||
rs=Sqlca.getASResultSet(sql);
|
||||
while(rs.next()){
|
||||
MONEY = rs.getString("MONEY");
|
||||
MONEYNOTAX = rs.getString("MONEYNOTAX");
|
||||
MONEYTAX = rs.getString("MONEYTAX");
|
||||
ACCOUNT_DATE = rs.getString("ACCOUNT_DATE");
|
||||
FACT_DATE = rs.getString("FACT_DATE");
|
||||
CONTRACT_ID = rs.getString("CONTRACT_ID");
|
||||
leas_form="01";
|
||||
DISTRIBUTOR_ID = rs.getString("DISTRIBUTOR_ID");
|
||||
DISTRIBUTOR_NAME = rs.getString("DISTRIBUTOR_NAME");
|
||||
DISTRIBUTOR_ID2 = rs.getString("DISTRIBUTOR_ID2");
|
||||
DISTRIBUTOR_NAME2 = rs.getString("DISTRIBUTOR_NAME2");
|
||||
BUSINESSTYPE = rs.getString("BUSINESSTYPE");
|
||||
PLAN_LIST = rs.getString("PLAN_LIST");
|
||||
F58 = rs.getString("F58");
|
||||
CONTRACT_NUMBER = rs.getString("CONTRACT_NUMBER");
|
||||
YES_OR_NO = rs.getString("YES_OR_NO");
|
||||
|
||||
param.put("FACT_MONEY",MONEY);
|
||||
param.put("INTERESTNOTAX",MONEYNOTAX);
|
||||
param.put("TAX",MONEYTAX);
|
||||
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
|
||||
param.put("FACT_DATE",FACT_DATE);
|
||||
param.put("CONTRACT_ID",CONTRACT_ID);
|
||||
param.put("LEAS_FORM",leas_form);
|
||||
param.put("CUSTID",DISTRIBUTOR_ID);
|
||||
param.put("CUSTNAME",DISTRIBUTOR_NAME);
|
||||
param.put("CUSTID2",DISTRIBUTOR_ID2);
|
||||
param.put("CUSTNAME2",DISTRIBUTOR_NAME2);
|
||||
param.put("PLAN_LIST",PLAN_LIST);
|
||||
param.put("F58",F58);
|
||||
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("YES_OR_NO",YES_OR_NO);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
|
||||
map.clear();
|
||||
map.put("PROJ_TYPE", leas_form);
|
||||
map.put("VOUCHER_NO", VOUCHERNO);
|
||||
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
|
||||
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new Exception("凭证生成出错!");
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
rs.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
if(Sqlca1!=null){
|
||||
rs.close();
|
||||
Sqlca1.commit();
|
||||
Sqlca1.disConnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,27 +3,20 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
import jbo.voucher.TAX_CODE;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
|
||||
public class CreateVoucherRedRentIncome {
|
||||
|
||||
public void CreateVoucher(String FlowUnid,String VOUCHERNO,String userid){
|
||||
public void CreateVoucher(Transaction Sqlca,String FlowUnid,String VOUCHERNO,String userid) throws Exception{
|
||||
|
||||
Transaction Sqlca =null;
|
||||
try{
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
@ -57,11 +50,9 @@ public class CreateVoucherRedRentIncome {
|
||||
map.put("FLOWUNID", FlowUnid);
|
||||
// 收到的租金
|
||||
if("PZ2018072100000037".equals(VOUCHERNO) || "PZ2019070100000023".equals(VOUCHERNO)){
|
||||
//sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'理쏜',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.CORPUS,0)-ROUND(IFNULL(LRIT.CORPUS,0)/getTax(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) ELSE '0' END AS CORPUS_TAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN ((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))) ELSE '0' END AS CORPUS_ADD_INTEREST_TAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.PLAN_LIST 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 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 LRIT.RENT<0 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,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE '0' END AS CORPUS_TAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN ((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))) ELSE '0' END AS CORPUS_ADD_INTEREST_TAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT MAX(F65) AS F65 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) IS NOT NULL THEN (SELECT MAX(F65) AS F65 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) ELSE 'APZL00000000DC' END AS RED_CUSTOMER_NUM,CASE WHEN (SELECT MAX(F61) AS F61 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) IS NOT NULL THEN (SELECT MAX(F61) AS F61 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) ELSE '汽车C端待查客户' END AS RED_CUSTOMER_NAME 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 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 LRIT.RENT < 0 AND LRIT.FLOWUNID = :FLOWUNID ";
|
||||
// 收到的逾期利息
|
||||
}else if("PZ2018072100000038".equals(VOUCHERNO) || "PZ2019070100000020".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(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT 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.PENALTY, 0)<0 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(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT MAX(F65) AS F65 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) IS NOT NULL THEN (SELECT MAX(F65) AS F65 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) ELSE 'APZL00000000DC' END AS RED_CUSTOMER_NUM,CASE WHEN (SELECT MAX(F61) AS F61 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) IS NOT NULL THEN (SELECT MAX(F61) AS F61 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%回款-收到的租金(网银)%' GROUP BY F58) ELSE '汽车C端待查客户' END AS RED_CUSTOMER_NAME 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 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.PENALTY, 0) < 0 AND LRIT.FLOWUNID = :FLOWUNID ";
|
||||
// 收到的违约金/罚款
|
||||
}else if("PZ2018072100000039".equals(VOUCHERNO) || "PZ2019070100000021".equals(VOUCHERNO)) {
|
||||
@ -173,24 +164,6 @@ public class CreateVoucherRedRentIncome {
|
||||
if(vouch!=null){
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}finally{
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Sqlca = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,10 +3,8 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
import jbo.voucher.TAX_CODE;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
@ -17,11 +15,9 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
|
||||
|
||||
public class CreateVoucherRentIncome {
|
||||
|
||||
public void CreateVoucher(String flowunid,String VOUCHERNO,String userid) throws Exception{
|
||||
Transaction Sqlca =null;
|
||||
public void CreateVoucher(Transaction Sqlca, String flowunid,String VOUCHERNO,String userid) throws Exception{
|
||||
Map<String,String> map=new HashMap<String, String>();
|
||||
Map<String,String> param=new HashMap<String, String>();
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
String MONEY=null;
|
||||
String MONEYNOTAX=null;
|
||||
String MONEYTAX=null;
|
||||
@ -58,7 +54,7 @@ public class CreateVoucherRentIncome {
|
||||
} 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";
|
||||
} 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 IFNULL(DDI.PENALTY,0)>0 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 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";
|
||||
}
|
||||
|
||||
|
||||
@ -148,8 +144,5 @@ public class CreateVoucherRentIncome {
|
||||
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
|
||||
}
|
||||
}
|
||||
if(Sqlca!=null){
|
||||
Sqlca.commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,898 @@
|
||||
package com.tenwa.voucher.CreateVoucherProcess;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.tenwa.comm.util.date.DateAssistant;
|
||||
import com.tenwa.jbo.manager.DataUtil;
|
||||
import com.tenwa.reckon.bean.TabCalBean;
|
||||
import com.tenwa.reckon.util.DateUtil;
|
||||
import com.tenwa.reckon.util.TbBeanTools;
|
||||
import com.tenwa.reckon.util.UUIDUtil;
|
||||
|
||||
public class EarlyContract {
|
||||
|
||||
// 流程编号
|
||||
private String flowunid;
|
||||
// 租赁物编号
|
||||
private String IDS;
|
||||
// 提出日期
|
||||
private String PAYDAY_ADJUST;
|
||||
// 提请结清租赁物占比
|
||||
private String REPURCHASE_RATIO;
|
||||
// 合同ID
|
||||
private String contractId;
|
||||
// 合同年利率
|
||||
private String YEAR_RATE;
|
||||
// 变更类型
|
||||
private String ADJUST_TYPE;
|
||||
// 商定逾期罚息
|
||||
private String AGREED_PENALTY;
|
||||
// 其它应收
|
||||
private String OTHER_IN;
|
||||
// 投放编号
|
||||
private String plannumber;
|
||||
// 产品编号
|
||||
private String productId;
|
||||
//
|
||||
private String calType;
|
||||
//
|
||||
private String planList;
|
||||
//结清方式
|
||||
private String SettleMethod;
|
||||
|
||||
public String getSettleMethod() {
|
||||
return SettleMethod;
|
||||
}
|
||||
|
||||
public void setSettleMethod(String settleMethod) {
|
||||
SettleMethod = settleMethod;
|
||||
}
|
||||
|
||||
public String getPlanList() {
|
||||
return planList;
|
||||
}
|
||||
|
||||
public void setPlanList(String planList) {
|
||||
this.planList = planList;
|
||||
}
|
||||
|
||||
public String getCalType() {
|
||||
return calType;
|
||||
}
|
||||
|
||||
|
||||
public void setCalType(String calType) {
|
||||
this.calType = calType;
|
||||
}
|
||||
|
||||
|
||||
public String getPlannumber() {
|
||||
return plannumber;
|
||||
}
|
||||
|
||||
|
||||
public void setPlannumber(String plannumber) {
|
||||
this.plannumber = plannumber;
|
||||
}
|
||||
|
||||
|
||||
public String getProductId() {
|
||||
return productId;
|
||||
}
|
||||
|
||||
|
||||
public void setProductId(String productId) {
|
||||
this.productId = productId;
|
||||
}
|
||||
|
||||
|
||||
public String getPAYDAY_ADJUST() {
|
||||
return PAYDAY_ADJUST;
|
||||
}
|
||||
|
||||
|
||||
public void setPAYDAY_ADJUST(String pAYDAY_ADJUST) {
|
||||
PAYDAY_ADJUST = pAYDAY_ADJUST;
|
||||
}
|
||||
|
||||
|
||||
public String getREPURCHASE_RATIO() {
|
||||
return REPURCHASE_RATIO;
|
||||
}
|
||||
|
||||
|
||||
public void setREPURCHASE_RATIO(String rEPURCHASE_RATIO) {
|
||||
REPURCHASE_RATIO = rEPURCHASE_RATIO;
|
||||
}
|
||||
|
||||
|
||||
public String getContractId() {
|
||||
return contractId;
|
||||
}
|
||||
|
||||
|
||||
public void setContractId(String contractId) {
|
||||
this.contractId = contractId;
|
||||
}
|
||||
|
||||
|
||||
public String getYEAR_RATE() {
|
||||
return YEAR_RATE;
|
||||
}
|
||||
|
||||
|
||||
public void setYEAR_RATE(String yEAR_RATE) {
|
||||
YEAR_RATE = yEAR_RATE;
|
||||
}
|
||||
|
||||
|
||||
public String getADJUST_TYPE() {
|
||||
return ADJUST_TYPE;
|
||||
}
|
||||
|
||||
|
||||
public void setADJUST_TYPE(String aDJUST_TYPE) {
|
||||
ADJUST_TYPE = aDJUST_TYPE;
|
||||
}
|
||||
|
||||
|
||||
public String getAGREED_PENALTY() {
|
||||
return AGREED_PENALTY;
|
||||
}
|
||||
|
||||
|
||||
public void setAGREED_PENALTY(String aGREED_PENALTY) {
|
||||
AGREED_PENALTY = aGREED_PENALTY;
|
||||
}
|
||||
|
||||
|
||||
public String getOTHER_IN() {
|
||||
return OTHER_IN;
|
||||
}
|
||||
|
||||
|
||||
public void setOTHER_IN(String oTHER_IN) {
|
||||
OTHER_IN = oTHER_IN;
|
||||
}
|
||||
|
||||
|
||||
public String getFlowunid() {
|
||||
return flowunid;
|
||||
}
|
||||
|
||||
|
||||
public void setFlowunid(String flowunid) {
|
||||
this.flowunid = flowunid;
|
||||
}
|
||||
|
||||
|
||||
public String getIDS() {
|
||||
return IDS;
|
||||
}
|
||||
|
||||
|
||||
public void setIDS(String iDS) {
|
||||
IDS = iDS;
|
||||
}
|
||||
|
||||
//校验约定终止日
|
||||
public String timeInfo(JBOTransaction tx) {
|
||||
String ret = "true";
|
||||
String time = "";
|
||||
Date date1=null;
|
||||
Date date2=null;
|
||||
Date date4=null;
|
||||
Date date5=null;
|
||||
//获取当前日期
|
||||
Date date3 = new Date();
|
||||
Transaction Sqlca = null;
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
//获取到本月租金计划还款时间
|
||||
time = Sqlca.getString("select PLAN_DATE from lc_rent_plan_temp lrpt where FLOWUNID = '"+flowunid+"' and substr(PLAN_DATE,1,7) = (select DATE_FORMAT(now(),'%Y/%m') from dual)");
|
||||
Calendar c = Calendar.getInstance();
|
||||
Calendar b = Calendar.getInstance();
|
||||
SimpleDateFormat formatter=new SimpleDateFormat("yyyy/MM/dd");
|
||||
SimpleDateFormat mon=new SimpleDateFormat("yyyy/MM");
|
||||
//将本月租金计划还款时间转为时间格式
|
||||
date1=formatter.parse(time);
|
||||
//将约定终止日转化为时间格式
|
||||
date2=formatter.parse(PAYDAY_ADJUST);
|
||||
c.setTime(date1);
|
||||
b.setTime(date2);
|
||||
//获取下月租金计划还款时间月份
|
||||
c.add(Calendar.MONTH, 1);
|
||||
b.add(Calendar.MONTH, 0);
|
||||
String t1 = formatter.format(date3);
|
||||
date3 = formatter.parse(t1);
|
||||
|
||||
String lastMonth1 = mon.format(c.getTime());
|
||||
date4 = mon.parse(lastMonth1);
|
||||
//获取约定终止日月份
|
||||
String lastMonth2 = mon.format(b.getTime());
|
||||
date5 = mon.parse(lastMonth2);
|
||||
|
||||
if(date4.before(date5)) {
|
||||
ret = "false";
|
||||
}
|
||||
|
||||
}catch(Exception e){
|
||||
ret = "false";
|
||||
}
|
||||
return ""+ret+"";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取租赁物比重
|
||||
*/
|
||||
public String getReductionRatio(JBOTransaction tx) {
|
||||
Transaction Sqlca = null;
|
||||
String REDUCTION_RATIO="";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
String idss="";
|
||||
if(IDS!=null && !"".equals(IDS)) {
|
||||
String[] ids = IDS.split("@~");
|
||||
for (String id : ids) {
|
||||
if("".equals(idss)) {
|
||||
idss="'"+id+"'";
|
||||
}else {
|
||||
idss+=",'"+id+"'";
|
||||
}
|
||||
}
|
||||
}
|
||||
// 获取租赁物-增融后租赁物价格(元)
|
||||
REDUCTION_RATIO = Sqlca.getString("select EQUIP_PRICE as REDUCTION_RATIO from (select SUM(retainfield2) as EQUIP_PRICE from LB_EQUIPMENT_CAR_TEMP where ID in ("+idss+") and FLOWUNID = '"+flowunid+"' group by CONTRACT_ID ) LECT");
|
||||
REDUCTION_RATIO = new BigDecimal(REDUCTION_RATIO).multiply(new BigDecimal(100)).toString();
|
||||
DecimalFormat df = new DecimalFormat("#.00");
|
||||
REDUCTION_RATIO = df.format(Double.valueOf(REDUCTION_RATIO.toString()));
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null) {
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
Sqlca=null;
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return ""+REDUCTION_RATIO+"";
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 获取留购价金额
|
||||
* */
|
||||
public String getPrice(JBOTransaction tx){
|
||||
Transaction Sqlca = null;
|
||||
String NOMINAL_PRICE="";
|
||||
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
String idss="";
|
||||
// 单车留购价
|
||||
String PRICE = Sqlca.getString("select ifnull(lcct.NOMINAL_PRICE,1)/ ifnull(t.um,1) from lc_calc_condition_temp lcct left join (select count(id) as um from lb_equipment_car_temp lect where FLOWUNID = '"+flowunid+"') t on 1 = 1 where FLOWUNID = '"+flowunid+"'");
|
||||
double i = 0;
|
||||
if(IDS!=null && !"".equals(IDS)) {
|
||||
String[] ids = IDS.split("@~");
|
||||
for (String id : ids) {
|
||||
if("".equals(idss)) {
|
||||
i = i+1;
|
||||
idss="'"+id+"'";
|
||||
}else {
|
||||
i = i+1;
|
||||
idss+=",'"+id+"'";
|
||||
}
|
||||
}
|
||||
}
|
||||
NOMINAL_PRICE = String.valueOf(i*Double.valueOf(PRICE));
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ""+NOMINAL_PRICE+"";
|
||||
}
|
||||
|
||||
|
||||
//判断本次部分结清是否选取完全部车辆
|
||||
public String getYesNo(JBOTransaction tx) {
|
||||
Transaction Sqlca = null;
|
||||
String YesNo = "";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
String idss="";
|
||||
if(IDS!=null && !"".equals(IDS)) {
|
||||
String[] ids = IDS.split("@~");
|
||||
for (String id : ids) {
|
||||
if("".equals(idss)) {
|
||||
idss="'"+id+"'";
|
||||
}else {
|
||||
idss+=",'"+id+"'";
|
||||
}
|
||||
}
|
||||
}
|
||||
YesNo = Sqlca.getString("select case when count(id)=0 then 'Y' else 'N' end from lb_equipment_car_temp lect where FLOWUNID = '"+flowunid+"' and id not in ("+idss+") and (TERMINATE_TYPE = '1' or TERMINATE_TYPE is null)");
|
||||
}catch(Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ""+YesNo+"";
|
||||
}
|
||||
|
||||
// 判断合同是否为部分结清
|
||||
public String Countnum(JBOTransaction tx) {
|
||||
String Countnum = "";
|
||||
Transaction Sqlca = null;
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
Countnum = Sqlca.getString("select count(*) from lc_rent_plan where CONTRACT_ID = '"+contractId+"' and MEMO = '部分结清' ");
|
||||
}catch(Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return ""+Countnum+"";
|
||||
}
|
||||
|
||||
|
||||
|
||||
//全部结清更新租赁物临时表
|
||||
public void alterdata(JBOTransaction tx) {
|
||||
Transaction Sqlca = null;
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
String sql="UPDATE LB_EQUIPMENT_CAR_TEMP SET TERMINATE_TYPE='3' WHERE (TERMINATE_TYPE IS NULL OR TERMINATE_TYPE='1') AND FLOWUNID='"+flowunid+"' ";
|
||||
Sqlca.executeSQL(sql);
|
||||
Sqlca.commit();
|
||||
}catch(Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 全部结清,将租赁物等于未结清的标记为本次结清,如果是部分结清,将选中租赁物标记为本次结清
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public String setEquipmentTerminateStatus(JBOTransaction tx) {
|
||||
Transaction Sqlca = null;
|
||||
String succeed="true";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
/**
|
||||
* 每次选择全部结清与部分结清,初始化租赁物状态
|
||||
*/
|
||||
String sql1="UPDATE LB_EQUIPMENT_CAR_TEMP SET TERMINATE_TYPE='1',SETTLE_STATUS='1' WHERE FLOWUNID='"+flowunid+"' AND ifnull(TERMINATE_TYPE,'1') <> '2' ";
|
||||
Sqlca.executeSQL(sql1);
|
||||
String sql2="UPDATE LB_EQUIPMENT_CAR_TEMP SET TERMINATE_TYPE='3' WHERE FLOWUNID='"+flowunid+"'";
|
||||
// 部分结清将选中的变更为本次结清
|
||||
if(IDS!=null && !"".equals(IDS)) {
|
||||
String[] ids = IDS.split("@~");
|
||||
String idss="";
|
||||
for (String id : ids) {
|
||||
if("".equals(idss)) {
|
||||
idss="'"+id+"'";
|
||||
}else {
|
||||
idss+=",'"+id+"'";
|
||||
}
|
||||
}
|
||||
sql2 = sql2+" AND ID IN("+idss+")";
|
||||
Sqlca.executeSQL(sql2);
|
||||
// 全部结清,将未结清租赁物全部转入本次结清租赁物
|
||||
}else {
|
||||
Sqlca.executeSQL(sql1);
|
||||
}
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
succeed="false";
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null) {
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
Sqlca=null;
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return ""+succeed+"";
|
||||
}
|
||||
|
||||
|
||||
// 提前结清撤销是变更租赁物状态
|
||||
@SuppressWarnings("deprecation")
|
||||
public String setEquipStatus(JBOTransaction tx) {
|
||||
Transaction Sqlca = null;
|
||||
String succeed="true";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
/**
|
||||
* 每次选择全部结清与部分结清,初始化租赁物状态
|
||||
*/
|
||||
String sql1="UPDATE LB_EQUIPMENT_CAR_TEMP SET TERMINATE_TYPE='1',SETTLE_STATUS='1' WHERE FLOWUNID='"+flowunid+"' AND ifnull(TERMINATE_TYPE,'1') <> '2' ";
|
||||
Sqlca.executeSQL(sql1);
|
||||
Sqlca.executeSQL("delete from lc_rent_income_temp where FLOWUNID = '"+flowunid+"'");
|
||||
Sqlca.commit();
|
||||
|
||||
} catch (Exception e) {
|
||||
succeed="false";
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null) {
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
Sqlca=null;
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return ""+succeed+"";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取结清金额数据
|
||||
*/
|
||||
public String getSettlementMoney(JBOTransaction tx){
|
||||
Transaction Sqlca = null;
|
||||
try{
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
// 剩余本金- 本次结清车辆约定终止日,次月后所有本金
|
||||
String CORPUS_OVERAGE = Sqlca.getString("select sum(CORPUS) from lc_rent_plan lrp where STR_TO_DATE(lrp.PLAN_DATE, '%Y/%m/%d')> STR_TO_DATE('"+PAYDAY_ADJUST+"', '%Y/%m/%d') and lrp.CONTRACT_ID = '"+contractId+"'");
|
||||
if(CORPUS_OVERAGE == null) {
|
||||
CORPUS_OVERAGE="0.00";
|
||||
}
|
||||
// 部分结清车辆未到期本金- 本次结清车辆约定终止日,次月后所有本金
|
||||
BigDecimal cd = new BigDecimal(Double.parseDouble(CORPUS_OVERAGE)*Double.parseDouble(REPURCHASE_RATIO)/100);
|
||||
double t1 = cd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
String PREMATURE_MONEY = Double.toString(t1);
|
||||
if(PREMATURE_MONEY == null) {
|
||||
PREMATURE_MONEY="0.00";
|
||||
}
|
||||
// 剩余车辆未到期本金- 本次结清车辆约定终止日,次月后所有本金
|
||||
BigDecimal bg = new BigDecimal(Double.parseDouble(CORPUS_OVERAGE) - Double.parseDouble(PREMATURE_MONEY));
|
||||
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
String RESIDUE_MONEY = Double.toString(f1);
|
||||
if(RESIDUE_MONEY == null) {
|
||||
RESIDUE_MONEY="0.00";
|
||||
}
|
||||
// 逾期租金- 本次结清车辆截止约定终止日(上月)所有逾期租金
|
||||
String DUN_RENT = Sqlca.getString("select ifnull(sum(round(ifnull(ifnull(LRP.RENT,0),0) - ifnull(ifnull(LRI.RENT,0),0),2)),0) as OVER_RENT from LC_RENT_PLAN LRP left join (select CONTRACT_ID,PLAN_LIST,SUM(ifnull(RENT, 0)) as RENT from LC_RENT_INCOME group by CONTRACT_ID,PLAN_LIST ) LRI on LRI.CONTRACT_ID = LRP.CONTRACT_ID and LRP.PLAN_LIST = LRI.PLAN_LIST where STR_TO_DATE(LRP.PLAN_DATE,'%Y/%m/%d') < STR_TO_DATE('"+PAYDAY_ADJUST+"','%Y/%m/%d') and LRP.CONTRACT_ID = '"+contractId+"'");
|
||||
if(DUN_RENT == null) {
|
||||
DUN_RENT="0.00";
|
||||
}
|
||||
// return CORPUS_OVERAGE+"@"+PREMATURE_MONEY+"@"+RESIDUE_MONEY+"@"+DUN_RENT+";
|
||||
return ""+CORPUS_OVERAGE+"@"+PREMATURE_MONEY+"@"+RESIDUE_MONEY+"@"+DUN_RENT+"";
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
return "ERR";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//提前部分结清只能发起一次
|
||||
public String getdisposable(JBOTransaction tx){
|
||||
Transaction Sqlca = null;
|
||||
String disposable = "";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
//获取合同租赁物是否发起过提前部分结清
|
||||
disposable = Sqlca.getString("select case when count(*)>0 then 'true' else 'false' end from apzl.lb_equipment_car_temp where FLOWUNID = '"+flowunid+"' and TERMINATE_TYPE = '2'");
|
||||
}catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ""+disposable+"";
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public String partSettlement(JBOTransaction tx){
|
||||
com.amarsoft.awe.util.Transaction Sqlca = null;
|
||||
try{
|
||||
TabCalBean bean = TbBeanTools.getTabInfoTrans(calType, flowunid,plannumber,productId,tx);
|
||||
BigDecimal t = new BigDecimal( "0.01" );
|
||||
BigDecimal zero = new BigDecimal(0);
|
||||
Sqlca = com.amarsoft.awe.util.Transaction.createTransaction(tx);
|
||||
//本次结清租赁物比例
|
||||
String equipmentRatio = REPURCHASE_RATIO;
|
||||
String paydayAdjust = PAYDAY_ADJUST;
|
||||
BigDecimal equipmentRatio2 = new BigDecimal(equipmentRatio).divide(new BigDecimal(100));
|
||||
|
||||
BizObjectManager lfratBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_RENT_ADJUST_TEMP",Sqlca);
|
||||
BizObject lfrat = lfratBm.createQuery("FLOWUNID='"+flowunid+"'").getSingleResult(true);
|
||||
String CONTRACT_ID = Sqlca.getString("SELECT lci.id FROM lb_contract_info_temp lcit left join lb_contract_info lci on lci.CONTRACT_NO = lcit.CONTRACT_NO where lcit.FLOWUNID='"+flowunid+"'");
|
||||
String adjustType = lfrat.getAttribute("ADJUST_TYPE").toString();
|
||||
|
||||
// 获取网银
|
||||
String EBANK_NUMBER = Sqlca.getString("SELECT LE.ID FROM LC_EBANK_TEMP LET LEFT JOIN LC_EBANK LE ON LE.EBANK_NUMBER=LET.EBANK_NUMBER where LET.FLOWUNID='"+flowunid+"'");
|
||||
String FACT_DATE = Sqlca.getString("SELECT FACT_DATE FROM LC_EBANK_TEMP LET where LET.FLOWUNID='"+flowunid+"'");
|
||||
// String MAXIMUM_TOTAL = lfrat.getAttribute("MAXIMUM_TOTAL").getString();
|
||||
// String RECEIVABLE_MONEY02 = MAXIMUM_TOTAL;
|
||||
// //String OPEN_MONEY = lfrat.getAttribute("OPEN_MONEY").getString();
|
||||
// // 判断结清类型是否为提前结清
|
||||
// if("01".equals(adjustType)){
|
||||
// Sqlca.executeSQL(new SqlObject("update LC_EBANK_TEMP let set HAD_MONEY = HAD_MONEY+"+RECEIVABLE_MONEY02+",MAYOPE_MONEY=MAYOPE_MONEY-"+RECEIVABLE_MONEY02+" where LET.FLOWUNID = '" +flowunid+ "'") );
|
||||
// }else if("coerce_terminate".equals(adjustType)){
|
||||
// Sqlca.executeSQL(new SqlObject("update LC_EBANK_TEMP let set HAD_MONEY = HAD_MONEY+MAYOPE_MONEY,MAYOPE_MONEY=MAYOPE_MONEY-MAYOPE_MONEY where LET.FLOWUNID = '" +flowunid+ "'") );
|
||||
// }
|
||||
/**
|
||||
* 变更租金计划表
|
||||
*/
|
||||
// 获取日期大于约定终止日所在月的租金计划,按比例算出每期租金,本金,利息,在约定终止日那一月汇总后边的
|
||||
String planlist = Sqlca.getString("select max(PLAN_LIST) from LC_RENT_PLAN where CONTRACT_ID = '"+contractId+"' and STR_TO_DATE(PLAN_DATE,'%Y/%m/%d')<= STR_TO_DATE('"+paydayAdjust+"','%Y/%m/%d')");
|
||||
BizObjectManager lrptBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_RENT_PLAN_TEMP",Sqlca);
|
||||
List<BizObject> lrptBoList = lrptBm.createQuery("FLOWUNID='"+flowunid+"' and plan_list >= '"+planlist+"' order by plan_list desc").getResultList(true);
|
||||
//查询结清租金
|
||||
// BigDecimal tax = new BigDecimal( bean.getTax() ).multiply( t );
|
||||
// BigDecimal other = new BigDecimal( bean.getOther() ).multiply( t ).add( BigDecimal.ONE );
|
||||
// 获取该合同约定终止日所在月开始所有本金
|
||||
String SUM_CORPUS = Sqlca.getString("SELECT ifnull(SUM(ifnull(CORPUS,0)),0) FROM LC_RENT_PLAN WHERE CONTRACT_ID='"+contractId+"' AND date_format(STR_TO_DATE(PLAN_DATE,'%Y/%m/%d'),'%Y/%m/%d')>date_format(STR_TO_DATE('"+paydayAdjust+"','%Y/%m/%d'),'%Y/%m/%d')");
|
||||
// 未结清租金
|
||||
BigDecimal now_rent = new BigDecimal(0);
|
||||
// 未结清本金
|
||||
BigDecimal now_corpus = new BigDecimal(0);
|
||||
// 结清日最近的一期租金
|
||||
BigDecimal end_rent = new BigDecimal(0);
|
||||
// 结清日最近的一期本金
|
||||
BigDecimal end_corpus = new BigDecimal(0);
|
||||
// 结清日最近的一期利息
|
||||
BigDecimal end_interest = new BigDecimal(0);
|
||||
String last_plan_date = "";
|
||||
for(int i=0; i<lrptBoList.size();i++) {
|
||||
BizObject lrptBo = lrptBoList.get(i);
|
||||
BigDecimal rent= new BigDecimal(0);
|
||||
BigDecimal corpus= new BigDecimal(0);
|
||||
BigDecimal interest= new BigDecimal(0);
|
||||
// 约定终止日所在那一期次, 如果约定日期小于第一期月份,本金为0
|
||||
if(i==lrptBoList.size()-1) {
|
||||
last_plan_date = lrptBo.getAttribute("PLAN_DATE").getString();
|
||||
String planList = lrptBo.getAttribute("plan_list").getString();
|
||||
//获取当期计划表本金和租息
|
||||
String incomeCorpus = Sqlca.getString("SELECT ifnull(SUM(ifnull(CORPUS,0)),0) FROM LC_RENT_INCOME WHERE CONTRACT_ID='"+contractId+"' AND PLAN_LIST='"+planList+"'");
|
||||
String incomeInterest = Sqlca.getString("SELECT ifnull(SUM(ifnull(INTEREST,0)),0) FROM LC_RENT_INCOME WHERE CONTRACT_ID='"+contractId+"' AND PLAN_LIST='"+planList+"'");
|
||||
BigDecimal noIncomeCorpus = new BigDecimal(lrptBo.getAttribute("CORPUS").toString()).subtract(new BigDecimal(incomeCorpus));
|
||||
BigDecimal noIncomeInterest = new BigDecimal(lrptBo.getAttribute("INTEREST").toString()).subtract(new BigDecimal(incomeInterest));
|
||||
corpus=new BigDecimal(SUM_CORPUS).subtract(now_corpus).add(new BigDecimal(lrptBo.getAttribute("corpus").toString()));
|
||||
interest = new BigDecimal(lrptBo.getAttribute("interest").toString());
|
||||
rent=corpus.add(interest);
|
||||
//计算调整后实收本金
|
||||
end_corpus = noIncomeCorpus;
|
||||
//计算调整后实收租息
|
||||
end_interest = noIncomeInterest;
|
||||
}else {
|
||||
// 获取结清后约定终止日后边期次当期租金计划的租金本金利息
|
||||
rent = new BigDecimal(lrptBo.getAttribute("RENT").toString()).subtract(new BigDecimal(lrptBo.getAttribute("RENT").toString()).multiply(new BigDecimal(equipmentRatio).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_HALF_UP));
|
||||
corpus = new BigDecimal(lrptBo.getAttribute("CORPUS").toString()).subtract(new BigDecimal(lrptBo.getAttribute("CORPUS").toString()).multiply(new BigDecimal(equipmentRatio).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_HALF_UP));
|
||||
interest = new BigDecimal(lrptBo.getAttribute("INTEREST").toString()).subtract(new BigDecimal(lrptBo.getAttribute("INTEREST").toString()).multiply(new BigDecimal(equipmentRatio).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_HALF_UP));
|
||||
if(interest.compareTo(zero)==1) {
|
||||
interest=rent.subtract(corpus);
|
||||
}
|
||||
now_rent=now_rent.add(rent);
|
||||
now_corpus=now_corpus.add(corpus);
|
||||
}
|
||||
lrptBo.setAttributeValue("RENT",rent.toString());
|
||||
lrptBo.setAttributeValue("CORPUS_BUSINESS",corpus.toString());
|
||||
lrptBo.setAttributeValue("CORPUS",corpus.toString());
|
||||
lrptBo.setAttributeValue("INTEREST_BUSINESS",interest);
|
||||
lrptBo.setAttributeValue("INTEREST",interest);
|
||||
lrptBo.setAttributeValue("MEMO","部分结清");
|
||||
lrptBm.saveObject(lrptBo);
|
||||
}
|
||||
|
||||
// 因为不确定结清日期是否大于等于第一期月份,所以不按照月份删除。按照实际金额删除
|
||||
Sqlca.executeSQL(new SqlObject("delete from LC_RENT_PLAN_TEMP where flowunid='"+flowunid+"' AND ifnull(rent,0)=0 AND MEMO='部分结清' "));
|
||||
/**
|
||||
* 保证金抵扣租金
|
||||
* 对应的逾期租金、当期租金、未到期本金、逾期违约金、名义价款、提前终止合同损失金及其他应收
|
||||
*/
|
||||
BizObject lrptBo2 = lrptBm.createQuery("FLOWUNID='"+flowunid+"' ").getSingleResult(false);
|
||||
//创建租金实收
|
||||
BizObjectManager lritBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_RENT_INCOME_TEMP",Sqlca);
|
||||
//创建资金收付
|
||||
BizObjectManager lfitBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP",Sqlca);
|
||||
// 创建资金计划
|
||||
BizObjectManager lfptBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_PLAN_TEMP",Sqlca);
|
||||
String sql="";
|
||||
if("coerce_terminate".equals(adjustType)){
|
||||
sql = "select ifnull(LRPT.RENT,0)-ifnull(LRI.RENT,0) as OVER_RENT,ifnull(LRPT.CORPUS,0)-ifnull(LRI.CORPUS,0) as OVER_CORPUS,ifnull(LRPT.INTEREST,0)-ifnull(LRI.INTEREST,0) as OVER_INTEREST,LRPT.PLAN_LIST as PLAN_LIST,LRPT.PLAN_DATE as PLAN_DATE,LRP.PLAN_ID,date_format(now(),'%Y/%m/%d') as ACCOUNTING_DATE,date_format(now(),'%Y/%m/%d %h:%i:%s') as INPUTTIME from(select MAX(ID) as PLAN_ID,CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) as PLAN_DATE,SUM(RENT) as RENT,SUM(CORPUS) as CORPUS,SUM(INTEREST) as INTEREST from LC_RENT_PLAN_TEMP where FLOWUNID = '"+flowunid+"' and CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST ) LRPT left join (select CONTRACT_ID,PLAN_LIST,MAX(ID) as PLAN_ID from LC_RENT_PLAN where CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST )LRP on LRP.CONTRACT_ID = LRPT.CONTRACT_ID and LRP.PLAN_LIST = LRPT.PLAN_LIST left join (select CONTRACT_ID,PLAN_LIST,SUM(RENT) as RENT,SUM(CORPUS) as CORPUS,SUM(INTEREST) as INTEREST from LC_RENT_INCOME where CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST ) LRI on LRI.CONTRACT_ID = LRPT.CONTRACT_ID and LRI.PLAN_LIST = LRPT.PLAN_LIST where ifnull(LRPT.RENT,0)>ifnull(LRI.RENT,0) order by LRPT.PLAN_LIST";
|
||||
}else{
|
||||
sql = "select ifnull(LRPT.RENT,0)-ifnull(LRI.RENT,0) as OVER_RENT,ifnull(LRPT.CORPUS,0)-ifnull(LRI.CORPUS,0) as OVER_CORPUS,ifnull(LRPT.INTEREST,0)-ifnull(LRI.INTEREST,0) as OVER_INTEREST,LRPT.PLAN_LIST as PLAN_LIST,LRPT.PLAN_DATE as PLAN_DATE,LRP.PLAN_ID,date_format(now() ,'%Y/%m/%d') as ACCOUNTING_DATE,date_format(now(),'%Y/%m/%d %h:%m:%s') as INPUTTIME from(select MAX(ID) as PLAN_ID,CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) as PLAN_DATE,SUM(RENT) as RENT,SUM(CORPUS) as CORPUS,SUM(INTEREST) as INTEREST from LC_RENT_PLAN_TEMP where FLOWUNID = '"+flowunid+"' and CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST ) LRPT left join (select CONTRACT_ID,PLAN_LIST,MAX(ID) as PLAN_ID from LC_RENT_PLAN where CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST )LRP on LRP.CONTRACT_ID = LRPT.CONTRACT_ID and LRP.PLAN_LIST = LRPT.PLAN_LIST left join (select CONTRACT_ID,PLAN_LIST,SUM(RENT) as RENT,SUM(CORPUS) as CORPUS,SUM(INTEREST) as INTEREST from LC_RENT_INCOME where CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST ) LRI on LRI.CONTRACT_ID = LRPT.CONTRACT_ID and LRI.PLAN_LIST = LRPT.PLAN_LIST where ifnull(LRPT.RENT,0)>ifnull(LRI.RENT,0) and LRPT.PLAN_DATE <= '"+last_plan_date+"' order by LRPT.PLAN_LIST ";
|
||||
}
|
||||
/**
|
||||
* 保证金抵扣留购价款 (强制结清不核销留购价)
|
||||
*/
|
||||
BigDecimal REPURCHASE_MONEY = new BigDecimal(lfrat.getAttribute("REPURCHASE_MONEY").toString());
|
||||
|
||||
/**
|
||||
* 处理资金计划表-其他应收
|
||||
*/
|
||||
BigDecimal OTHER_IN = new BigDecimal(lfrat.getAttribute("OTHER_IN").toString());
|
||||
String OTHER_IN_ID = UUID.randomUUID().toString().replaceAll("-","");
|
||||
if(OTHER_IN.compareTo(zero)>0) {
|
||||
BizObject lfptBo = lfptBm.newObject();
|
||||
lfptBo.setAttributeValue("ID",OTHER_IN_ID);
|
||||
lfptBo.setAttributeValue("PROJECT_ID",lrptBo2.getAttribute("PROJECT_ID"));
|
||||
lfptBo.setAttributeValue("PROJECT_PLAN_NUMBER",lrptBo2.getAttribute("PROJECT_PLAN_NUMBER"));
|
||||
lfptBo.setAttributeValue("CONTRACT_ID",lrptBo2.getAttribute("CONTRACT_ID"));
|
||||
lfptBo.setAttributeValue("CONTRACT_PLAN_NUMBER",lrptBo2.getAttribute("CONTRACT_PLAN_NUMBER"));
|
||||
lfptBo.setAttributeValue("PAYMENT_NUMBER",lrptBo2.getAttribute("PAYMENT_NUMBER"));
|
||||
lfptBo.setAttributeValue("PLAN_LIST","1");
|
||||
lfptBo.setAttributeValue("PAY_TYPE","pay_type_in");
|
||||
lfptBo.setAttributeValue("FEE_TYPE","feetype8");
|
||||
lfptBo.setAttributeValue("SETTLE_METHOD","settlemethod6");
|
||||
lfptBo.setAttributeValue("PLAN_DATE",paydayAdjust);
|
||||
lfptBo.setAttributeValue("PLAN_MONEY",OTHER_IN.toString());
|
||||
lfptBo.setAttributeValue("FLOWUNID",flowunid);
|
||||
lfptBo.setAttributeValue("INPUTTIME",DateUtil.getSystemDateTime());
|
||||
lfptBm.saveObject(lfptBo);
|
||||
}
|
||||
BigDecimal OTHER_OUT = new BigDecimal(lfrat.getAttribute("OTHER_OUT").toString());
|
||||
String OTHER_OUT_ID = UUID.randomUUID().toString().replaceAll("-","");
|
||||
if(OTHER_OUT.compareTo(zero)>0) {
|
||||
BizObject lfptBo = lfptBm.newObject();
|
||||
lfptBo.setAttributeValue("ID",OTHER_OUT_ID);
|
||||
lfptBo.setAttributeValue("PROJECT_ID",lrptBo2.getAttribute("PROJECT_ID"));
|
||||
lfptBo.setAttributeValue("PROJECT_PLAN_NUMBER",lrptBo2.getAttribute("PROJECT_PLAN_NUMBER"));
|
||||
lfptBo.setAttributeValue("CONTRACT_ID",lrptBo2.getAttribute("CONTRACT_ID"));
|
||||
lfptBo.setAttributeValue("CONTRACT_PLAN_NUMBER",lrptBo2.getAttribute("CONTRACT_PLAN_NUMBER"));
|
||||
lfptBo.setAttributeValue("PAYMENT_NUMBER",lrptBo2.getAttribute("PAYMENT_NUMBER"));
|
||||
lfptBo.setAttributeValue("PLAN_LIST","1");
|
||||
lfptBo.setAttributeValue("PAY_TYPE","pay_type_out");
|
||||
lfptBo.setAttributeValue("FEE_TYPE","feetype11");
|
||||
lfptBo.setAttributeValue("SETTLE_METHOD","settlemethod6");
|
||||
lfptBo.setAttributeValue("PLAN_DATE",paydayAdjust);
|
||||
lfptBo.setAttributeValue("PLAN_MONEY",OTHER_OUT.toString());
|
||||
lfptBo.setAttributeValue("FLOWUNID",flowunid);
|
||||
lfptBo.setAttributeValue("INPUTTIME",DateUtil.getSystemDateTime());
|
||||
lfptBm.saveObject(lfptBo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 租金实收表操作
|
||||
*/
|
||||
sql = "SELECT ifnull(LRPT.RENT,0)-ifnull(LRI.RENT,0)-ifnull(LRIT.RENT,0) AS OVER_RENT, ifnull(LRPT.CORPUS,0)-ifnull(LRI.CORPUS,0)-ifnull(LRIT.CORPUS,0) AS OVER_CORPUS, ifnull(LRPT.INTEREST,0)-ifnull(LRI.INTEREST,0)-ifnull(LRIT.INTEREST,0) AS OVER_INTEREST, LRPT.PLAN_LIST AS PLAN_LIST, LRPT.PLAN_DATE AS PLAN_DATE, LRP.PLAN_ID, date_format(now(),'%Y/%m/%d') AS ACCOUNTING_DATE, date_format(now(),'%Y/%m/%d %h:%m:%s') AS INPUTTIME FROM ( SELECT MAX(ID) AS PLAN_ID, CONTRACT_ID, PLAN_LIST, MAX(PLAN_DATE) AS PLAN_DATE, SUM(RENT) AS RENT, SUM(CORPUS) AS CORPUS, SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP WHERE FLOWUNID='"+flowunid+"' AND CONTRACT_ID='"+contractId+"' GROUP BY CONTRACT_ID, PLAN_LIST ) LRPT LEFT JOIN (SELECT CONTRACT_ID, PLAN_LIST, MAX(ID) AS PLAN_ID FROM LC_RENT_PLAN WHERE CONTRACT_ID='"+contractId+"' GROUP BY CONTRACT_ID, PLAN_LIST )LRP ON LRP.CONTRACT_ID=LRPT.CONTRACT_ID AND LRP.PLAN_LIST=LRPT.PLAN_LIST LEFT JOIN ( SELECT CONTRACT_ID, PLAN_LIST, SUM(RENT) AS RENT, SUM(CORPUS) AS CORPUS, SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME WHERE CONTRACT_ID='"+contractId+"' GROUP BY CONTRACT_ID, PLAN_LIST ) LRI ON LRI.CONTRACT_ID=LRPT.CONTRACT_ID AND LRI.PLAN_LIST=LRPT.PLAN_LIST LEFT JOIN ( SELECT CONTRACT_ID, PLAN_LIST, SUM(RENT) AS RENT, SUM(CORPUS) AS CORPUS, SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME_TEMP WHERE CONTRACT_ID='"+contractId+"' and FLOWUNID='"+flowunid+"' GROUP BY CONTRACT_ID, PLAN_LIST ) LRIT ON LRIT.CONTRACT_ID=LRPT.CONTRACT_ID AND LRIT.PLAN_LIST=LRPT.PLAN_LIST WHERE ifnull(LRPT.RENT,0)>(ifnull(LRI.RENT,0)+ifnull(LRIT.RENT,0)) AND LRPT.PLAN_LIST<=(SELECT MIN(PLAN_LIST) FROM LC_RENT_PLAN_TEMP WHERE FLOWUNID='"+flowunid+"' AND date_format(STR_TO_DATE(PLAN_DATE,'%Y/%m/%d'),'%Y/%m/%d')>=date_format(STR_TO_DATE('"+paydayAdjust+"','%Y/%m/%d'),'%Y/%m/%d')) ORDER BY LRPT.PLAN_LIST";
|
||||
List<Map<String, String>> dataList = DataUtil.query(sql, Sqlca);
|
||||
for(int i=0; i<dataList.size();i++) {
|
||||
// 获取抵扣前当期应收租金本金利息
|
||||
String PLAN_LIST=dataList.get(i).get("PLAN_LIST");
|
||||
String PLAN_DATE = dataList.get(i).get("PLAN_DATE");
|
||||
String PLAN_ID = dataList.get(i).get("PLAN_ID");
|
||||
String INPUTTIME = dataList.get(i).get("INPUTTIME");
|
||||
// end_corpus
|
||||
BigDecimal over_rent = new BigDecimal(0);
|
||||
BigDecimal over_corpus = new BigDecimal(0);
|
||||
BigDecimal over_interest = new BigDecimal(0);
|
||||
BigDecimal over_penalty = new BigDecimal(0);
|
||||
if(i==dataList.size()-1) {
|
||||
if(PLAN_DATE.equals(paydayAdjust)){
|
||||
over_interest=new BigDecimal(dataList.get(i).get("OVER_INTEREST"));
|
||||
over_corpus=new BigDecimal(dataList.get(i).get("OVER_CORPUS"));
|
||||
over_rent=new BigDecimal(dataList.get(i).get("OVER_RENT"));
|
||||
}
|
||||
}else {
|
||||
String overSql = "select ifnull(LRPT.RENT,0) - ifnull(LRI.RENT,0) as OVER_RENT,ifnull(LRPT.CORPUS,0) - ifnull(LRI.CORPUS,0) as OVER_CORPUS,ifnull(LRPT.INTEREST,0) - ifnull(LRI.INTEREST,0) as OVER_INTEREST,LRPT.PLAN_LIST as PLAN_LIST,LRPT.PLAN_DATE as PLAN_DATE,LRP.PLAN_ID,date_format(now() ,'%Y/%m/%d') as ACCOUNTING_DATE,date_format(now() ,'%Y/%m/%d %h/%m/%s') as INPUTTIME from(select MAX(ID) as PLAN_ID,CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) as PLAN_DATE,SUM(RENT) as RENT,SUM(CORPUS) as CORPUS,SUM(INTEREST) as INTEREST from LC_RENT_PLAN_TEMP where FLOWUNID = '"+flowunid+"' and CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST) LRPT left join (select CONTRACT_ID,PLAN_LIST,MAX(ID) as PLAN_ID from LC_RENT_PLAN where CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST) LRP on LRP.CONTRACT_ID = LRPT.CONTRACT_ID and LRP.PLAN_LIST = LRPT.PLAN_LIST left join (select CONTRACT_ID,PLAN_LIST,SUM(RENT) as RENT,SUM(CORPUS) as CORPUS,SUM(INTEREST) as INTEREST from LC_RENT_INCOME where CONTRACT_ID = '"+contractId+"' group by CONTRACT_ID,PLAN_LIST) LRI on LRI.CONTRACT_ID = LRPT.CONTRACT_ID and LRI.PLAN_LIST = LRPT.PLAN_LIST left join VI_LC_RENT_PLAN vlrp on vlrp.CONTRACT_ID = LRPT.CONTRACT_ID and vlrp.PLAN_LIST = LRPT.PLAN_LIST where (ifnull(LRPT.RENT,0) > ifnull(LRI.RENT,0)or vlrp.PENALTY_OVER>0) and LRPT.PLAN_LIST = '"+PLAN_LIST+"' order by LRPT.PLAN_LIST";
|
||||
List<Map<String, String>> dataOverList = DataUtil.query(overSql, Sqlca);
|
||||
BigDecimal plan_rent = new BigDecimal(dataOverList.get(0).get("OVER_RENT"));
|
||||
BigDecimal plan_corpus = new BigDecimal(dataOverList.get(0).get("OVER_CORPUS"));
|
||||
String factSql = "SELECT CONTRACT_ID, PLAN_LIST, SUM(RENT) AS RENT, SUM(CORPUS) AS CORPUS, SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME_TEMP WHERE CONTRACT_ID='"+contractId+"' and FLOWUNID='"+flowunid+"' and plan_list='"+PLAN_LIST+"' GROUP BY CONTRACT_ID, PLAN_LIST";
|
||||
List<Map<String, String>> dataFactList = DataUtil.query(factSql, Sqlca);
|
||||
BigDecimal old_rent = new BigDecimal(0);
|
||||
BigDecimal old_corpus = new BigDecimal(0);
|
||||
if(dataFactList.size()>0){
|
||||
old_rent = new BigDecimal(dataFactList.get(0).get("RENT"));
|
||||
old_corpus = new BigDecimal(dataFactList.get(0).get("CORPUS"));
|
||||
}
|
||||
over_rent=plan_rent.setScale(2,BigDecimal.ROUND_HALF_UP).subtract(old_rent);
|
||||
over_corpus=plan_corpus.setScale(2,BigDecimal.ROUND_HALF_UP).subtract(old_corpus);
|
||||
//提交结清收取逾期利息,强制结清不收利息
|
||||
if("SETTLE_METHOD02".equals(SettleMethod)){
|
||||
over_interest=over_rent.subtract(over_corpus);
|
||||
}else{
|
||||
over_rent=over_corpus;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(over_rent.compareTo(BigDecimal.ZERO)!=0){
|
||||
BizObject lritBo = lritBm.newObject();
|
||||
lritBo.setAttributeValue("PROJECT_ID",lrptBo2.getAttribute("PROJECT_ID"));
|
||||
lritBo.setAttributeValue("PROJECT_PLAN_NUMBER",lrptBo2.getAttribute("PROJECT_PLAN_NUMBER"));
|
||||
lritBo.setAttributeValue("CONTRACT_ID",lrptBo2.getAttribute("CONTRACT_ID"));
|
||||
lritBo.setAttributeValue("CONTRACT_PLAN_NUMBER",lrptBo2.getAttribute("CONTRACT_PLAN_NUMBER"));
|
||||
lritBo.setAttributeValue("PAYMENT_NUMBER",lrptBo2.getAttribute("PAYMENT_NUMBER"));
|
||||
lritBo.setAttributeValue("PLAN_LIST",PLAN_LIST);
|
||||
lritBo.setAttributeValue("PLAN_ID",PLAN_ID);
|
||||
lritBo.setAttributeValue("RENT",over_rent.toString());
|
||||
lritBo.setAttributeValue("CORPUS",over_corpus.toString());
|
||||
lritBo.setAttributeValue("INTEREST",over_interest.toString());
|
||||
lritBo.setAttributeValue("PENALTY",over_penalty);
|
||||
lritBo.setAttributeValue("HIRE_LIST",getHireList(lrptBo2.getAttribute("PAYMENT_NUMBER").toString(),PLAN_LIST,Sqlca));
|
||||
lritBo.setAttributeValue("HIRE_DATE",FACT_DATE);
|
||||
lritBo.setAttributeValue("CORPUS_ADJUST","0.00");
|
||||
lritBo.setAttributeValue("INTEREST_ADJUST","0.00");
|
||||
lritBo.setAttributeValue("PENALTY_ADJUST","0.00");
|
||||
lritBo.setAttributeValue("SETTLE_METHOD","settlemethod6");
|
||||
lritBo.setAttributeValue("DEDUCTION_ID","");
|
||||
lritBo.setAttributeValue("ACCOUNTING_DATE",paydayAdjust);
|
||||
lritBo.setAttributeValue("ROLL_BACK","0");
|
||||
lritBo.setAttributeValue("FLOWUNID",flowunid);
|
||||
lritBo.setAttributeValue("IS_FLOWING","0");
|
||||
lritBo.setAttributeValue("INPUTTIME",INPUTTIME);
|
||||
lritBo.setAttributeValue("EBANK_NUMBER",EBANK_NUMBER);
|
||||
lritBm.saveObject(lritBo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理保证金未抵扣的留购价款
|
||||
*/
|
||||
BizObject boLFP = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_PLAN",tx).createQuery("CONTRACT_ID='"+CONTRACT_ID+"' and FEE_TYPE='feetype4'").getSingleResult(false);
|
||||
if(!"coerce_terminate".equals(adjustType)){
|
||||
if(REPURCHASE_MONEY.compareTo(BigDecimal.ZERO)!=0){
|
||||
BizObject lfitBo2 = lfitBm.newObject();
|
||||
lfitBo2.setAttributeValue("ID", UUIDUtil.getUUID());
|
||||
lfitBo2.setAttributeValue("PROJECT_ID",boLFP.getAttribute("PROJECT_ID").getString());
|
||||
lfitBo2.setAttributeValue("PROJECT_PLAN_NUMBER",boLFP.getAttribute("PROJECT_PLAN_NUMBER").getString());
|
||||
lfitBo2.setAttributeValue("CONTRACT_ID",boLFP.getAttribute("CONTRACT_ID").getString());
|
||||
lfitBo2.setAttributeValue("CONTRACT_PLAN_NUMBER",boLFP.getAttribute("CONTRACT_PLAN_NUMBER").getString());
|
||||
lfitBo2.setAttributeValue("PAYMENT_NUMBER",boLFP.getAttribute("PAYMENT_NUMBER").getString());
|
||||
lfitBo2.setAttributeValue("PLAN_ID",boLFP.getAttribute("ID").getString());
|
||||
lfitBo2.setAttributeValue("PLAN_LIST","1");
|
||||
lfitBo2.setAttributeValue("PAY_TYPE","pay_type_in");
|
||||
lfitBo2.setAttributeValue("FEE_TYPE","feetype4");
|
||||
lfitBo2.setAttributeValue("SETTLE_METHOD","settlemethod6");
|
||||
lfitBo2.setAttributeValue("CHARGE_LIST","1");
|
||||
lfitBo2.setAttributeValue("FACT_DATE",paydayAdjust);
|
||||
lfitBo2.setAttributeValue("FACT_MONEY",REPURCHASE_MONEY);
|
||||
lfitBo2.setAttributeValue("FEE_ADJUST","0.00");
|
||||
lfitBo2.setAttributeValue("ACCOUNTING_DATE",paydayAdjust);
|
||||
lfitBo2.setAttributeValue("ROLL_BACK","0");
|
||||
lfitBo2.setAttributeValue("FLOWUNID",flowunid);
|
||||
lfitBo2.setAttributeValue("IS_FLOWING","0");
|
||||
lfitBo2.setAttributeValue("INPUTTIME", DateAssistant.getTodayNow());
|
||||
lfitBo2.setAttributeValue("EBANK_NUMBER",EBANK_NUMBER);
|
||||
lfitBm.saveObject(lfitBo2);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 处理保证金未抵扣的其他应收
|
||||
*/
|
||||
if(OTHER_IN.compareTo(BigDecimal.ZERO)!=0){
|
||||
BizObject lfitBo2 = lfitBm.newObject();
|
||||
lfitBo2.setAttributeValue("ID", UUIDUtil.getUUID());
|
||||
lfitBo2.setAttributeValue("PROJECT_ID",boLFP.getAttribute("PROJECT_ID").getString());
|
||||
lfitBo2.setAttributeValue("PROJECT_PLAN_NUMBER",boLFP.getAttribute("PROJECT_PLAN_NUMBER").getString());
|
||||
lfitBo2.setAttributeValue("CONTRACT_ID",boLFP.getAttribute("CONTRACT_ID").getString());
|
||||
lfitBo2.setAttributeValue("CONTRACT_PLAN_NUMBER",boLFP.getAttribute("CONTRACT_PLAN_NUMBER").getString());
|
||||
lfitBo2.setAttributeValue("PAYMENT_NUMBER",boLFP.getAttribute("PAYMENT_NUMBER").getString());
|
||||
lfitBo2.setAttributeValue("PLAN_ID",OTHER_IN_ID);
|
||||
lfitBo2.setAttributeValue("PLAN_LIST","1");
|
||||
lfitBo2.setAttributeValue("PAY_TYPE","pay_type_in");
|
||||
lfitBo2.setAttributeValue("FEE_TYPE","feetype8");
|
||||
lfitBo2.setAttributeValue("SETTLE_METHOD","settlemethod6");
|
||||
lfitBo2.setAttributeValue("CHARGE_LIST","1");
|
||||
lfitBo2.setAttributeValue("FACT_DATE",paydayAdjust);
|
||||
lfitBo2.setAttributeValue("FACT_MONEY",OTHER_IN);
|
||||
lfitBo2.setAttributeValue("FEE_ADJUST","0.00");
|
||||
lfitBo2.setAttributeValue("ACCOUNTING_DATE",paydayAdjust);
|
||||
lfitBo2.setAttributeValue("ROLL_BACK","0");
|
||||
lfitBo2.setAttributeValue("FLOWUNID",flowunid);
|
||||
lfitBo2.setAttributeValue("IS_FLOWING","0");
|
||||
lfitBo2.setAttributeValue("INPUTTIME", DateAssistant.getTodayNow());
|
||||
lfitBo2.setAttributeValue("EBANK_NUMBER",EBANK_NUMBER);
|
||||
lfitBm.saveObject(lfitBo2);
|
||||
}
|
||||
|
||||
/**
|
||||
* 租金计划临时表变更回笼状态
|
||||
*/
|
||||
List<BizObject> lrptBoList2 = lrptBm.createQuery("FLOWUNID='"+flowunid+"' and v.ifnull(PLAN_STATUS,'未回笼')<>'已回笼' order by plan_list desc").getResultList(false);
|
||||
for(int i=0;i<lrptBoList2.size();i++) {
|
||||
String PLAN_LIST = lrptBoList2.get(i).getAttribute("PLAN_LIST").toString();
|
||||
double RENT = Double.parseDouble(lrptBoList2.get(i).getAttribute("RENT").toString());
|
||||
DataUtil.executeUpdate("UPDATE LC_RENT_PLAN_TEMP SET PLAN_STATUS=(SELECT CASE WHEN (ifnull(LFIT.RENT,0)+ifnull(LRI.RENT,0))>="+RENT+" THEN '已回笼' WHEN (ifnull(LFIT.RENT,0)+ifnull(LRI.RENT,0))> 0 AND (ifnull(LFIT.RENT,0)+ifnull(LRI.RENT,0))<"+RENT+" THEN '部分回笼' ELSE '未回笼' END FROM (SELECT MAX(CONTRACT_ID) AS CONTRACT_ID, SUM(ifnull(RENT,0)) AS RENT FROM LC_RENT_INCOME_TEMP WHERE FLOWUNID='"+flowunid+"' AND PLAN_LIST='"+PLAN_LIST+"' )LFIT LEFT JOIN (SELECT MAX(CONTRACT_ID) AS CONTRACT_ID, SUM(ifnull(RENT,0)) AS RENT FROM LC_RENT_INCOME WHERE CONTRACT_ID='"+CONTRACT_ID+"' AND PLAN_LIST='"+PLAN_LIST+"' )LRI ON LRI.CONTRACT_ID=LFIT.CONTRACT_ID ) WHERE FLOWUNID='"+flowunid+"' AND PLAN_LIST='"+PLAN_LIST+"'", tx);
|
||||
}
|
||||
|
||||
BizObjectManager lcctBom = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP", Sqlca);
|
||||
|
||||
BizObject lcctBo = lcctBom.createQuery("flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false);
|
||||
BigDecimal clean_lease_money = new BigDecimal(lcctBo.getAttribute("CLEAN_LEASE_MONEY").toString()); //融资额
|
||||
List<BizObject> lrptBList = lrptBm.createQuery("flowunid=:flowunid order by plan_list").setParameter("flowunid", flowunid).getResultList(true);
|
||||
for(BizObject lrptB : lrptBList) {
|
||||
String corpus = lrptB.getAttribute("CORPUS").toString();
|
||||
BigDecimal bdCorpus = new BigDecimal(corpus);
|
||||
lrptB.setAttributeValue("ALL_REMAIN_CORPUS", clean_lease_money.subtract(bdCorpus).toString());
|
||||
clean_lease_money = clean_lease_money.subtract(bdCorpus);
|
||||
lrptBm.saveObject(lrptB);
|
||||
}
|
||||
Sqlca.commit();
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException jboException) {
|
||||
jboException.printStackTrace();
|
||||
}
|
||||
return "操作失败";
|
||||
} finally {
|
||||
try {
|
||||
if(Sqlca!=null) {
|
||||
Sqlca.disConnect();
|
||||
}
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return "操作成功";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取回笼期项
|
||||
*/
|
||||
public String getHireList(String paymentNumber,String planList,com.amarsoft.awe.util.Transaction Sqlca) throws Exception{
|
||||
String hireList = Sqlca.getString("select max(HIRE_LIST) HIRE_LIST from (select max(HIRE_LIST) HIRE_LIST from LC_RENT_INCOME_TEMP where ROLL_BACK='0' and IS_FLOWING='0' and PAYMENT_NUMBER='"+paymentNumber+"' and PLAN_LIST='"+planList+"' union all select max(HIRE_LIST) HIRE_LIST from LC_RENT_INCOME where ROLL_BACK='0' and PAYMENT_NUMBER='"+paymentNumber+"' and PLAN_LIST='"+planList+"') aa");
|
||||
if(hireList==null){
|
||||
return "1";
|
||||
}
|
||||
int hireList2 = Integer.valueOf(hireList);
|
||||
return hireList2+1+"";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -2,15 +2,17 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.util.FlowUtil;
|
||||
|
||||
/**
|
||||
* 自动及定时任务自动生成代偿凭证
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class InsertVoucherRentCompensatory {
|
||||
/**
|
||||
@ -35,50 +37,120 @@ public class InsertVoucherRentCompensatory {
|
||||
* 查询租金实收表, 将需要生成凭证的数据存入中间表
|
||||
* @throws Exception
|
||||
*/
|
||||
public void initLVRentIncome() throws Exception{
|
||||
public void initLVRentIncome(){
|
||||
Transaction Sqlca =null;
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询数据, 判断是否需要执行插入中间表
|
||||
*/
|
||||
// 查询是否有当月的, 未生成凭证的数据(经销商代偿)
|
||||
String sqls11 = "SELECT O.ID FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND DATE_FORMAT(O.INPUTTIME, '%Y-%m') = DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') AND LV.INCOME_ID IS NULL AND IFNULL(O.CORPUS, 0) + IFNULL(O.INTEREST, 0) > 0";
|
||||
// 查询跨月的, 未生成凭证的数据(经销商代偿)
|
||||
String sqls22 = "SELECT O.ID FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND DATE_FORMAT(O.INPUTTIME, '%Y-%m') <> DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') AND LV.INCOME_ID IS NULL AND IFNULL(O.CORPUS, 0) + IFNULL(O.INTEREST, 0) > 0";
|
||||
// 查询当前数据是否有逾期利息(经销商代偿)
|
||||
String sqls33 = "SELECT O.ID FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID = O.RENT_PLAN_ID LEFT JOIN (SELECT INCOME_ID FROM LV_PENALTY_PLAN GROUP BY INCOME_ID) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND LV.INCOME_ID IS NULL AND IFNULL(O.PENALTY, 0) > 0";
|
||||
List<Map<String,String>> dataList11=DataOperatorUtil.getDataBySql(Sqlca, sqls11, null);
|
||||
List<Map<String,String>> dataList22=DataOperatorUtil.getDataBySql(Sqlca, sqls22, null);
|
||||
List<Map<String,String>> dataList33=DataOperatorUtil.getDataBySql(Sqlca, sqls33, null);
|
||||
|
||||
/**
|
||||
* 将数据插入中间表的SQL
|
||||
*/
|
||||
// 未逾期及逾期未过月(经销商代偿)
|
||||
String sql11 = "INSERT INTO LV_RENT_PLAN ( SELECT REPLACE(UUID(), '-', ''), CONCAT('k', getSerialNumber ('凭证号')), CI.CUSTOMER_NUM, CI.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, O.ID, DATE_FORMAT(O.INPUTTIME, '%Y/%m/%d') AS HIRE_DATE, LRP.PLAN_LIST, (IFNULL(O.CORPUS,0)+IFNULL(O.INTEREST,0)) AS RENT, IFNULL(O.CORPUS,0) AS CORPUS, IFNULL(O.INTEREST,0) AS INTEREST, 0.00 AS PENALTY, '' OWN_BANK, '' OWN_ACCOUNT, '' OWN_NUMBER, '' EBANK_NUMBER, '' CARDDEDUCT_ID, DATE_FORMAT(O.INPUTTIME, '%Y/%m/%d') AS ACCOUNTING_DATE, LRP.COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID ) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND DATE_FORMAT(O.INPUTTIME, '%Y-%m') = DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') AND LV.INCOME_ID IS NULL AND IFNULL(O.CORPUS, 0) + IFNULL(O.INTEREST, 0) > 0)";
|
||||
// 逾期过月(经销商代偿)
|
||||
String sql22 = "INSERT INTO LV_RENT_PLAN2 ( SELECT REPLACE(UUID(), '-', ''), CONCAT('k', getSerialNumber ('凭证号')), CI.CUSTOMER_NUM, CI.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, O.ID, DATE_FORMAT(O.INPUTTIME, '%Y/%m/%d') AS HIRE_DATE, LRP.PLAN_LIST, (IFNULL(O.CORPUS,0)+IFNULL(O.INTEREST,0)) AS RENT, IFNULL(O.CORPUS,0) AS CORPUS, IFNULL(O.INTEREST,0) AS INTEREST, 0.00 AS PENALTY, '' OWN_BANK, '' OWN_ACCOUNT, '' OWN_NUMBER, '' EBANK_NUMBER, '' CARDDEDUCT_ID, DATE_FORMAT(O.INPUTTIME, '%Y/%m/%d') AS ACCOUNTING_DATE, LRP.COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID ) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND DATE_FORMAT(O.INPUTTIME, '%Y-%m') <> DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') AND LV.INCOME_ID IS NULL AND IFNULL(O.CORPUS, 0) + IFNULL(O.INTEREST, 0) > 0) ";
|
||||
// 逾期利息(经销商代偿)
|
||||
String sql33 = "INSERT INTO LV_PENALTY_PLAN ( SELECT REPLACE(UUID(), '-', ''), CONCAT('k', getSerialNumber ('凭证号')) AS VOUCHER_F3, CI.CUSTOMER_NUM, CI.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, O.ID, DATE_FORMAT(O.INPUTTIME, '%Y/%m/%d') AS HIRE_DATE, LRP.PLAN_LIST, 0.00 AS RENT, 0.00 AS CORPUS, 0.00 AS INTEREST, IFNULL(O.PENALTY,0) AS PENALTY, '' OWN_BANK, '' OWN_ACCOUNT, '' OWN_NUMBER, '' EBANK_NUMBER, '' CARDDEDUCT_ID, DATE_FORMAT(O.INPUTTIME, '%Y/%m/%d') AS ACCOUNTING_DATE, LRP.COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN (SELECT INCOME_ID FROM LV_PENALTY_PLAN GROUP BY INCOME_ID ) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND LV.INCOME_ID IS NULL AND IFNULL(O.PENALTY,0) > 0)";
|
||||
/**
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
*/
|
||||
if(dataList11 != null && !dataList11.isEmpty()) {
|
||||
SqlObject sqlss11 = new SqlObject(sql11);
|
||||
Sqlca.executeSQL(sqlss11);
|
||||
}
|
||||
if(dataList22 != null && !dataList22.isEmpty()) {
|
||||
SqlObject sqlss22 = new SqlObject(sql22);
|
||||
Sqlca.executeSQL(sqlss22);
|
||||
}
|
||||
if(dataList33 != null && !dataList33.isEmpty()) {
|
||||
SqlObject sqlss33 = new SqlObject(sql33);
|
||||
Sqlca.executeSQL(sqlss33);
|
||||
}
|
||||
Sqlca.commit();
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.disConnect();
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询数据, 判断是否需要执行插入中间表
|
||||
*/
|
||||
// 查询是否有当月的, 未生成凭证的数据(经销商代偿)
|
||||
String sqls11 = "SELECT O.ID FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND DATE_FORMAT(O.INPUTTIME, '%Y-%m') = DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') AND LV.INCOME_ID IS NULL AND IFNULL(O.CORPUS, 0) + IFNULL(O.INTEREST, 0) > 0";
|
||||
// 查询跨月的, 未生成凭证的数据(经销商代偿)
|
||||
String sqls22 = "SELECT O.ID FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND DATE_FORMAT(O.INPUTTIME, '%Y-%m') <> DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') AND LV.INCOME_ID IS NULL AND IFNULL(O.CORPUS, 0) + IFNULL(O.INTEREST, 0) > 0";
|
||||
// 查询当前数据是否有逾期利息(经销商代偿)
|
||||
String sqls33 = "SELECT O.ID FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID = O.RENT_PLAN_ID LEFT JOIN (SELECT INCOME_ID FROM LV_PENALTY_PLAN GROUP BY INCOME_ID) LV ON LV.INCOME_ID = O.ID WHERE O.MONEY_TYPE = 'bondRepay' AND DATE_FORMAT(O.INPUTTIME, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND LV.INCOME_ID IS NULL AND IFNULL(O.PENALTY, 0) > 0";
|
||||
/**
|
||||
* 将数据插入中间表
|
||||
*/
|
||||
String insertSql="";
|
||||
SqlObject sqlObj=null;
|
||||
String F3="";
|
||||
String ID="";
|
||||
// 当月代偿租金
|
||||
List<Map<String,String>> dataList11=DataOperatorUtil.getDataBySql(Sqlca, sqls11, null);
|
||||
if(dataList11 != null && !dataList11.isEmpty()) {
|
||||
for(int i=0;i<dataList11.size();i++) {
|
||||
F3="";
|
||||
ID="";
|
||||
try {
|
||||
F3="k"+FlowUtil.getVoucher_Number(Sqlca);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ID = dataList11.get(i).get("ID");
|
||||
// 未逾期及逾期未过月(经销商代偿)
|
||||
insertSql = "INSERT INTO LV_RENT_PLAN ( SELECT REPLACE(UUID(),'-',''), '"+F3+"', CI.CUSTOMER_NUM, CI.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, O.ID, DATE_FORMAT(O.INPUTTIME,'%Y/%m/%d') AS HIRE_DATE, LRP.PLAN_LIST, (IFNULL(O.CORPUS,0)+IFNULL(O.INTEREST,0)) AS RENT, IFNULL(O.CORPUS,0) AS CORPUS, IFNULL(O.INTEREST,0) AS INTEREST, 0.00 AS PENALTY, '' AS OWN_BANK, '' AS OWN_ACCOUNT, '' AS OWN_NUMBER, '' AS EBANK_NUMBER, '' AS CARDDEDUCT_ID, DATE_FORMAT(O.INPUTTIME,'%Y/%m/%d') AS ACCOUNTING_DATE, LRP.COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID ) LV ON LV.INCOME_ID=O.ID WHERE O.ID='"+ID+"' AND LV.INCOME_ID IS NULL )";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 逾期过月(经销商代偿)
|
||||
List<Map<String,String>> dataList22=DataOperatorUtil.getDataBySql(Sqlca, sqls22, null);
|
||||
if(dataList22 != null && !dataList22.isEmpty()) {
|
||||
for(int i=0;i<dataList22.size();i++) {
|
||||
F3="";
|
||||
ID="";
|
||||
try {
|
||||
F3="k"+FlowUtil.getVoucher_Number(Sqlca);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ID = dataList22.get(i).get("ID");
|
||||
insertSql = "INSERT INTO LV_RENT_PLAN2 ( SELECT REPLACE(UUID(),'-',''), '"+F3+"', CI.CUSTOMER_NUM, CI.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, O.ID, DATE_FORMAT(O.INPUTTIME,'%Y/%m/%d') AS HIRE_DATE, LRP.PLAN_LIST, (IFNULL(O.CORPUS,0)+IFNULL(O.INTEREST,0)) AS RENT, IFNULL(O.CORPUS,0) AS CORPUS, IFNULL(O.INTEREST,0) AS INTEREST, 0.00 AS PENALTY, '' AS OWN_BANK, '' AS OWN_ACCOUNT, '' AS OWN_NUMBER, '' AS EBANK_NUMBER, '' AS CARDDEDUCT_ID, DATE_FORMAT(O.INPUTTIME,'%Y/%m/%d') AS ACCOUNTING_DATE, LRP.COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID ) LV ON LV.INCOME_ID=O.ID WHERE O.ID='"+ID+"' AND LV.INCOME_ID IS NULL )";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 逾期利息(经销商代偿)
|
||||
List<Map<String,String>> dataList33=DataOperatorUtil.getDataBySql(Sqlca, sqls33, null);
|
||||
if(dataList33 != null && !dataList33.isEmpty()) {
|
||||
for(int i=0;i<dataList33.size();i++) {
|
||||
F3="";
|
||||
ID="";
|
||||
try {
|
||||
F3="k"+FlowUtil.getVoucher_Number(Sqlca);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ID = dataList33.get(i).get("ID");
|
||||
insertSql = "INSERT INTO LV_PENALTY_PLAN ( SELECT REPLACE(UUID(),'-',''), '"+F3+"' AS VOUCHER_F3, CI.CUSTOMER_NUM, CI.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, O.ID, DATE_FORMAT(O.INPUTTIME,'%Y/%m/%d') AS HIRE_DATE, LRP.PLAN_LIST, 0.00 AS RENT, 0.00 AS CORPUS, 0.00 AS INTEREST, IFNULL(O.PENALTY,0) AS PENALTY, '' AS OWN_BANK, '' AS OWN_ACCOUNT, '' AS OWN_NUMBER, '' AS EBANK_NUMBER, '' AS CARDDEDUCT_ID, DATE_FORMAT(O.INPUTTIME,'%Y/%m/%d') AS ACCOUNTING_DATE, LRP.COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM FROM D_DEPOSITRETURN_INFO O LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=O.RENT_PLAN_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID FROM LV_PENALTY_PLAN GROUP BY INCOME_ID ) LV ON LV.INCOME_ID=O.ID WHERE O.ID='"+ID+"' AND LV.INCOME_ID IS NULL )";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
Sqlca.commit();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,105 +159,169 @@ public class InsertVoucherRentCompensatory {
|
||||
* @param VOUCHERNO
|
||||
* @throws Exception
|
||||
*/
|
||||
public void CreateVoucher() throws Exception{
|
||||
public void CreateVoucher() {
|
||||
Transaction Sqlca =null;
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询中间表, 判断是否有数据需要执行
|
||||
*/
|
||||
/**
|
||||
* 汽车回租
|
||||
*/
|
||||
// 当月的租金(经销商代偿)-(汽车回租)
|
||||
String sqlqh11 = "SELECT O.ID FROM LV_RENT_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
// 本月以前的租金(经销商代偿)-(汽车回租)
|
||||
String sqlqh22 = "SELECT O.ID FROM LV_RENT_PLAN2 O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
// 逾期利息(经销商代偿)-(汽车回租)
|
||||
String sqlqh33 = "SELECT O.PENALTY FROM LV_PENALTY_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND F58 IS NOT NULL AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(O.PENALTY,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询中间表, 判断是否有数据需要执行
|
||||
*/
|
||||
/**
|
||||
* 汽车回租
|
||||
*/
|
||||
// 当月的租金(经销商代偿)-(汽车回租)
|
||||
String sqlqh11 = "SELECT O.ID FROM LV_RENT_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
// 本月以前的租金(经销商代偿)-(汽车回租)
|
||||
String sqlqh22 = "SELECT O.ID FROM LV_RENT_PLAN2 O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
// 逾期利息(经销商代偿)-(汽车回租)
|
||||
String sqlqh33 = "SELECT O.ID,O.PENALTY FROM LV_PENALTY_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND F58 IS NOT NULL AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22', '%Y-%m-%d') GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND IFNULL(O.PENALTY,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
|
||||
/**
|
||||
* 汽车直租
|
||||
*/
|
||||
// 当月的租金(经销商代偿)-(汽车直租)
|
||||
String sqlqz11 = "SELECT O.ID FROM LV_RENT_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
// 本月以前的租金(经销商代偿)-(汽车直租)
|
||||
String sqlqz22 = "SELECT O.ID FROM LV_RENT_PLAN2 O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
// 逾期利息(经销商代偿)-(汽车直租)
|
||||
String sqlqz33 = "SELECT O.PENALTY FROM LV_PENALTY_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND F58 IS NOT NULL AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(O.PENALTY,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车直租
|
||||
*/
|
||||
// 当月的租金(经销商代偿)-(汽车直租)
|
||||
String sqlqz11 = "SELECT O.ID FROM LV_RENT_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
// 本月以前的租金(经销商代偿)-(汽车直租)
|
||||
String sqlqz22 = "SELECT O.ID FROM LV_RENT_PLAN2 O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND IFNULL(O.RENT,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
// 逾期利息(经销商代偿)-(汽车直租)
|
||||
String sqlqz33 = "SELECT O.ID,O.PENALTY FROM LV_PENALTY_PLAN O LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND F58 IS NOT NULL AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22', '%Y-%m-%d') GROUP BY F58 ) V8 ON V8.F58=O.INCOME_ID WHERE DATE_FORMAT(O.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-22', '%Y-%m-%d') AND IFNULL(O.PENALTY,0)>0 AND O.BUSINESSTYPE='1' AND O.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
|
||||
/**
|
||||
* 汽车回租
|
||||
*/
|
||||
List<Map<String,String>> dataListqh11=DataOperatorUtil.getDataBySql(Sqlca, sqlqh11, null);
|
||||
List<Map<String,String>> dataListqh22=DataOperatorUtil.getDataBySql(Sqlca, sqlqh22, null);
|
||||
List<Map<String,String>> dataListqh33=DataOperatorUtil.getDataBySql(Sqlca, sqlqh33, null);
|
||||
/**
|
||||
* 汽车直租
|
||||
*/
|
||||
List<Map<String,String>> dataListqz11=DataOperatorUtil.getDataBySql(Sqlca, sqlqz11, null);
|
||||
List<Map<String,String>> dataListqz22=DataOperatorUtil.getDataBySql(Sqlca, sqlqz22, null);
|
||||
List<Map<String,String>> dataListqz33=DataOperatorUtil.getDataBySql(Sqlca, sqlqz33, null);
|
||||
|
||||
/**
|
||||
* 汽车类-回租
|
||||
*/
|
||||
// 收到的租金--经销商代偿-当月的-(汽车回租)
|
||||
String sql_whereqh11 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='6' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='6' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019053000000001') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(LVRI.RENT,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
// 收到的租金--经销商代偿-跨月的-(汽车回租)
|
||||
String sql_whereqh22 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019053000000002') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(LVRI.RENT,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
//收到的逾期利息--经销商代偿-(汽车回租)
|
||||
String sql_whereqh33 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('代偿逾期利息-',LVRI.PLAN_LIST) ELSE '代偿逾期利息' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.PENALTY ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, DI.DISTRIBUTOR_NAME AS F61, LV.LOAN_SUBJECT AS F62, DI.DISTRIBUTOR_CODING AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019053000000003') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-代偿逾期利息' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(LVRI.PENALTY,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
/**
|
||||
* 汽车类-直租
|
||||
*/
|
||||
// 收到的租金--经销商代偿-当月的-(汽车直租)
|
||||
String sql_whereqz11 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='3' THEN (LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='4' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='5' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='6' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='7' THEN ((LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) +(LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'利息',LCCT.START_DATE),2))) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='7' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='7' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='7' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='6' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='7' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000012') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(LVRI.RENT,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
// 收到的租金--经销商代偿-跨月的-(汽车直租)
|
||||
String sql_whereqz22 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000013') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(LVRI.RENT,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
//收到的逾期利息--经销商代偿-(汽车直租)
|
||||
String sql_whereqz33 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('代偿逾期利息-',LVRI.PLAN_LIST) ELSE '代偿逾期利息' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.PENALTY ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, DI.DISTRIBUTOR_NAME AS F61, LV.LOAN_SUBJECT AS F62, DI.DISTRIBUTOR_CODING AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000011') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-代偿逾期利息' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y-%m-%d') > DATE_FORMAT('2022-02-07', '%Y-%m-%d') AND IFNULL(LVRI.PENALTY,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
|
||||
/**
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
*/
|
||||
/**
|
||||
* 汽车回租
|
||||
*/
|
||||
if(dataListqh11 != null && !dataListqh11.isEmpty()) {
|
||||
SqlObject sqlsqh11 = new SqlObject(sql_whereqh11);
|
||||
Sqlca.executeSQL(sqlsqh11);
|
||||
}
|
||||
if(dataListqh22 != null && !dataListqh22.isEmpty()) {
|
||||
SqlObject sqlsqh22 = new SqlObject(sql_whereqh22);
|
||||
Sqlca.executeSQL(sqlsqh22);
|
||||
}
|
||||
if(dataListqh33 != null && !dataListqh33.isEmpty()) {
|
||||
SqlObject sqlsqh33 = new SqlObject(sql_whereqh33);
|
||||
Sqlca.executeSQL(sqlsqh33);
|
||||
}
|
||||
|
||||
/**
|
||||
* 汽车直租
|
||||
*/
|
||||
if(dataListqz11 != null && !dataListqz11.isEmpty()) {
|
||||
SqlObject sqlsqz11 = new SqlObject(sql_whereqz11);
|
||||
Sqlca.executeSQL(sqlsqz11);
|
||||
}
|
||||
if(dataListqz22 != null && !dataListqz22.isEmpty()) {
|
||||
SqlObject sqlsqz22 = new SqlObject(sql_whereqz22);
|
||||
Sqlca.executeSQL(sqlsqz22);
|
||||
}
|
||||
if(dataListqz33 != null && !dataListqz33.isEmpty()) {
|
||||
SqlObject sqlsqz33 = new SqlObject(sql_whereqz33);
|
||||
Sqlca.executeSQL(sqlsqz33);
|
||||
}
|
||||
Sqlca.commit();
|
||||
System.out.println("***********************************************************");
|
||||
System.out.println("**********************已生成代偿凭证**************************");
|
||||
System.out.println("***********************************************************");
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.disConnect();
|
||||
/**
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
* 汽车回租
|
||||
*/
|
||||
String insertSql="";
|
||||
SqlObject sqlObj=null;
|
||||
String ID="";
|
||||
// 收到的租金--经销商代偿-当月的-(汽车回租)
|
||||
List<Map<String,String>> dataListqh11=DataOperatorUtil.getDataBySql(Sqlca, sqlqh11, null);
|
||||
if(dataListqh11 != null && !dataListqh11.isEmpty()) {
|
||||
for(int i=0;i<dataListqh11.size();i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqh11.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='6' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='6' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019053000000001') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22','%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 收到的租金--经销商代偿-跨月的-(汽车回租)
|
||||
List<Map<String,String>> dataListqh22=DataOperatorUtil.getDataBySql(Sqlca, sqlqh22, null);
|
||||
if(dataListqh22 != null && !dataListqh22.isEmpty()) {
|
||||
for(int i=0;i<dataListqh22.size();i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqh22.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019053000000002') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22','%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
//收到的逾期利息--经销商代偿-(汽车回租)
|
||||
List<Map<String,String>> dataListqh33=DataOperatorUtil.getDataBySql(Sqlca, sqlqh33, null);
|
||||
if(dataListqh33 != null && !dataListqh33.isEmpty()) {
|
||||
for(int i=0;i<dataListqh33.size();i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqh33.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('代偿逾期利息-',LVRI.PLAN_LIST) ELSE '代偿逾期利息' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.PENALTY ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, DI.DISTRIBUTOR_NAME AS F61, LV.LOAN_SUBJECT AS F62, DI.DISTRIBUTOR_CODING AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019053000000003') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-代偿逾期利息' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22','%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 汽车直租
|
||||
*/
|
||||
// 收到的租金--经销商代偿-当月的-(汽车直租)
|
||||
List<Map<String,String>> dataListqz11=DataOperatorUtil.getDataBySql(Sqlca, sqlqz11, null);
|
||||
if(dataListqz11 != null && !dataListqz11.isEmpty()) {
|
||||
for(int i=0;i<dataListqz11.size();i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqz11.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='3' THEN (LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='4' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='5' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='6' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='7' THEN ((LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) +(LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'利息',LCCT.START_DATE),2))) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='7' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='7' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='7' THEN '' WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='6' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='7' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000012') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22','%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 收到的租金--经销商代偿-跨月的-(汽车直租)
|
||||
List<Map<String,String>> dataListqz22=DataOperatorUtil.getDataBySql(Sqlca, sqlqz22, null);
|
||||
if(dataListqz22 != null && !dataListqz22.isEmpty()) {
|
||||
for(int i=0;i<dataListqz22.size();i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqz22.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_NAME ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN DI.DISTRIBUTOR_CODING ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_PLAN2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000013') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-收到代偿的租金' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22','%Y-%m-%d') GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
List<Map<String,String>> dataListqz33=DataOperatorUtil.getDataBySql(Sqlca, sqlqz33, null);
|
||||
if(dataListqz33 != null && !dataListqz33.isEmpty()) {
|
||||
for(int i=0;i<dataListqz33.size();i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqz33.get(i).get("ID");
|
||||
//收到的逾期利息--经销商代偿-(汽车直租)
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('代偿逾期利息-',LVRI.PLAN_LIST) ELSE '代偿逾期利息' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.PENALTY ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, DI.DISTRIBUTOR_NAME AS F61, LV.LOAN_SUBJECT AS F62, DI.DISTRIBUTOR_CODING AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_PLAN LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.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 ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000011') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME='代偿-代偿逾期利息' AND DATE_FORMAT(GENERATE_DATE,'%Y-%m-%d')>DATE_FORMAT('2022-02-22','%Y-%m-%d') AND F58 IS NOT NULL GROUP BY F58 ) V8 ON V8.F58=LVRI.INCOME_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Sqlca.commit();
|
||||
System.out.println("***********************************************************");
|
||||
System.out.println("**********************已生成代偿凭证**************************");
|
||||
System.out.println("***********************************************************");
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
Sqlca.commit();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,18 +3,17 @@ package com.tenwa.voucher.CreateVoucherProcess;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle.IncomeVoucher;
|
||||
import com.tenwa.flow.util.FlowUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* 定时任务生成卡扣租金及逾期利息凭证
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class InsertVoucherRentIncome {
|
||||
private static final Logger logger = LoggerFactory.getLogger(InsertVoucherRentIncome.class);
|
||||
@ -33,115 +32,184 @@ public class InsertVoucherRentIncome {
|
||||
* 查询租金实收表, 将需要生成凭证的数据存入中间表
|
||||
* @throws Exception
|
||||
*/
|
||||
public void initLVRentIncome() throws Exception{
|
||||
public void initLVRentIncome() {
|
||||
Transaction Sqlca =null;
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
int a=0;
|
||||
int b=0;
|
||||
int c=0;
|
||||
/**
|
||||
* 查询数据, 判断是否需要执行插入中间表---改SQL别跨行
|
||||
*/
|
||||
// 查询是否有当月的, 未生成凭证的数据(卡扣)
|
||||
logger.info("InsertVoucherRentIncome 20210906 新增fc_yc_overdue_repay_plan联表查询代码【开始】");
|
||||
String sqls1="SELECT LRI.RENT FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRP.ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRP.ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND LRI.RENT>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 查询跨月的, 未生成凭证的数W据(卡扣)
|
||||
String sqls2="SELECT LRI.RENT FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRP.ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRP.ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND LRI.RENT>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 查询当前数据是否有逾期利息(卡扣)
|
||||
String sqls3="SELECT LRI.PENALTY FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_PENALTY_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL)";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询数据, 判断是否需要执行插入中间表---改SQL别跨行
|
||||
*/
|
||||
// 查询是否有当月的, 未生成凭证的数据(卡扣)
|
||||
logger.info("InsertVoucherRentIncome 20210906 新增fc_yc_overdue_repay_plan联表查询代码【开始】");
|
||||
String sqls1="SELECT LRI.ID,LRI.RENT FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRP.ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRP.ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND LRI.RENT>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 查询跨月的, 未生成凭证的数W据(卡扣)
|
||||
String sqls2="SELECT LRI.ID,LRI.RENT FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRP.ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRP.ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND LRI.RENT>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 查询当前数据是否有逾期利息(卡扣)
|
||||
String sqls3="SELECT LRI.ID,LRI.PENALTY FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_PENALTY_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL)";
|
||||
|
||||
// 代偿反冲租金
|
||||
String sqls4="SELECT LRI.RENT, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-收到代偿的租金' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXUnionPay','TLCollect') AND IFNULL(LRI.RENT,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲逾期利息
|
||||
String slqs5="SELECT LRI.PENALTY, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-代偿逾期利息' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXUnionPay','TLCollect') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲租金(微信)WXPay
|
||||
String sqls6="SELECT LRI.RENT, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-收到代偿的租金-微信' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('WXPay') AND IFNULL(LRI.RENT,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲逾期利息(微信)
|
||||
String slqs7="SELECT LRI.PENALTY, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-代偿逾期利息-微信' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('WXPay') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲租金
|
||||
String sqls4="SELECT LRI.RENT, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE (MODULE_NAME = '代偿反冲-收到代偿的租金' OR MODULE_NAME = '代偿反冲-收到代偿的租金-微信银联') AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXUnionPay','TLCollect') AND IFNULL(LRI.RENT,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲逾期利息
|
||||
String slqs5="SELECT LRI.PENALTY, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE (MODULE_NAME = '代偿反冲-代偿逾期利息' OR MODULE_NAME = '代偿反冲-代偿逾期利息-微信银联') AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXUnionPay','TLCollect') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲租金(微信)WXPay
|
||||
String sqls6="SELECT LRI.RENT, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-收到代偿的租金-微信' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('WXPay') AND IFNULL(LRI.RENT,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
// 代偿反冲逾期利息(微信)
|
||||
String slqs7="SELECT LRI.PENALTY, LRI.ID AS F56 FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.PAYMENT_NUMBER=LRI.PAYMENT_NUMBER AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN ( SELECT F56 FROM VOUCHER_V8 WHERE MODULE_NAME = '代偿反冲-代偿逾期利息-微信' AND (F56 IS NOT NULL AND F56<>'') GROUP BY F56 ) V8 ON V8.F56=LRI.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('WXPay') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND DDI.RENT_PLAN_ID IS NOT NULL AND V8.F56 IS NULL";
|
||||
|
||||
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null);
|
||||
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null);
|
||||
List<Map<String,String>> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null);
|
||||
List<Map<String,String>> dataList4=DataOperatorUtil.getDataBySql(Sqlca, sqls4, null);
|
||||
List<Map<String,String>> dataList5=DataOperatorUtil.getDataBySql(Sqlca, slqs5, null);
|
||||
List<Map<String,String>> dataList6=DataOperatorUtil.getDataBySql(Sqlca, sqls6, null);
|
||||
List<Map<String,String>> dataList7=DataOperatorUtil.getDataBySql(Sqlca, slqs7, null);
|
||||
logger.info("InsertVoucherRentIncome 20210906 新增fc_yc_overdue_repay_plan联表查询代码【结束】");
|
||||
/**
|
||||
* 将数据插入中间表的SQL
|
||||
*/
|
||||
// 未逾期及逾期未过月(卡扣)
|
||||
String sql1="INSERT INTO LV_RENT_INCOME ( SELECT REPLACE(UUID(),'-',''), CONCAT('k',GETSERIALNUMBER('凭证号')), CIF.CUSTOMER_NUM, CIF.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, LRP.ID, LRI.HIRE_DATE, LRP.PLAN_LIST, LRI.RENT, LRI.CORPUS, LRI.INTEREST, 0.00, LRI.OWN_BANK, LRI.OWN_ACCOUNT, LRI.OWN_NUMBER, LRI.EBANK_NUMBER, LRI.CARDDEDUCT_ID, LRI.ACCOUNTING_DATE, LRI.CHARGE_WAY AS COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM, LRI.ID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRI.PLAN_ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND LRI.RENT>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') )";
|
||||
// 逾期过月(卡扣)
|
||||
String sql2="INSERT INTO LV_RENT_INCOME2 ( SELECT REPLACE(UUID(),'-',''), CONCAT('k',GETSERIALNUMBER('凭证号')), CIF.CUSTOMER_NUM, CIF.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, LRP.ID, LRI.HIRE_DATE, LRP.PLAN_LIST, LRI.RENT, LRI.CORPUS, LRI.INTEREST, 0.00, LRI.OWN_BANK, LRI.OWN_ACCOUNT, LRI.OWN_NUMBER, LRI.EBANK_NUMBER, LRI.CARDDEDUCT_ID, LRI.ACCOUNTING_DATE, LRI.CHARGE_WAY AS COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM, LRI.ID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRI.PLAN_ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND LRI.RENT>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') )";
|
||||
// 逾期利息(卡扣)
|
||||
String sql3="INSERT INTO LV_PENALTY_INCOME ( SELECT REPLACE(UUID(),'-',''), CONCAT('k',GETSERIALNUMBER('凭证号')), CIF.CUSTOMER_NUM, CIF.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, LRP.ID, LRI.HIRE_DATE, LRP.PLAN_LIST, 0.00, 0.00, 0.00, LRI.PENALTY, LRI.OWN_BANK, LRI.OWN_ACCOUNT, LRI.OWN_NUMBER, LRI.EBANK_NUMBER, LRI.CARDDEDUCT_ID, LRI.ACCOUNTING_DATE, LRI.CHARGE_WAY AS COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM, LRI.ID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_PENALTY_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID LEFT JOIN FC_YC_OVERDUE_REPAY_PLAN FYORP ON FYORP.RENT_PLAN_ID=LRI.PLAN_ID WHERE DATE_FORMAT(LRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LRI.CHARGE_WAY IN ('AutoBuckle','WXPay','WXUnionPay','TLCollect') AND IFNULL(LRI.PENALTY,0)>0 AND FYORP.ID IS NULL AND (LV1.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) )";
|
||||
/**
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
*/
|
||||
if(dataList1 != null && !dataList1.isEmpty()) {
|
||||
SqlObject sqlss1 = new SqlObject(sql1);
|
||||
a = Sqlca.executeSQL(sqlss1);
|
||||
System.out.println("本次当月需生成卡扣租金凭证数据:"+a+"条 !");
|
||||
}
|
||||
if(dataList2 != null && !dataList2.isEmpty()) {
|
||||
SqlObject sqlss2 = new SqlObject(sql2);
|
||||
b = Sqlca.executeSQL(sqlss2);
|
||||
System.out.println("本次跨月需生成卡扣租金凭证数据:"+b+"条 !");
|
||||
}
|
||||
if(dataList3 != null && !dataList3.isEmpty()) {
|
||||
SqlObject sqlss3 = new SqlObject(sql3);
|
||||
c = Sqlca.executeSQL(sqlss3);
|
||||
System.out.println("本次需生成卡扣逾期利息凭证数据:"+c+"条 !");
|
||||
}
|
||||
Sqlca.commit();
|
||||
|
||||
/**
|
||||
* 收取租金时, 如果已经经销商代偿, 生成反冲代偿凭证; 将租金id存入集合, 遍历结合, 通过id生成凭证
|
||||
*/
|
||||
CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory();
|
||||
List<String> list = new ArrayList<String>();
|
||||
for (Map<String, String> map1 : dataList4) {
|
||||
if(!list.contains(map1.get("F56"))){
|
||||
list.add(map1.get("F56"));
|
||||
/**
|
||||
* 将数据插入中间表的SQL
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
*/
|
||||
String insertSql="";
|
||||
String ID="";
|
||||
String F3="";
|
||||
SqlObject sqlObj=null;
|
||||
// 未逾期及逾期未过月(卡扣)
|
||||
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null);
|
||||
if(dataList1 != null && !dataList1.isEmpty()) {
|
||||
for(int i=0; i<dataList1.size(); i++) {
|
||||
F3="";
|
||||
ID="";
|
||||
try {
|
||||
F3="k"+FlowUtil.getVoucher_Number(Sqlca);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ID = dataList1.get(i).get("ID");
|
||||
insertSql="INSERT INTO LV_RENT_INCOME ( SELECT REPLACE(UUID(),'-',''), '"+F3+"', CIF.CUSTOMER_NUM, CIF.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, LRP.ID, LRI.HIRE_DATE, LRP.PLAN_LIST, LRI.RENT, LRI.CORPUS, LRI.INTEREST, 0.00, LRI.OWN_BANK, LRI.OWN_ACCOUNT, LRI.OWN_NUMBER, LRI.EBANK_NUMBER, LRI.CARDDEDUCT_ID, LRI.ACCOUNTING_DATE, LRI.CHARGE_WAY AS COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM, LRI.ID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRI.PLAN_ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID WHERE LRI.ID='"+ID+"' AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) )";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("本次当月需生成卡扣租金凭证数据:"+dataList1.size()+"条 !");
|
||||
}
|
||||
}
|
||||
for (Map<String, String> map2 : dataList5) {
|
||||
if(!list.contains(map2.get("F56"))){
|
||||
list.add(map2.get("F56"));
|
||||
// 逾期过月(卡扣)
|
||||
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null);
|
||||
if(dataList2 != null && !dataList2.isEmpty()) {
|
||||
for(int i=0; i<dataList2.size(); i++) {
|
||||
F3="";
|
||||
ID="";
|
||||
try {
|
||||
F3="k"+FlowUtil.getVoucher_Number(Sqlca);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ID = dataList2.get(i).get("ID");
|
||||
insertSql="INSERT INTO LV_RENT_INCOME2 ( SELECT REPLACE(UUID(),'-',''), '"+F3+"', CIF.CUSTOMER_NUM, CIF.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, LRP.ID, LRI.HIRE_DATE, LRP.PLAN_LIST, LRI.RENT, LRI.CORPUS, LRI.INTEREST, 0.00, LRI.OWN_BANK, LRI.OWN_ACCOUNT, LRI.OWN_NUMBER, LRI.EBANK_NUMBER, LRI.CARDDEDUCT_ID, LRI.ACCOUNTING_DATE, LRI.CHARGE_WAY AS COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM, LRI.ID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_RENT_INCOME2 GROUP BY INCOME_ID, LRI_ID ) LV2 ON LV2.INCOME_ID=LRI.PLAN_ID AND LV2.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID WHERE LRI.ID='"+ID+"' AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) )";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("本次跨月需生成卡扣租金凭证数据:"+dataList2.size()+"条 !");
|
||||
}
|
||||
}
|
||||
List<String> list2 = new ArrayList<String>();
|
||||
for (Map<String, String> map1 : dataList6) {
|
||||
if(!list2.contains(map1.get("F56"))){
|
||||
list2.add(map1.get("F56"));
|
||||
// 逾期利息(卡扣)
|
||||
List<Map<String,String>> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null);
|
||||
if(dataList3 != null && !dataList3.isEmpty()) {
|
||||
for(int i=0; i<dataList3.size(); i++) {
|
||||
F3="";
|
||||
ID="";
|
||||
try {
|
||||
F3="k"+FlowUtil.getVoucher_Number(Sqlca);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ID = dataList3.get(i).get("ID");
|
||||
insertSql="INSERT INTO LV_PENALTY_INCOME ( SELECT REPLACE(UUID(),'-',''), '"+F3+"', CIF.CUSTOMER_NUM, CIF.CUSTOMERNAME, LCI.ID, LCI.CONTRACT_NUMBER, LRP.ID, LRI.HIRE_DATE, LRP.PLAN_LIST, 0.00, 0.00, 0.00, LRI.PENALTY, LRI.OWN_BANK, LRI.OWN_ACCOUNT, LRI.OWN_NUMBER, LRI.EBANK_NUMBER, LRI.CARDDEDUCT_ID, LRI.ACCOUNTING_DATE, LRI.CHARGE_WAY AS COLLECT_STATUS, LCI.BUSINESSTYPE, LCI.LEAS_FORM, LRI.ID FROM LC_RENT_INCOME LRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRI.CONTRACT_ID AND LRP.PLAN_LIST=LRI.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID AND LUL.IS_MAIN='Y' LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID=LUL.CUSTOMER_ID LEFT JOIN ( SELECT INCOME_ID, LRI_ID FROM LV_PENALTY_INCOME GROUP BY INCOME_ID, LRI_ID ) LV1 ON LV1.INCOME_ID=LRI.PLAN_ID AND LV1.LRI_ID=LRI.ID LEFT JOIN ( SELECT RENT_PLAN_ID FROM D_DEPOSITRETURN_INFO WHERE MONEY_TYPE='bondRepay' AND IFNULL(PENALTY,0)>0 GROUP BY RENT_PLAN_ID ) DDI ON DDI.RENT_PLAN_ID=LRP.ID WHERE LRI.ID='"+ID+"' AND (LV1.INCOME_ID IS NULL AND DDI.RENT_PLAN_ID IS NULL) )";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("本次需生成卡扣逾期利息凭证数据:"+dataList3.size()+"条 !");
|
||||
}
|
||||
}
|
||||
for (Map<String, String> map2 : dataList7) {
|
||||
if(!list2.contains(map2.get("F56"))){
|
||||
list2.add(map2.get("F56"));
|
||||
}
|
||||
}
|
||||
List<Map<String,String>> dataList4=DataOperatorUtil.getDataBySql(Sqlca, sqls4, null);
|
||||
List<Map<String,String>> dataList5=DataOperatorUtil.getDataBySql(Sqlca, slqs5, null);
|
||||
List<Map<String,String>> dataList6=DataOperatorUtil.getDataBySql(Sqlca, sqls6, null);
|
||||
List<Map<String,String>> dataList7=DataOperatorUtil.getDataBySql(Sqlca, slqs7, null);
|
||||
logger.info("InsertVoucherRentIncome 20210906 新增fc_yc_overdue_repay_plan联表查询代码【结束】");
|
||||
Sqlca.commit();
|
||||
|
||||
for (String F56 : list) {
|
||||
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
|
||||
cvrc.CreateVoucher("PZ2019071500000030", "admin",F56);// 代偿反冲-收到的租金
|
||||
cvrc.CreateVoucher("PZ2019071500000031", "admin",F56);// 代偿反冲-收到的逾期利息
|
||||
System.out.println("***********************************************************");
|
||||
System.out.println("**********************代偿反冲凭证收成**************************");
|
||||
System.out.println("***********************************************************");
|
||||
}
|
||||
for (String F56 : list2) {
|
||||
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
|
||||
cvrc.CreateVoucher("PZ2020070600000001", "admin",F56);// 代偿反冲-收到的租金(微信)
|
||||
cvrc.CreateVoucher("PZ2020070600000002", "admin",F56);// 代偿反冲-收到的逾期利息(微信)
|
||||
System.out.println("***********************************************************");
|
||||
System.out.println("**********************代偿反冲凭证收成**************************");
|
||||
System.out.println("***********************************************************");
|
||||
}
|
||||
/**
|
||||
* 收取租金时, 如果已经经销商代偿, 生成反冲代偿凭证; 将租金id存入集合, 遍历结合, 通过id生成凭证
|
||||
*/
|
||||
CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory();
|
||||
List<String> list = new ArrayList<String>();
|
||||
|
||||
if(Sqlca!=null){
|
||||
Sqlca.disConnect();
|
||||
for (Map<String, String> map1 : dataList4) {
|
||||
if(!list.contains(map1.get("F56"))){
|
||||
list.add(map1.get("F56"));
|
||||
}
|
||||
}
|
||||
for (Map<String, String> map2 : dataList5) {
|
||||
if(!list.contains(map2.get("F56"))){
|
||||
list.add(map2.get("F56"));
|
||||
}
|
||||
}
|
||||
List<String> list2 = new ArrayList<String>();
|
||||
for (Map<String, String> map1 : dataList6) {
|
||||
if(!list2.contains(map1.get("F56"))){
|
||||
list2.add(map1.get("F56"));
|
||||
}
|
||||
}
|
||||
for (Map<String, String> map2 : dataList7) {
|
||||
if(!list2.contains(map2.get("F56"))){
|
||||
list2.add(map2.get("F56"));
|
||||
}
|
||||
}
|
||||
|
||||
for (String F56 : list) {
|
||||
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
|
||||
cvrc.CreateVoucher("PZ2019071500000030", "admin",F56);// 代偿反冲-收到的租金
|
||||
cvrc.CreateVoucher("PZ2019071500000031", "admin",F56);// 代偿反冲-收到的逾期利息
|
||||
System.out.println("***********************************************************");
|
||||
System.out.println("**********************代偿反冲凭证收成**************************");
|
||||
System.out.println("***********************************************************");
|
||||
}
|
||||
for (String F56 : list2) {
|
||||
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
|
||||
cvrc.CreateVoucher("PZ2020070600000001", "admin",F56);// 代偿反冲-收到的租金(微信)
|
||||
cvrc.CreateVoucher("PZ2020070600000002", "admin",F56);// 代偿反冲-收到的逾期利息(微信)
|
||||
System.out.println("***********************************************************");
|
||||
System.out.println("**********************代偿反冲凭证收成**************************");
|
||||
System.out.println("***********************************************************");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
Sqlca.commit();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Sqlca.disConnect();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,184 +218,296 @@ public class InsertVoucherRentIncome {
|
||||
* @param VOUCHERNO
|
||||
* @throws Exception
|
||||
*/
|
||||
public void CreateVoucher() throws Exception{
|
||||
public void CreateVoucher() {
|
||||
Transaction Sqlca =null;
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询中间表, 判断是否有数据需要执行
|
||||
*/
|
||||
/**
|
||||
* 汽车回租-卡扣
|
||||
*/
|
||||
// 当月的租金(卡扣)-(汽车回租)
|
||||
String sqlqh1="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(卡扣)-(汽车回租)
|
||||
String sqlqh2="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(卡扣)-(汽车回租)
|
||||
String sqlqh3="SELECT LVRI.PENALTY, LVRI.INCOME_ID AS F58 FROM LV_PENALTY_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车直租-卡扣
|
||||
*/
|
||||
// 当月的租金(卡扣)-(汽车直租)
|
||||
String sqlqz1="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(卡扣)-(汽车直租)
|
||||
String sqlqz2="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(卡扣)-(汽车直租)
|
||||
String sqlqz3="SELECT LVRI.PENALTY, LVRI.INCOME_ID AS F58 FROM LV_PENALTY_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车回租-微信
|
||||
*/
|
||||
// 当月的租金(微信)-(汽车回租)
|
||||
String sqlWh1="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(微信)-(汽车回租)
|
||||
String sqlWh2="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(微信)-(汽车回租)
|
||||
String sqlWh3="SELECT LVRI.PENALTY, LVRI.INCOME_ID AS F58 FROM LV_PENALTY_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车回租-微信银联
|
||||
*/
|
||||
// 当月的租金(微信)-(汽车直租)
|
||||
String sqlWYh1="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(微信)-(汽车直租)
|
||||
String sqlWYh2="SELECT LVRI.RENT, LVRI.INCOME_ID AS F58 FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(微信)-(汽车直租)
|
||||
String sqlWYh3="SELECT LVRI.PENALTY, LVRI.INCOME_ID AS F58 FROM LV_PENALTY_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
try {
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
/**
|
||||
* 查询中间表, 判断是否有数据需要执行
|
||||
*/
|
||||
/**
|
||||
* 汽车回租-卡扣
|
||||
*/
|
||||
// 当月的租金(卡扣)-(汽车回租)
|
||||
String sqlqh1="SELECT LVRI.ID FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(卡扣)-(汽车回租)
|
||||
String sqlqh2="SELECT LVRI.ID FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(卡扣)-(汽车回租)
|
||||
String sqlqh3="SELECT LVRI.ID FROM LV_PENALTY_INCOME LVRI LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车直租-卡扣
|
||||
*/
|
||||
// 当月的租金(卡扣)-(汽车直租)
|
||||
String sqlqz1="SELECT LVRI.ID FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(卡扣)-(汽车直租)
|
||||
String sqlqz2="SELECT LVRI.ID FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(卡扣)-(汽车直租)
|
||||
String sqlqz3="SELECT LVRI.ID FROM LV_PENALTY_INCOME LVRI LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车回租-微信
|
||||
*/
|
||||
// 当月的租金(微信)-(汽车回租)
|
||||
String sqlWh1="SELECT LVRI.ID FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(微信)-(汽车回租)
|
||||
String sqlWh2="SELECT LVRI.ID FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(微信)-(汽车回租)
|
||||
String sqlWh3="SELECT LVRI.ID FROM LV_PENALTY_INCOME LVRI LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
/**
|
||||
* 汽车回租-微信银联
|
||||
*/
|
||||
// 当月的租金(微信)-(汽车直租)
|
||||
String sqlWYh1="SELECT LVRI.ID FROM LV_RENT_INCOME LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 本月以前的租金(微信)-(汽车直租)
|
||||
String sqlWYh2="SELECT LVRI.ID FROM LV_RENT_INCOME2 LVRI LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LVRI.CONTRACT_ID AND LRP.ID=LVRI.INCOME_ID LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.RENT>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL AND DATE_FORMAT(NOW(),'%Y-%m')<>DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m')";
|
||||
// 逾期利息(微信)-(汽车直租)
|
||||
String sqlWYh3="SELECT LVRI.ID FROM LV_PENALTY_INCOME LVRI LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-22','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.PENALTY>0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND V8.F58 IS NULL";
|
||||
|
||||
/**
|
||||
* 汽车回租-卡扣
|
||||
*/
|
||||
List<Map<String,String>> dataListqh1=DataOperatorUtil.getDataBySql(Sqlca, sqlqh1, null);
|
||||
List<Map<String,String>> dataListqh2=DataOperatorUtil.getDataBySql(Sqlca, sqlqh2, null);
|
||||
List<Map<String,String>> dataListqh3=DataOperatorUtil.getDataBySql(Sqlca, sqlqh3, null);
|
||||
/**
|
||||
* 汽车直租-卡扣
|
||||
*/
|
||||
List<Map<String,String>> dataListqz1= DataOperatorUtil.getDataBySql(Sqlca, sqlqz1, null);
|
||||
List<Map<String,String>> dataListqz2= DataOperatorUtil.getDataBySql(Sqlca, sqlqz2, null);
|
||||
List<Map<String,String>> dataListqz3= DataOperatorUtil.getDataBySql(Sqlca, sqlqz3, null);
|
||||
/**
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
* 汽车回租-卡扣
|
||||
*/
|
||||
String insertSql="";
|
||||
SqlObject sqlObj=null;
|
||||
String ID="";
|
||||
// 收到的租金--卡扣-当月的-(汽车回租)
|
||||
List<Map<String,String>> dataListqh1=DataOperatorUtil.getDataBySql(Sqlca, sqlqh1, null);
|
||||
if(dataListqh1 != null && !dataListqh1.isEmpty()) {
|
||||
for(int i=0; i<dataListqh1.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqh1.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2018082100000142') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 收到的租金--卡扣-跨月的-(汽车回租)
|
||||
List<Map<String,String>> dataListqh2=DataOperatorUtil.getDataBySql(Sqlca, sqlqh2, null);
|
||||
if(dataListqh2 != null && !dataListqh2.isEmpty()) {
|
||||
for(int i=0; i<dataListqh2.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqh2.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2018082100000143') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
//收到的逾期利息--卡扣-(汽车回租)
|
||||
List<Map<String,String>> dataListqh3=DataOperatorUtil.getDataBySql(Sqlca, sqlqh3, null);
|
||||
if(dataListqh3 != null && !dataListqh3.isEmpty()) {
|
||||
for(int i=0; i<dataListqh3.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqh3.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-卡扣-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2018082100000144') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 汽车直租-卡扣
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车直租)
|
||||
List<Map<String,String>> dataListqz1= DataOperatorUtil.getDataBySql(Sqlca, sqlqz1, null);
|
||||
if(dataListqz1 != null && !dataListqz1.isEmpty()) {
|
||||
for(int i=0; i<dataListqz1.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqz1.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='3' THEN (LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='4' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='5' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='6' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='7' THEN ((LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) +(LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'利息',LCCT.START_DATE),2))) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='7' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='7' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='7' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='6' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='7' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000008') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 收到的租金--卡扣-跨月的-(汽车直租)
|
||||
List<Map<String,String>> dataListqz2= DataOperatorUtil.getDataBySql(Sqlca, sqlqz2, null);
|
||||
if(dataListqz2 != null && !dataListqz2.isEmpty()) {
|
||||
for(int i=0; i<dataListqz2.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqz2.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000009') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
List<Map<String,String>> dataListqz3= DataOperatorUtil.getDataBySql(Sqlca, sqlqz3, null);
|
||||
//收到的逾期利息--卡扣-(汽车直租)
|
||||
if(dataListqz3 != null && !dataListqz3.isEmpty()) {
|
||||
for(int i=0; i<dataListqz3.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListqz3.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-卡扣-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000007') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 汽车回租-微信
|
||||
*/
|
||||
List<Map<String,String>> dataListWh1=DataOperatorUtil.getDataBySql(Sqlca, sqlWh1, null);
|
||||
List<Map<String,String>> dataListWh2=DataOperatorUtil.getDataBySql(Sqlca, sqlWh2, null);
|
||||
List<Map<String,String>> dataListWh3=DataOperatorUtil.getDataBySql(Sqlca, sqlWh3, null);
|
||||
/**
|
||||
* 汽车直租-微信
|
||||
*/
|
||||
List<Map<String,String>> dataListWYh1= DataOperatorUtil.getDataBySql(Sqlca, sqlWYh1, null);
|
||||
List<Map<String,String>> dataListWYh2= DataOperatorUtil.getDataBySql(Sqlca, sqlWYh2, null);
|
||||
List<Map<String,String>> dataListWYh3= DataOperatorUtil.getDataBySql(Sqlca, sqlWYh3, null);
|
||||
/**
|
||||
* 汽车回租-微信
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车回租)
|
||||
List<Map<String,String>> dataListWh1=DataOperatorUtil.getDataBySql(Sqlca, sqlWh1, null);
|
||||
if(dataListWh1 != null && !dataListWh1.isEmpty()) {
|
||||
for(int i=0; i<dataListWh1.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListWh1.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信-',LVRI.PLAN_LIST) ELSE '收到的租金-微信' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '北京安鹏昌达资产管理有限公司' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN '807001002013' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120900000160') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 收到的租金--卡扣-跨月的-(汽车回租)
|
||||
List<Map<String,String>> dataListWh2=DataOperatorUtil.getDataBySql(Sqlca, sqlWh2, null);
|
||||
if(dataListWh2 != null && !dataListWh2.isEmpty()) {
|
||||
for(int i=0; i<dataListWh2.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListWh2.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信-',LVRI.PLAN_LIST) ELSE '收到的租金-微信' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '北京安鹏昌达资产管理有限公司' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN '807001002013' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120900000161') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
//收到的逾期利息--卡扣-(汽车回租)
|
||||
List<Map<String,String>> dataListWh3=DataOperatorUtil.getDataBySql(Sqlca, sqlWh3, null);
|
||||
if(dataListWh3 != null && !dataListWh3.isEmpty()) {
|
||||
for(int i=0; i<dataListWh3.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListWh3.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-微信-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-微信' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '北京安鹏昌达资产管理有限公司' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN '807001002013' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120900000159') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 汽车类-回租-卡扣
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车回租)
|
||||
String sql_whereqh1 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2018082100000142') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
// 收到的租金--卡扣-跨月的-(汽车回租)
|
||||
String sql_whereqh2 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2018082100000143') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
//收到的逾期利息--卡扣-(汽车回租)
|
||||
String sql_whereqh3 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-卡扣-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2018082100000144') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.PENALTY>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
/**
|
||||
* 汽车类-直租-卡扣
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车直租)
|
||||
String sql_whereqz1 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='3' THEN (LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='4' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='5' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='6' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='7' THEN ((LVRI.CORPUS-ROUND(LVRI.CORPUS/GETTAX(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) +(LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'利息',LCCT.START_DATE),2))) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='7' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='7' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='7' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='6' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='7' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000008') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
// 收到的租金--卡扣-跨月的-(汽车直租)
|
||||
String sql_whereqz2 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-卡扣-',LVRI.PLAN_LIST) ELSE '收到的租金-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000009') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.RENT>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
//收到的逾期利息--卡扣-(汽车直租)
|
||||
String sql_whereqz3 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-卡扣-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-卡扣' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019070100000007') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(卡扣)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS IN ('AutoBuckle','TLCollect') AND LVRI.PENALTY>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='01' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
/**
|
||||
* 汽车类-回租-微信
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车回租)
|
||||
String sql_whereWh1 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信-',LVRI.PLAN_LIST) ELSE '收到的租金-微信' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '北京安鹏昌达资产管理有限公司' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN '807001002013' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120900000160') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND LVRI.RENT>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
// 收到的租金--卡扣-跨月的-(汽车回租)
|
||||
String sql_whereWh2 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信-',LVRI.PLAN_LIST) ELSE '收到的租金-微信' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '北京安鹏昌达资产管理有限公司' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN '807001002013' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120900000161') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND IFNULL(LVRI.RENT,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL AND LVRI.RENT>0 ORDER BY LVRI.VOUCHER_F3";
|
||||
//收到的逾期利息--卡扣-(汽车回租)
|
||||
String sql_whereWh3 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-微信-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-微信' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '北京安鹏昌达资产管理有限公司' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN '807001002013' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120900000159') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXPay' AND IFNULL(LVRI.PENALTY,0)>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
/**
|
||||
* 汽车类-回租-微信银联
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车回租)
|
||||
String sql_whereWYh1 = "INSERT INTO VOUCHER_V8 ( ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(), '-', '') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR( CASE WHEN ( LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE = '' ) THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT( LVRI.ACCOUNTING_DATE, '%Y/%m/%d' ) END, 1, 4 ) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT( '收到的租金-微信银联-', LVRI.PLAN_LIST ) ELSE '收到的租金-微信银联' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER = '1' THEN LVRI.RENT WHEN LV.SORT_NUMBER = '2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER = '3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER = '4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER = '5' THEN ROUND( LVRI.INTEREST / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) WHEN LV.SORT_NUMBER = '6' THEN ( LVRI.INTEREST - ROUND( LVRI.INTEREST / GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN ( LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE = '' ) THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT( LVRI.ACCOUNTING_DATE, '%Y/%m/%d' ) END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR( CASE WHEN ( LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE = '' ) THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT( LVRI.ACCOUNTING_DATE, '%Y/%m/%d' ) END, 1, 4 ) AS F51, SUBSTR( CASE WHEN ( LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE = '' ) THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT( LVRI.ACCOUNTING_DATE, '%Y/%m/%d' ) END, 6, 2 ) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER = '1' OR LV.SORT_NUMBER = '6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER = '1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER = '6' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER = '1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER = '6' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER = '5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER = '6' THEN (SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER = ROUND( ( GETTAX ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ) - 1 ) * 100, 0 )) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION = '1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER) OI ON OI.OWN_NAME = LCI.SUBJECTNAME LEFT JOIN (SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID = LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID = LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120500000153')) LV ON LV.PROJ_TYPE = LCI.LEAS_FORM LEFT JOIN (SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58,F56) V8 ON V8.F58 = LVRI.INCOME_ID AND V8.F56 = LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE, '%Y/%m/%d') > DATE_FORMAT('2022-02-07', '%Y/%m/%d') AND LVRI.COLLECT_STATUS = 'WXUnionPay' AND IFNULL(LVRI.RENT, 0) > 0 AND LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
// 收到的租金--卡扣-跨月的-(汽车回租)
|
||||
String sql_whereWYh2 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信银联-',LVRI.PLAN_LIST) ELSE '收到的租金-微信银联' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120500000154') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.RENT>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
//收到的逾期利息--卡扣-(汽车回租)
|
||||
String sql_whereWYh3 = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-微信银联-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-微信银联' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120500000155') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE DATE_FORMAT(LVRI.HIRE_DATE,'%Y/%m/%d')>DATE_FORMAT('2022-02-07','%Y/%m/%d') AND LVRI.COLLECT_STATUS='WXUnionPay' AND LVRI.PENALTY>0 AND LCI.BUSINESSTYPE='1' AND LCI.LEAS_FORM='02' AND V8.F58 IS NULL ORDER BY LVRI.VOUCHER_F3";
|
||||
|
||||
/**
|
||||
* 根据查询语句判断, 有值才执行插入SQL
|
||||
*/
|
||||
/**
|
||||
* 汽车回租-卡扣
|
||||
*/
|
||||
if(dataListqh1 != null && !dataListqh1.isEmpty()) {
|
||||
SqlObject sqlsqh1 = new SqlObject(sql_whereqh1);
|
||||
Sqlca.executeSQL(sqlsqh1);
|
||||
/**
|
||||
* 汽车直租-微信
|
||||
*/
|
||||
// 收到的租金--卡扣-当月的-(汽车回租)
|
||||
List<Map<String,String>> dataListWYh1= DataOperatorUtil.getDataBySql(Sqlca, sqlWYh1, null);
|
||||
if(dataListWYh1 != null && !dataListWYh1.isEmpty()) {
|
||||
for(int i=0; i<dataListWYh1.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListWYh1.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信银联-',LVRI.PLAN_LIST) ELSE '收到的租金-微信银联' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT WHEN LV.SORT_NUMBER='2' THEN LVRI.INTEREST ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='3' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='4' THEN LVRI.INTEREST WHEN LV.SORT_NUMBER='5' THEN ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='6' THEN (LVRI.INTEREST-ROUND(LVRI.INTEREST/GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' OR LV.SORT_NUMBER='6' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='6' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='5' THEN '0604' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='6' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120500000153') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
// 收到的租金--卡扣-跨月的-(汽车回租)
|
||||
List<Map<String,String>> dataListWYh2= DataOperatorUtil.getDataBySql(Sqlca, sqlWYh2, null);
|
||||
if(dataListWYh2 != null && !dataListWYh2.isEmpty()) {
|
||||
for(int i=0; i<dataListWYh2.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListWYh2.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-微信银联-',LVRI.PLAN_LIST) ELSE '收到的租金-微信银联' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.RENT ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN LVRI.CORPUS WHEN LV.SORT_NUMBER='3' THEN LVRI.INTEREST ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='1' THEN '' ELSE LCI.CONTRACT_NUMBER END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' ELSE LVRI.CUST_ID END AS F65, '' AS F73, '' AS F74, '' AS F75, '' AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_RENT_INCOME2 LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120500000154') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%-收到的租金(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
//收到的逾期利息--卡扣-(汽车回租)
|
||||
List<Map<String,String>> dataListWYh3= DataOperatorUtil.getDataBySql(Sqlca, sqlWYh3, null);
|
||||
if(dataListWYh3 != null && !dataListWYh3.isEmpty()) {
|
||||
for(int i=0; i<dataListWYh3.size(); i++) {
|
||||
ID="";
|
||||
try {
|
||||
ID = dataListWYh3.get(i).get("ID");
|
||||
insertSql = "INSERT INTO VOUCHER_V8 (ID, EVIDENCE_MESSAGE, PERIODYEAR, F15, F2, F3, F5, F6, F7, F8, F12, F1, F49, F50, F51, F52, F56, F59, F60, F61, F62, F65, F73, F74, F75, F76, V8_STATUS, GENERATE_DATE, V8_FLAG, MODULE_NAME, ENTRYDC, INPUTUSERID, F58, F67, F47, F48 ) SELECT REPLACE(UUID(),'-','') AS ID, '凭证输出' AS EVIDENCE_MESSAGE, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS PERIODYEAR, LVRI.HIRE_DATE AS F15, LV.SUBJECTS_CODE AS F2, LVRI.VOUCHER_F3 AS F3, CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的逾期利息-微信银联-',LVRI.PLAN_LIST) ELSE '收到的逾期利息-微信银联' END AS F5, LV.LOAN_SUBJECT AS F6, CASE WHEN LV.SORT_NUMBER='1' THEN LVRI.PENALTY ELSE 0.00 END AS F7, CASE WHEN LV.SORT_NUMBER='2' THEN ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) WHEN LV.SORT_NUMBER='3' THEN LVRI.PENALTY-(ROUND(LVRI.PENALTY/GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) ELSE 0.00 END AS F8, '定时任务-每天生成租金实收凭证' AS F12, CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END AS F1, LCI.SUBJECTID AS F49, LCI.SUBJECTNAME AS F50, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS F51, SUBSTR(CASE WHEN (LVRI.ACCOUNTING_DATE IS NULL OR LVRI.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(LVRI.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS F52, LVRI.LRI_ID AS F56, LV.SORT_NUMBER AS F59, CASE WHEN LV.SORT_NUMBER='2' THEN LCI.CONTRACT_NUMBER ELSE '' END AS F60, CASE WHEN LV.SORT_NUMBER='1' THEN '汽车C端待查客户' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_NAME END AS F61, LV.LOAN_SUBJECT AS F62, CASE WHEN LV.SORT_NUMBER='1' THEN 'APZL00000000DC' WHEN LV.SORT_NUMBER='3' THEN '' ELSE LVRI.CUST_ID END AS F65, CASE WHEN LV.SORT_NUMBER='2' THEN '0603' ELSE '' END AS F73, '' AS F74, '' AS F75, CASE WHEN LV.SORT_NUMBER='3' THEN ( SELECT TAX_CODES FROM TAX_CODE WHERE TAX_NUMBER=ROUND((GETTAX(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) ) ELSE '' END AS F76, '已完整' AS V8_STATUS, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') AS GENERATE_DATE, '0' AS V8_FLAG, LV.MODULAR_NUMBER AS MODULE_NAME, CASE WHEN LV.LOAN_DIRECTION='1' THEN '1' ELSE '-1' END AS ENTRYDC, 'admin' AS INPUTUSERID, LVRI.INCOME_ID AS F58, LCI.LEAS_FORM AS F67, LCI.CONTRACT_NUMBER, OI.OWN_NUMBER FROM LV_PENALTY_INCOME LVRI LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LVRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN ( SELECT OWN_NUMBER, MAX(OWN_NAME) AS OWN_NAME FROM OWN_INFO GROUP BY OWN_NUMBER ) OI ON OI.OWN_NAME=LCI.SUBJECTNAME LEFT JOIN ( SELECT LVC.PROJ_TYPE, LVL.ID, LVL.LOAN_DIRECTION, LVC.OWNED_COMPANY, LVL.SORT_NUMBER, LVL.LOAN_SUBJECT, LVC.MODULAR_NUMBER, LSC.SUBJECTS_CODE FROM LV_VOUCHER_CONFIG LVC LEFT JOIN LV_VOUCHER_LOAN LVL ON LVL.VOUCHER_ID=LVC.ID LEFT JOIN LV_STACTS_CONFIG LSC ON LSC.ID=LVL.LOAN_SUBJECT WHERE LVC.VOUCHER_NO IN ('PZ2019120500000155') ) LV ON LV.PROJ_TYPE=LCI.LEAS_FORM LEFT JOIN ( SELECT F58, F56 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到的逾期利息(微信银联)%' AND F58 IS NOT NULL AND F56 IS NOT NULL GROUP BY F58, F56 ) V8 ON V8.F58=LVRI.INCOME_ID AND V8.F56=LVRI.LRI_ID WHERE LVRI.ID='"+ID+"' AND V8.F58 IS NULL";
|
||||
sqlObj = new SqlObject(insertSql);
|
||||
Sqlca.executeSQL(sqlObj);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e) {
|
||||
Sqlca.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Sqlca.commit();
|
||||
System.out.println("*******************merge20210906****************************************");
|
||||
System.out.println("**********************租金回笼定时任务执行完成*********************");
|
||||
System.out.println("***********************************************************");
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null){
|
||||
try {
|
||||
Sqlca.commit();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Sqlca.disConnect();;
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
if(dataListqh2 != null && !dataListqh2.isEmpty()) {
|
||||
SqlObject sqlsqh2 = new SqlObject(sql_whereqh2);
|
||||
Sqlca.executeSQL(sqlsqh2);
|
||||
}
|
||||
if(dataListqh3 != null && !dataListqh3.isEmpty()) {
|
||||
SqlObject sqlsqh3 = new SqlObject(sql_whereqh3);
|
||||
Sqlca.executeSQL(sqlsqh3);
|
||||
}
|
||||
|
||||
/**
|
||||
* 汽车直租-卡扣
|
||||
*/
|
||||
if(dataListqz1 != null && !dataListqz1.isEmpty()) {
|
||||
SqlObject sqlsqz1 = new SqlObject(sql_whereqz1);
|
||||
Sqlca.executeSQL(sqlsqz1);
|
||||
}
|
||||
if(dataListqz2 != null && !dataListqz2.isEmpty()) {
|
||||
SqlObject sqlsqz2 = new SqlObject(sql_whereqz2);
|
||||
Sqlca.executeSQL(sqlsqz2);
|
||||
}
|
||||
if(dataListqz3 != null && !dataListqz3.isEmpty()) {
|
||||
SqlObject sqlsqz3 = new SqlObject(sql_whereqz3);
|
||||
Sqlca.executeSQL(sqlsqz3);
|
||||
}
|
||||
/**
|
||||
* 汽车回租-微信
|
||||
*/
|
||||
if(dataListWh1 != null && !dataListWh1.isEmpty()) {
|
||||
SqlObject sqlsWh1 = new SqlObject(sql_whereWh1);
|
||||
Sqlca.executeSQL(sqlsWh1);
|
||||
}
|
||||
if(dataListWh2 != null && !dataListWh2.isEmpty()) {
|
||||
SqlObject sqlsWh2 = new SqlObject(sql_whereWh2);
|
||||
Sqlca.executeSQL(sqlsWh2);
|
||||
}
|
||||
if(dataListWh3 != null && !dataListWh3.isEmpty()) {
|
||||
SqlObject sqlsWh3 = new SqlObject(sql_whereWh3);
|
||||
Sqlca.executeSQL(sqlsWh3);
|
||||
}
|
||||
|
||||
/**
|
||||
* 汽车回租-微信银联
|
||||
*/
|
||||
if(dataListWYh1 != null && !dataListWYh1.isEmpty()) {
|
||||
SqlObject sqlsWYh1 = new SqlObject(sql_whereWYh1);
|
||||
Sqlca.executeSQL(sqlsWYh1);
|
||||
}
|
||||
if(dataListWYh2 != null && !dataListWYh2.isEmpty()) {
|
||||
SqlObject sqlsWYh2 = new SqlObject(sql_whereWYh2);
|
||||
Sqlca.executeSQL(sqlsWYh2);
|
||||
}
|
||||
if(dataListWYh3 != null && !dataListWYh3.isEmpty()) {
|
||||
SqlObject sqlsWYh3 = new SqlObject(sql_whereWYh3);
|
||||
Sqlca.executeSQL(sqlsWYh3);
|
||||
}
|
||||
|
||||
Sqlca.commit();
|
||||
if(Sqlca!=null){
|
||||
Sqlca.disConnect();
|
||||
}
|
||||
System.out.println("*******************merge20210906****************************************");
|
||||
System.out.println("**********************租金回笼定时任务执行完成*********************");
|
||||
System.out.println("***********************************************************");
|
||||
}
|
||||
}
|
||||
|
||||
@ -469,4 +469,8 @@ public interface LB_EQUIPMENT_CAR{
|
||||
* ±êʶ STRING(32)<br>
|
||||
*/
|
||||
public static final String uu_id = "uu_id";
|
||||
/**
|
||||
* 标识租赁物是否结清 STRING(32)<br>
|
||||
*/
|
||||
public static final String TERMINATE_TYPE = "TERMINATE_TYPE";
|
||||
}
|
||||
@ -457,4 +457,10 @@ public interface LB_EQUIPMENT_CAR_TEMP{
|
||||
* ±êʶ STRING(32)<br>
|
||||
*/
|
||||
public static final String uu_id = "uu_id";
|
||||
|
||||
/**
|
||||
* 标识租赁物是否结清 STRING(32)<br>
|
||||
*/
|
||||
public static final String TERMINATE_TYPE = "TERMINATE_TYPE";
|
||||
|
||||
}
|
||||
@ -177,4 +177,24 @@ public interface LC_FUND_RENT_ADJUST{
|
||||
* 商定还款日息差 STRING(32)<br>
|
||||
*/
|
||||
public static final String AGREED_DATEPENALTY = "AGREED_DATEPENALTY";
|
||||
/**
|
||||
* 结清方式 STRING(32)<br>
|
||||
*/
|
||||
public static final String SETTLE_METHOD = "SETTLE_METHOD";
|
||||
/**
|
||||
* 租赁物比重 STRING(32)<br>
|
||||
*/
|
||||
public static final String PROPROTION_NUMBER = "PROPROTION_NUMBER";
|
||||
/**
|
||||
* 融资金额(元) STRING(32)<br>
|
||||
*/
|
||||
public static final String CLEAN_LEASE_MONEY = "CLEAN_LEASE_MONEY";
|
||||
/**
|
||||
* 部分结清车辆未到期本金 STRING(32)<br>
|
||||
*/
|
||||
public static final String PREMATURE_MONEY = "PREMATURE_MONEY";
|
||||
/**
|
||||
* 剩余车辆未到期本金 STRING(32)<br>
|
||||
*/
|
||||
public static final String RESIDUE_MONEY = "RESIDUE_MONEY";
|
||||
}
|
||||
@ -181,4 +181,24 @@ public interface LC_FUND_RENT_ADJUST_TEMP{
|
||||
* 商定还款日息差 STRING(32)<br>
|
||||
*/
|
||||
public static final String AGREED_DATEPENALTY = "AGREED_DATEPENALTY";
|
||||
/**
|
||||
* 结清方式 STRING(32)<br>
|
||||
*/
|
||||
public static final String SETTLE_METHOD = "SETTLE_METHOD";
|
||||
/**
|
||||
* 租赁物比重 STRING(32)<br>
|
||||
*/
|
||||
public static final String PROPROTION_NUMBER = "PROPROTION_NUMBER";
|
||||
/**
|
||||
* 融资金额(元) STRING(32)<br>
|
||||
*/
|
||||
public static final String CLEAN_LEASE_MONEY = "CLEAN_LEASE_MONEY";
|
||||
/**
|
||||
* 部分结清车辆未到期本金 STRING(32)<br>
|
||||
*/
|
||||
public static final String PREMATURE_MONEY = "PREMATURE_MONEY";
|
||||
/**
|
||||
* 剩余车辆未到期本金 STRING(32)<br>
|
||||
*/
|
||||
public static final String RESIDUE_MONEY = "RESIDUE_MONEY";
|
||||
}
|
||||
@ -101,4 +101,16 @@ public interface D_DEPOSITRETURN_INFO{
|
||||
* 连续代偿期数 STRING(32)<br>
|
||||
*/
|
||||
public static final String COMPENSATORY_CON = "COMPENSATORY_CON";
|
||||
/**
|
||||
* 本金 DOUBLE(22)<br>
|
||||
*/
|
||||
public static final String CORPUS = "CORPUS";
|
||||
/**
|
||||
* 利息 DOUBLE(22)<br>
|
||||
*/
|
||||
public static final String INTEREST = "INTEREST";
|
||||
/**
|
||||
* 罚息 DOUBLE(22)<br>
|
||||
*/
|
||||
public static final String PENALTY = "PENALTY";
|
||||
}
|
||||
@ -325,4 +325,8 @@ public interface LB_EQUIPMENT_CAR{
|
||||
* ±êʶ STRING(32)<br>
|
||||
*/
|
||||
public static final String uu_id = "uu_id";
|
||||
/**
|
||||
* 标识租赁物是否结清 STRING(32)<br>
|
||||
*/
|
||||
public static final String TERMINATE_TYPE = "TERMINATE_TYPE";
|
||||
}
|
||||
@ -321,4 +321,8 @@ public interface LB_EQUIPMENT_CAR_HIS{
|
||||
* ±êʶ STRING(32)<br>
|
||||
*/
|
||||
public static final String uu_id = "uu_id";
|
||||
/**
|
||||
* 标识租赁物是否结清 STRING(32)<br>
|
||||
*/
|
||||
public static final String TERMINATE_TYPE = "TERMINATE_TYPE";
|
||||
}
|
||||
@ -457,4 +457,8 @@ public interface LB_EQUIPMENT_CAR_TEMP{
|
||||
* ±êʶ STRING(32)<br>
|
||||
*/
|
||||
public static final String uu_id = "uu_id";
|
||||
/**
|
||||
* 标识租赁物是否结清 STRING(32)<br>
|
||||
*/
|
||||
public static final String TERMINATE_TYPE = "TERMINATE_TYPE";
|
||||
}
|
||||
28
src_jbo/jbo/sys/VI_CUSTOMER_DISTRIBUTOR.java
Normal file
28
src_jbo/jbo/sys/VI_CUSTOMER_DISTRIBUTOR.java
Normal file
@ -0,0 +1,28 @@
|
||||
package jbo.sys;
|
||||
|
||||
import java.lang.String;
|
||||
|
||||
/**
|
||||
* 客户和经销商名称 - JBO命名常量类<br><br>
|
||||
* Note: This file is generated by ADE tools, <em>dont</em> modify it.<br>
|
||||
|
||||
*/
|
||||
public interface VI_CUSTOMER_DISTRIBUTOR{
|
||||
/**
|
||||
* 客户和经销商名称<br><br>
|
||||
* 代表本类映射的BizObjectClass
|
||||
*/
|
||||
public static final String CLASS_NAME = "jbo.sys.VI_CUSTOMER_DISTRIBUTOR";
|
||||
/**
|
||||
* 对象编号 STRING(20)<br>
|
||||
*/
|
||||
public static final String flow_unid = "flow_unid";
|
||||
/**
|
||||
* 客户名称 STRING(20)<br>
|
||||
*/
|
||||
public static final String CUSTOMER_NAME = "CUSTOMER_NAME";
|
||||
/**
|
||||
* 经销商名称 STRING(20)<br>
|
||||
*/
|
||||
public static final String DISTRIBUTOR_NAME = "DISTRIBUTOR_NAME";
|
||||
}
|
||||
@ -51,7 +51,7 @@ WHERE ((`lci`.`CONTRACT_STATUS` = '31')
|
||||
WHERE ((`lorl`.`PAYMENT_NUMBER` = `lrp`.`PAYMENT_NUMBER`)
|
||||
AND ((lorl.plan_id=lrp.id
|
||||
AND (`lorl`.`FLOW_NAME` IN('微信银联收款','微信支付收款','网银收款')))
|
||||
OR lorl.flow_name IN ('合同中途终止')
|
||||
OR lorl.flow_name IN ('合同中途终止','提前结清申请')
|
||||
)
|
||||
)))))
|
||||
);
|
||||
@ -24,3 +24,10 @@ Insert Into AWE_Role_Menu (roleid,menuid) Values ('399','130');
|
||||
Insert Into AWE_Role_Menu (roleid,menuid) Values ('800R00000021','130');
|
||||
Insert Into AWE_Role_Menu (roleid,menuid) Values ('800R00000030','130');
|
||||
Insert Into AWE_Role_Menu (roleid,menuid) Values ('800R00000034','130');
|
||||
|
||||
-- 休眠流程添加休眠前和休眠后的本金是否一致
|
||||
Insert Into SCENARIO_CATALOG (scenarioid,scenarioname,scenariodescribe,defaultsubtypeno,initiateclass,inputuser,inputorg,inputtime,updateuser,updatetime,remark,isriskwarn) Values ('租金休眠流程','租金休眠流程','','10','',null,null,null,null,null,'',null);
|
||||
Insert Into SCENARIO_MODEL (scenarioid,modelid,sortno,modelname,modeldescribe,modeltype,subtypeno,runcondition,status,nopassdeal,passdeal,passmessage,nopassmessage,executescript,remark,inputuser,inputorg,inputtime,updateuser,updatetime,groupid,modelkind,bizviewer) Values ('租金休眠流程','0010','0010','融资金额','','20','','','1','10',null,'通过','休眠后的本金与原本金不相等!','select case when lcc.CLEAN_LEASE_MONEY-a.CORPUS=0 then "true" else "false" end from (select sum(CORPUS) as CORPUS,CONTRACT_ID from LC_RENT_PLAN_TEMP where FLOWUNID =''#{ObjectNo}'' group by CONTRACT_ID ) a left join lc_calc_condition lcc on a.contract_id =lcc.CONTRACT_ID','',null,null,null,null,null,null,null,null);
|
||||
Insert Into SCENARIO_GROUP (scenarioid,groupid,sortno,groupname,remark,inputuser,inputorg,inputtime,updateuser,updatetime) Values ('租金休眠流程','0010','0010','休眠申请','',null,null,null,null,null);
|
||||
Insert Into SCENARIO_RELATIVE (scenarioid,groupid,modelid) Values ('租金休眠流程','0010','0010');
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ public class SelectBalance {
|
||||
return "ERROR@剩余额度不足";
|
||||
}
|
||||
}
|
||||
return "ERROR@网络异常……";
|
||||
return "ERROR@经销商没有保证金";
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@ import com.gnete.security.crypt.CryptException;
|
||||
import com.tenwa.comm.util.date.DateAssistant;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.lease.app.allinpay.service.impl.AllinpayPaymentDo;
|
||||
import com.tenwa.lease.app.quartzmession.AutoRefresh;
|
||||
import com.tenwa.quartz.DateUtil;
|
||||
import jbo.app.tenwa.calc.LC_COLLECT_MANUAL_INFO;
|
||||
import jbo.app.tenwa.calc.LC_RENT_INCOME;
|
||||
@ -38,11 +39,16 @@ import java.text.DecimalFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class CollectAuditInfoCache {
|
||||
|
||||
private static final Lock lock = new ReentrantLock();
|
||||
|
||||
private static Log log = LogFactory.getLog(CollectAuditInfoCache.class);
|
||||
|
||||
private String id;
|
||||
@ -55,6 +61,7 @@ public class CollectAuditInfoCache {
|
||||
private String collectStyle;
|
||||
private String datas;
|
||||
private String jobName;
|
||||
private String operateFrom;
|
||||
|
||||
public String getDatas() {
|
||||
return datas;
|
||||
@ -729,12 +736,29 @@ public class CollectAuditInfoCache {
|
||||
bod.setAttributeValue("PLAN_LIST",bom.getAttribute("plan_list").toString());
|
||||
bod.setAttributeValue("RENT_PLAN_ID",bom.getAttribute("id").toString());
|
||||
bod.setAttributeValue("COMPENSATORY_CON",COMPENSATORY_CON);
|
||||
moneyHandle(bom.getAttribute("id").toString(),bod,tx);
|
||||
bd.saveObject(bod);
|
||||
//修改经销商信息表里的金额
|
||||
bdi.createQuery("update O set O.sums='"+account_balance+"' where O.distributor_no=:distributor_id").setParameter("distributor_id", distributor_id).executeUpdate();
|
||||
}
|
||||
return "总共有 "+i+" 笔租金收款成功\n"+j+" 笔租金收款失败";
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理本金,利息,罚息
|
||||
* @param planId
|
||||
* @param bo
|
||||
*/
|
||||
private void moneyHandle(String planId, BizObject bo, JBOTransaction tx) throws Exception {
|
||||
ASResultSet as2 = Transaction.createTransaction(tx).getASResultSet2("select * from vi_repay_money where plan_id = '" + planId + "';");
|
||||
if (as2.next()) {
|
||||
bo.setAttributeValue("corpus", as2.getStringValue("corpus"));
|
||||
bo.setAttributeValue("interest", as2.getStringValue("interest"));
|
||||
bo.setAttributeValue("penalty", as2.getStringValue("penalty"));
|
||||
}
|
||||
as2.close();
|
||||
}
|
||||
|
||||
private BigDecimal BigDecimal(String string) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
@ -835,37 +859,43 @@ public class CollectAuditInfoCache {
|
||||
* @throws Exception
|
||||
*/
|
||||
public String batchCollectManageManual(JBOTransaction tx) throws Exception{
|
||||
String[] ids = id.split("@");
|
||||
String datas_json = datas.replaceAll("@", ",");
|
||||
JSONObject object = JSON.parseObject(datas_json);
|
||||
StringBuffer parms = new StringBuffer();
|
||||
for (String str : ids) {
|
||||
if (parms.length()==0) {
|
||||
parms.append("'"+str+"'");
|
||||
}else{
|
||||
parms.append(",'"+str+"'");
|
||||
boolean lockHoldStatus = lock.tryLock();
|
||||
try {
|
||||
if (lockHoldStatus) {
|
||||
String[] ids = id.split("@");
|
||||
String datas_json = datas.replaceAll("@", ",");
|
||||
JSONObject object = JSON.parseObject(datas_json);
|
||||
StringBuffer parms = new StringBuffer();
|
||||
for (String str : ids) {
|
||||
if (parms.length()==0) {
|
||||
parms.append("'"+str+"'");
|
||||
}else{
|
||||
parms.append(",'"+str+"'");
|
||||
}
|
||||
}
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
|
||||
List<BizObject> bolistTL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent,O.project_id from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='TLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
List<BizObject> bolistYL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='YLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
if (bolistTL.size() != 0) {
|
||||
AllinpayPaymentDo apd = new AllinpayPaymentDo();
|
||||
for(BizObject bo:bolistTL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
apd.BatchCollectMoeny(tx, bolistTL);
|
||||
}
|
||||
if (bolistYL.size() != 0) {
|
||||
for(BizObject bo:bolistYL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
singleBatchCollectMoeny(tx, bolistYL);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (lockHoldStatus) lock.unlock();
|
||||
}
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
|
||||
List<BizObject> bolistTL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent,O.project_id from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='TLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
List<BizObject> bolistYL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='YLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
if (bolistTL.size() != 0) {
|
||||
AllinpayPaymentDo apd = new AllinpayPaymentDo();
|
||||
for(BizObject bo:bolistTL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
apd.BatchCollectMoeny(tx, bolistTL);
|
||||
}
|
||||
if (bolistYL.size() != 0) {
|
||||
for(BizObject bo:bolistYL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
singleBatchCollectMoeny(tx, bolistYL);
|
||||
}
|
||||
|
||||
return "·¢Æð¿Û¿îÉêÇë³É¹¦£¡";
|
||||
return lockHoldStatus ? "发起扣款申请成功!" : "禁止重复发起扣款";
|
||||
}
|
||||
/**
|
||||
* 检查定时任务是否正在运行
|
||||
@ -922,6 +952,11 @@ public class CollectAuditInfoCache {
|
||||
* @throws Exception
|
||||
*/
|
||||
public String queryBatchCollectStatus(JBOTransaction tx) throws Exception{
|
||||
if(!Objects.isNull(operateFrom)){
|
||||
if(AutoRefresh.getHoldLockStatus()){
|
||||
return "定时任务回盘中,禁止手工操作!";
|
||||
}
|
||||
}
|
||||
Transaction Sqlca = Transaction.createTransaction(tx);
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
|
||||
BizObjectManager bc = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
|
||||
@ -2012,4 +2047,12 @@ public class CollectAuditInfoCache {
|
||||
this.jobName = jobName;
|
||||
}
|
||||
|
||||
|
||||
public String getOperateFrom() {
|
||||
return operateFrom;
|
||||
}
|
||||
|
||||
public void setOperateFrom(String operateFrom) {
|
||||
this.operateFrom = operateFrom;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import com.amarsoft.awe.util.Transaction;
|
||||
import com.gnete.security.crypt.CryptException;
|
||||
import com.tenwa.comm.util.date.DateAssistant;
|
||||
import com.tenwa.lease.app.allinpay.service.impl.AllinpayPaymentDo;
|
||||
import com.tenwa.lease.app.quartzmession.AutoRefresh;
|
||||
import com.tenwa.quartz.DateUtil;
|
||||
import jbo.app.tenwa.calc.LC_COLLECT_MANUAL_INFO;
|
||||
import jbo.app.tenwa.calc.LC_RENT_INCOME;
|
||||
@ -36,11 +37,16 @@ import java.text.DecimalFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class CollectAuditInfoCacheTj {
|
||||
|
||||
private static final Lock lock = new ReentrantLock();
|
||||
|
||||
private static Log log = LogFactory.getLog(CollectAuditInfoCacheTj.class);
|
||||
|
||||
private String id;
|
||||
@ -53,6 +59,7 @@ public class CollectAuditInfoCacheTj {
|
||||
private String collectStyle;
|
||||
private String datas;
|
||||
private String jobName;
|
||||
private String operateFrom;
|
||||
|
||||
public String getDatas() {
|
||||
return datas;
|
||||
@ -833,38 +840,44 @@ public class CollectAuditInfoCacheTj {
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String batchCollectManageManual(JBOTransaction tx) throws Exception{
|
||||
String[] ids = id.split("@");
|
||||
String datas_json = datas.replaceAll("@", ",");
|
||||
JSONObject object = JSON.parseObject(datas_json);
|
||||
StringBuffer parms = new StringBuffer();
|
||||
for (String str : ids) {
|
||||
if (parms.length()==0) {
|
||||
parms.append("'"+str+"'");
|
||||
}else{
|
||||
parms.append(",'"+str+"'");
|
||||
public String batchCollectManageManual(JBOTransaction tx) throws Exception {
|
||||
boolean lockHoldStatus = lock.tryLock();
|
||||
try {
|
||||
if (lockHoldStatus) {
|
||||
String[] ids = id.split("@");
|
||||
String datas_json = datas.replaceAll("@", ",");
|
||||
JSONObject object = JSON.parseObject(datas_json);
|
||||
StringBuffer parms = new StringBuffer();
|
||||
for (String str : ids) {
|
||||
if (parms.length()==0) {
|
||||
parms.append("'"+str+"'");
|
||||
}else{
|
||||
parms.append(",'"+str+"'");
|
||||
}
|
||||
}
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
|
||||
List<BizObject> bolistTL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent,O.project_id from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='TLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
List<BizObject> bolistYL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='YLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
if (bolistTL.size() != 0) {
|
||||
AllinpayPaymentDo apd = new AllinpayPaymentDo();
|
||||
for(BizObject bo:bolistTL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
apd.BatchCollectMoeny(tx, bolistTL);
|
||||
}
|
||||
if (bolistYL.size() != 0) {
|
||||
for(BizObject bo:bolistYL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
singleBatchCollectMoeny(tx, bolistYL);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (lockHoldStatus) lock.unlock();
|
||||
}
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
|
||||
List<BizObject> bolistTL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent,O.project_id from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='TLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
List<BizObject> bolistYL = bm.createQuery("select distinct O.contract_id,O.plan_date,O.id,ca.ACC_NUMBER,ca.ACCOUNT,ca.BANK_NAME,O.rent from O , jbo.app.tenwa.customer.CUSTOMER_ACCOUNT ca where O.contract_id=ca.contract_id and collect_type='YLcollect' and O.id in ("+parms.toString()+")").getResultList(false);
|
||||
if (bolistTL.size() != 0) {
|
||||
AllinpayPaymentDo apd = new AllinpayPaymentDo();
|
||||
for(BizObject bo:bolistTL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
apd.BatchCollectMoeny(tx, bolistTL);
|
||||
}
|
||||
if (bolistYL.size() != 0) {
|
||||
for(BizObject bo:bolistYL){
|
||||
String plan_id = bo.getAttribute("id").toString();
|
||||
bo.setAttributeValue("rent", object.get(plan_id));
|
||||
}
|
||||
singleBatchCollectMoeny(tx, bolistYL);
|
||||
}
|
||||
|
||||
return "·¢Æð¿Û¿îÉêÇë³É¹¦£¡";
|
||||
return lockHoldStatus ? "发起扣款申请成功!" : "禁止重复发起扣款";
|
||||
}
|
||||
/**
|
||||
* 检查定时任务是否正在运行
|
||||
@ -922,6 +935,11 @@ public class CollectAuditInfoCacheTj {
|
||||
* @throws Exception
|
||||
*/
|
||||
public String queryBatchCollectStatus(JBOTransaction tx) throws Exception{
|
||||
if(!Objects.isNull(operateFrom)){
|
||||
if(AutoRefresh.getHoldLockStatus()){
|
||||
return "定时任务回盘中,禁止手工操作!";
|
||||
}
|
||||
}
|
||||
Transaction Sqlca = Transaction.createTransaction(tx);
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME);
|
||||
BizObjectManager bc = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
|
||||
@ -1631,7 +1649,7 @@ public class CollectAuditInfoCacheTj {
|
||||
try{
|
||||
trans = JBOFactory.createJBOTransaction();
|
||||
Transaction transaction = Transaction.createTransaction(trans);
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME);
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(LC_RENT_PLAN.CLASS_NAME,trans);
|
||||
BizObject bo = bm.createQuery("O.id=:id").setParameter("id", planId).getSingleResult(false);
|
||||
String itemsn0 = "";
|
||||
if (bo !=null) {
|
||||
@ -2019,5 +2037,11 @@ public class CollectAuditInfoCacheTj {
|
||||
this.jobName = jobName;
|
||||
}
|
||||
|
||||
public String getOperateFrom() {
|
||||
return operateFrom;
|
||||
}
|
||||
|
||||
public void setOperateFrom(String operateFrom) {
|
||||
this.operateFrom = operateFrom;
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,15 +174,7 @@ public class NewCustomerCompanyController{
|
||||
if(customernum!="" && customernum!=null && customernum.length()>0){
|
||||
newCustomer.setAttributeValue("customer_num", customernum);
|
||||
}else{
|
||||
//»ñÈ¡±àÂë¹æÔò
|
||||
String serinum=FlowUtil.getCustomer_Id(tx);
|
||||
String serin="";
|
||||
if(serinum.length()<15){
|
||||
for(int i=0;i<15-serinum.length();i++){
|
||||
serin+="0";
|
||||
}
|
||||
}
|
||||
newCustomer.setAttributeValue("customer_num", "APZLC"+serin+serinum);
|
||||
newCustomer.setAttributeValue("customer_num", FlowUtil.getCustomer_Number(true,"C"));
|
||||
}
|
||||
newCustomer.setAttributeValue("inputtime", DateAssistant.getTodayNow());
|
||||
custManager.saveObject(newCustomer);
|
||||
|
||||
@ -81,8 +81,8 @@ public class SmsController {
|
||||
String sendPassword = messageConfig.getAttribute("SENDER_PASSWORD_").getString();
|
||||
String sendUrl = messageConfig.getAttribute("SEND_MESSAGE_URL_").getString();
|
||||
HttpClient httpClient = new HttpClient();
|
||||
//余额查询的接口url
|
||||
String url = sendUrl+"?pwd="+sendPassword+"&username="+sendUsername;
|
||||
//余额查询的接口url,查询余额连接不一样,不能从页面配置的获取
|
||||
String url = "http://api.rcs6g.com/getBalance.api.php?pwd="+sendPassword+"&username="+sendUsername;
|
||||
GetMethod getMethod = new GetMethod(url);
|
||||
int statusCode = httpClient.executeMethod(getMethod);
|
||||
System.out.println("״̬Âë:"+statusCode);
|
||||
|
||||
@ -1,31 +1,32 @@
|
||||
package com.tenwa.lease.app.quartzmession;
|
||||
|
||||
import org.quartz.JobExecutionContext;
|
||||
|
||||
import com.amarsoft.are.util.StringFunction;
|
||||
import com.base.util.QuartzUtil;
|
||||
|
||||
|
||||
public class AutoFiveGradeClass {
|
||||
public String execute(JobExecutionContext arg0){
|
||||
private String curUserId;
|
||||
|
||||
public void setCurUserId(String curUserId) {
|
||||
this.curUserId = curUserId;
|
||||
}
|
||||
|
||||
public String execute() {
|
||||
AutoFiveGradeClassification autoFive = new AutoFiveGradeClassification();
|
||||
String startime = StringFunction.getTodayNow();
|
||||
Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId");
|
||||
String curUserId = userId == null? "system" : userId.toString();
|
||||
try {
|
||||
|
||||
String result= autoFive.autoFiveGradeClassification();
|
||||
if(result=="success"){
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "success", "³É¹¦", curUserId);
|
||||
return "success";
|
||||
}else{
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "error", "ʧ°Ü", curUserId);
|
||||
return "error";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "error", "ʧ°Ü", curUserId);
|
||||
try {
|
||||
String result = autoFive.autoFiveGradeClassification();
|
||||
if (result == "success") {
|
||||
QuartzUtil.insertLog(startime, "com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "success", "³É¹¦", curUserId);
|
||||
return "success";
|
||||
} else {
|
||||
QuartzUtil.insertLog(startime, "com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "error", "ʧ°Ü", curUserId);
|
||||
return "error";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
QuartzUtil.insertLog(startime, "com.tenwa.lease.app.quartzmession.AutoFiveGradeClass", "error", "ʧ°Ü", curUserId);
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,8 +93,12 @@ public class AutoFiveGradeClassification implements Job {
|
||||
//更新合同状态为100,105 分类状态
|
||||
sqlca.executeSQL("update LC_CALC_CONDITION_STATUS LCCS join lb_contract_info lci on LCCS.CONTRACT_ID = lci.ID set LCCS.FIVE_GRADE='ClassifyResult01',LCCS.FIVE_GRADE_DATE= date_format(curdate(),'%Y/%m/%d'),LCCS.FIVE_GRADE_DEMO=concat(date_format(curdate(),'%Y/%m/%d'),'日自动跑批') where lci.CONTRACT_STATUS in ('100','105') and LCCS.FIVE_GRADE <> 'ClassifyResult01'");
|
||||
|
||||
//更新合同状态为31分类状态
|
||||
//更新合同状态为31分类状态(逾期)
|
||||
sqlca.executeSQL("{call proc_autoFiveClassify()}");
|
||||
|
||||
//更新合同状态为31分类状态(未逾期,刚起租) 2022/03/15
|
||||
sqlca.executeSQL("{call proc_autoFiveClassify_normal()}");
|
||||
|
||||
sqlca.commit();
|
||||
List<BizObject> diList = JBOFactory.getBizObjectManager(DISTRIBUTOR_INFO.CLASS_NAME).createQuery("1=1").getResultList(false);
|
||||
for (BizObject bo : diList) {
|
||||
|
||||
@ -24,6 +24,15 @@ import java.util.concurrent.locks.ReentrantLock;
|
||||
public class AutoRefresh implements Job {
|
||||
|
||||
private static final Lock lock = new ReentrantLock();
|
||||
private static boolean isHoldLock = false;
|
||||
|
||||
public static boolean getHoldLockStatus() {
|
||||
return isHoldLock;
|
||||
}
|
||||
|
||||
public static Lock getQuartzLock() {
|
||||
return lock;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext arg0) throws JobExecutionException {
|
||||
@ -33,6 +42,7 @@ public class AutoRefresh implements Job {
|
||||
boolean lockHoldStatus = lock.tryLock();
|
||||
try {
|
||||
if (lockHoldStatus) {
|
||||
isHoldLock = true;
|
||||
CollectAuditInfoCache ca = new CollectAuditInfoCache();
|
||||
JBOTransaction tx = null;
|
||||
try {
|
||||
@ -85,7 +95,10 @@ public class AutoRefresh implements Job {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (lockHoldStatus) lock.unlock();
|
||||
if (lockHoldStatus) {
|
||||
lock.unlock();
|
||||
isHoldLock = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,9 +24,9 @@ public class CorpusSourceFundIncomeCreateVoucherJob implements Job {
|
||||
VoucherInfoService voucher = new FundIncomeVoucherPSBC();
|
||||
voucher.run();
|
||||
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.comm.message.controller.BusinessCancelJob", "success", "成功", curUserId);
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CorpusSourceFundIncomeCreateVoucherJob", "success", "成功", curUserId);
|
||||
} catch (Exception e) {
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.comm.message.controller.BusinessCancelJob", "error", "失败", curUserId);
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CorpusSourceFundIncomeCreateVoucherJob", "error", "失败", curUserId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.tenwa.lease.app.quartzmession;
|
||||
|
||||
import org.quartz.DisallowConcurrentExecution;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
@ -11,6 +12,7 @@ import com.tenwa.voucher.CreateVoucherProcess.InsertVoucherRentIncome;
|
||||
* 生成卡扣凭证明细-定时任务
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
@DisallowConcurrentExecution
|
||||
public class CreateVoucherRentIncomeMission implements Job {
|
||||
|
||||
@Override
|
||||
@ -29,9 +31,9 @@ public class CreateVoucherRentIncomeMission implements Job {
|
||||
InsertVoucherRentIncome ivri=new InsertVoucherRentIncome();
|
||||
ivri.execute();
|
||||
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.comm.message.controller.BusinessCancelJob", "success", "成功", curUserId);
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CreateVoucherRentIncomeMission", "success", "成功", curUserId);
|
||||
} catch (Exception e) {
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.comm.message.controller.BusinessCancelJob", "error", "失败", curUserId);
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CreateVoucherRentIncomeMission", "error", "失败", curUserId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -44,11 +44,11 @@ public class MarginDeduction implements Job{
|
||||
BizObjectManager lfiBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_INCOME");
|
||||
BizObjectManager lfpBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_PLAN");
|
||||
BizObjectManager vlrpBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.VI_LC_RENT_PLAN_NEW");
|
||||
List<Map<String,String>> listData = DataOperatorUtil.getDataBySql("select cast(lfp.PLAN_MONEY as decimal(18,2))-cast(ifnull(lfit.fact_money,'0') as decimal(18,2))-cast(IfNULL(lfi.fact_money,'0') as decimal(18,2)) as fact_money,lci.id as contractId " +
|
||||
List<Map<String,String>> listData = DataOperatorUtil.getDataBySql("select cast(sum(lfp.PLAN_MONEY) as decimal(18,2))-cast(ifnull(lfit.fact_money,'0') as decimal(18,2))-cast(IfNULL(lfi.fact_money,'0') as decimal(18,2)) as fact_money,lci.id as contractId " +
|
||||
"from lc_fund_plan lfp left join lb_contract_info lci on lci.id=lfp.CONTRACT_ID " +
|
||||
" left join (select sum(fact_money) fact_money,PAYMENT_NUMBER from lc_fund_income_temp where FEE_TYPE='feetype16' and is_flowing='0' and ROLL_BACK='0' group by PAYMENT_NUMBER) lfit on lfp.PAYMENT_NUMBER=lfit.PAYMENT_NUMBER " +
|
||||
" LEFT JOIN (SELECT SUM(fact_money) fact_money,PAYMENT_NUMBER FROM lc_fund_income WHERE FEE_TYPE='feetype16' AND ROLL_BACK='0' group by PAYMENT_NUMBER) lfi on lfp.PAYMENT_NUMBER=lfi.PAYMENT_NUMBER " +
|
||||
"where lci.BUSINESSTYPE='1' and lci.CONTRACT_STATUS='31' and lfp.FEE_TYPE='feetype16' and lfp.SETTLE_METHOD is not null ");
|
||||
"where lci.BUSINESSTYPE='1' and lci.CONTRACT_STATUS='31' and lfp.FEE_TYPE='feetype16' and lfp.SETTLE_METHOD is not null AND NOT EXISTS (SELECT 1 FROM lc_occupy_rent_list lorl WHERE lfp.PAYMENT_NUMBER = lorl.PAYMENT_NUMBER AND lorl.flow_name IN ('合同中途终止','微信银联收款','微信支付收款','网银收款','提前结清申请')) group by lci.id HAVING fact_money>0");
|
||||
if(listData!=null && listData.size() > 0 ){
|
||||
for (int i = 0; i < listData.size(); i++) {
|
||||
try {
|
||||
|
||||
@ -2,7 +2,10 @@ package com.tenwa.lease.flow.contract.commbusiness;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.awe.util.ASResultSet;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.context.ASUser;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
|
||||
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO;
|
||||
@ -12,12 +15,38 @@ public class LBInitContractStatusBusiness extends BaseBussiness {
|
||||
@Override
|
||||
public Object run(Transaction Sqlca) throws Exception {
|
||||
this.initBussinessParam(Sqlca);
|
||||
String flowname=(String)this.getAttribute("FlowName");
|
||||
String contractId=this.getAttribute("ContractId").toString();
|
||||
String settletype=this.getAttribute("settletype").toString();
|
||||
String contractStatus=this.getAttribute("ContractStatus").toString();
|
||||
String FlowUnid=this.getAttribute("FlowUnid").toString();
|
||||
BizObjectManager bom=JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME);
|
||||
String part = Sqlca.getString(" select case when min(TERMINATE_TYPE)=1 or min(TERMINATE_TYPE) is null then 'Y' else 'N' end from lb_equipment_car_temp lect where FLOWUNID = '"+FlowUnid+"' group by FLOWUNID");
|
||||
Sqlca.join(bom);
|
||||
if("提前结清".equals(flowname)&&"Y".equals(settletype)&&"Y".equals(part)) {
|
||||
contractStatus = "31";
|
||||
}else if("提前结清".equals(flowname)) {
|
||||
settle(Sqlca);
|
||||
}
|
||||
bom.createQuery("update O set CONTRACT_STATUS=:contractstatus where id=:contractid").setParameter("contractstatus", contractStatus).setParameter("contractid", contractId).executeUpdate();
|
||||
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
public void settle(Transaction Sqlca) throws Exception {
|
||||
this.initBussinessParam(Sqlca);
|
||||
String contractid = this.getAttribute("ContractId").toString();//当前用户对象
|
||||
String CurUser = this.getAttribute("CurUserID").toString(); //当前用户对象
|
||||
String flowunid = this.getAttribute("ObjectNo").toString(); //获取流程编号
|
||||
String insertSql = "insert into lb_contract_settlement select :contractId,:flowunid,curdate(),now(),:userId,max(lrp.PLAN_LIST)"
|
||||
+" from lb_contract_info lci left join lc_rent_plan lrp on lci.id = lrp.CONTRACT_ID "
|
||||
+" where lci.id=:contractId";
|
||||
SqlObject sqlObject = new SqlObject(insertSql)
|
||||
.setParameter("contractId", contractid)
|
||||
.setParameter("flowunid", flowunid)
|
||||
.setParameter("userId", CurUser);
|
||||
Sqlca.executeSQL(sqlObject);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,21 +1,17 @@
|
||||
package com.tenwa.lease.flow.contract.onhirechange;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.amarsoft.are.jbo.*;
|
||||
import com.amarsoft.dict.als.manage.CodeManager;
|
||||
import com.tenwa.comm.exception.BusinessException;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.action.comm.BaseFlowStartAction;
|
||||
import jbo.app.tenwa.calc.LC_CALC_CONDITION;
|
||||
import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT;
|
||||
import jbo.com.tenwa.lease.comm.LC_OCCUPY_RENT_LIST;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.tenwa.comm.exception.BusinessException;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.action.comm.BaseFlowStartAction;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
/**
|
||||
*/
|
||||
public class OnhireChangeFlowStartAction extends BaseFlowStartAction {
|
||||
@ -77,15 +73,16 @@ public class OnhireChangeFlowStartAction extends BaseFlowStartAction {
|
||||
}
|
||||
}
|
||||
|
||||
public void createCheck(JBOTransaction tx,BizObject flowBussiness) throws JBOException{
|
||||
public void createCheck(JBOTransaction tx,BizObject flowBussiness) throws Exception{
|
||||
String contractId=flowBussiness.getAttribute("contract_id").getString();
|
||||
String applyType=this.FlowParam.get("applyType");
|
||||
List<BizObject> conditions=JBOFactory.createBizObjectQuery(LC_CALC_CONDITION.CLASS_NAME,"contract_id=:contractid").setParameter("contractid", contractId).getResultList(false);
|
||||
BizObjectManager bm=JBOFactory.getBizObjectManager(LC_OCCUPY_RENT_LIST.CLASS_NAME, tx);
|
||||
for(BizObject condition:conditions)
|
||||
{
|
||||
BizObject bo=bm.newObject();
|
||||
bo.setAttributeValue("payment_number", condition.getAttribute("payment_number").getString());
|
||||
bo.setAttributeValue("flow_name","Æð×âºóºÏͬ±ä¸ü");
|
||||
bo.setAttributeValue("flow_name",CodeManager.getItemName("ApplyType", applyType));
|
||||
bo.setAttributeValue("flowunid", flowBussiness.getAttribute("flow_unid").toString());
|
||||
bm.saveObject(bo);
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.tenwa.lease.flow.contract.terminate;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.amarsoft.dict.als.manage.CodeManager;
|
||||
import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT;
|
||||
import jbo.com.tenwa.lease.comm.LC_OCCUPY_RENT_LIST;
|
||||
|
||||
@ -71,14 +72,15 @@ public class TerminateFlowStartAction extends BaseFlowStartAction {
|
||||
}
|
||||
}
|
||||
|
||||
public void createCheck(JBOTransaction tx,BizObject flowBussiness) throws JBOException{
|
||||
BizObjectManager bm=JBOFactory.getBizObjectManager(LC_OCCUPY_RENT_LIST.CLASS_NAME, tx);
|
||||
String payment_number=this.getFlowParam().get("payment_number");
|
||||
BizObject bo=bm.newObject();
|
||||
bo.setAttributeValue("payment_number", payment_number);
|
||||
bo.setAttributeValue("flow_name","合同中途终止");
|
||||
bo.setAttributeValue("flowunid", flowBussiness.getAttribute("flow_unid").toString());
|
||||
bm.saveObject(bo);
|
||||
public void createCheck(JBOTransaction tx, BizObject flowBussiness) throws Exception {
|
||||
BizObjectManager bm = JBOFactory.getBizObjectManager(LC_OCCUPY_RENT_LIST.CLASS_NAME, tx);
|
||||
String payment_number = this.getFlowParam().get("payment_number");
|
||||
String applyType = this.FlowParam.get("applyType");
|
||||
BizObject bo = bm.newObject();
|
||||
bo.setAttributeValue("payment_number", payment_number);
|
||||
bo.setAttributeValue("flow_name", CodeManager.getItemName("ApplyType", applyType));
|
||||
bo.setAttributeValue("flowunid", flowBussiness.getAttribute("flow_unid").toString());
|
||||
bm.saveObject(bo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,28 +1,41 @@
|
||||
package com.tenwa.lease.flow.project.commbusiness;
|
||||
|
||||
|
||||
import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.BizObjectQuery;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.amarsoft.awe.util.ASResultSet;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.context.ASUser;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.lease.flow.comm.service.LeaseFlowBaseService;
|
||||
import com.tenwa.lease.flow.comm.service.ServiceOperatorEnum;
|
||||
import com.tenwa.lease.flow.comm.serviceImp.LeaseFlowBaseServiceImp;
|
||||
|
||||
public class AdvanceSettleChangRent extends BaseBussiness{
|
||||
|
||||
@Override
|
||||
public Object run(Transaction tx) throws Exception {
|
||||
this.initBussinessParam(tx.getTransaction());
|
||||
String flowname=(String)this.getAttribute("FlowName");
|
||||
String settletype=this.getAttribute("settletype").toString();
|
||||
String FlowUnid=this.getAttribute("FlowUnid").toString();
|
||||
String part = tx.getString(" select case when min(TERMINATE_TYPE)=1 or min(TERMINATE_TYPE) is null then 'Y' else 'N' end from lb_equipment_car_temp lect where FLOWUNID = '"+FlowUnid+"' group by FLOWUNID");
|
||||
ASUser CurUser = ASUser.getUser(this.getAttribute("CurUserID").toString(), tx); //µ±Ç°Óû§¶ÔÏó
|
||||
String SQL="{call proc_terminate_bill_income('"+this.getAttribute("ContractId").toString()+"','"+this.getAttribute("ObjectNo").toString()+"','"+this.getAttribute("CurUserID").toString()+"','"+CurUser.getOrgID()+"')} ";
|
||||
SqlObject asql = new SqlObject(SQL);
|
||||
ASResultSet rs = null;
|
||||
rs = tx.getASResultSet(asql);
|
||||
if("Ìáǰ½áÇå".equals(flowname)&&"Y".equals(settletype)&&"Y".equals(part)) {
|
||||
Map<String,String> fromCondtion = new HashMap<String, String>();
|
||||
fromCondtion.put("FLOWUNID", FlowUnid);
|
||||
Map<String,String> otherProperty = new HashMap<String, String>();
|
||||
otherProperty.put("FLOWUNID", "");
|
||||
LeaseFlowBaseService service=new LeaseFlowBaseServiceImp();
|
||||
SqlObject sqlObject = new SqlObject("update lc_rent_income_temp set IS_FLOWING = '1' where FLOWUNID = '"+FlowUnid+"'");
|
||||
tx.executeSQL(sqlObject);
|
||||
service.copyRentIncomeInfo(tx, fromCondtion, null , otherProperty, ServiceOperatorEnum.TempToFormal,null);
|
||||
}else{
|
||||
String SQL="{call proc_terminate_bill_income('"+this.getAttribute("ContractId").toString()+"','"+this.getAttribute("ObjectNo").toString()+"','"+this.getAttribute("CurUserID").toString()+"','"+CurUser.getOrgID()+"')} ";
|
||||
SqlObject asql = new SqlObject(SQL);
|
||||
ASResultSet rs = null;
|
||||
rs = tx.getASResultSet(asql);
|
||||
}
|
||||
return "true";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,30 +1,5 @@
|
||||
package com.tenwa.lease.flow.project.commbusiness;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import jbo.app.tenwa.customer.CUSTOMER_ADDRESS;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_ADDRESS_TEMP;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_CERT;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_CERT_TEMP;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_COMPANY;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_COMPANY_TEMP;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_FAMILY;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_FAMILY_TEMP;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_INFO;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_INFO_TEMP;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_PERSON;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_PERSON_TEMP;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_TYPE;
|
||||
import jbo.app.tenwa.customer.CUSTOMER_TYPE_TEMP;
|
||||
import jbo.com.tenwa.lease.comm.VI_CUST_TENANT;
|
||||
import jbo.com.tenwa.lease.comm.CUST_PERSON_HIS;
|
||||
import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT;
|
||||
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE;
|
||||
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE_TEMP;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
@ -32,22 +7,34 @@ import com.amarsoft.awe.util.Transaction;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.lease.flow.project.businessapply.CustomerCompare;
|
||||
import jbo.app.tenwa.customer.*;
|
||||
import jbo.com.tenwa.lease.comm.CUST_PERSON_HIS;
|
||||
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE;
|
||||
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE_TEMP;
|
||||
import jbo.com.tenwa.lease.comm.VI_CUST_TENANT;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class LBCustomerRelaTempToFormalBusiness extends BaseBussiness {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Object run(Transaction Sqlca) throws Exception {
|
||||
this.initBussinessParam(Sqlca);
|
||||
String custType1 = "";
|
||||
String customeridForCust = "";
|
||||
// String custType = this.getAttribute("custType").toString();
|
||||
String ProjectId = this.getAttribute("ProjectId").toString();
|
||||
// String CustomerId = this.getAttribute("CustomerId").toString();
|
||||
String flowunid = this.getAttribute("FlowUnid").toString();
|
||||
//String certType = this.getAttribute("certType").toString();
|
||||
String certType = this.getAttribute("certtype").toString();
|
||||
//String certId = this.getAttribute("certNo").toString();
|
||||
String certId = this.getAttribute("certid").toString();
|
||||
|
||||
/**
|
||||
* 查询证件表与客户类型表, 如果已经有客户类型, 拷表时替换, 否则新增
|
||||
*/
|
||||
BizObjectManager bomCT1 = JBOFactory.getBizObjectManager(CUSTOMER_CERT.CLASS_NAME,Sqlca);
|
||||
BizObjectManager bomCTT1 = JBOFactory.getBizObjectManager(CUSTOMER_TYPE.CLASS_NAME,Sqlca); //客户类型临时表
|
||||
List<BizObject> boCT1 = bomCT1.createQuery("certtype='"+certType+"' and certid='"+certId+"'").getResultList(false);
|
||||
@ -63,62 +50,111 @@ public class LBCustomerRelaTempToFormalBusiness extends BaseBussiness {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Map<String,String>fromCondtion=new HashMap<String, String>();
|
||||
fromCondtion.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
Map<String,String>otherProperty=new HashMap<String, String>();
|
||||
Map<String,String>infoProperty=new HashMap<String, String>();
|
||||
Map<String,String>personProperty=new HashMap<String, String>();
|
||||
Map<String,String>companyProperty=new HashMap<String, String>();
|
||||
//1.处理存量客户 还是用之前的客户id 存到 关联表中(只有自然人能做存量客户)
|
||||
if("cust_type.cust".equals(custType1)){
|
||||
/**
|
||||
* 承租人临时表到正式表
|
||||
*/
|
||||
fromCondtion.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
String CustId1 = customeridForCust;
|
||||
otherProperty.put(LB_UNION_LESSEE.CUSTOMER_ID, CustId1);
|
||||
otherProperty.put(LB_UNION_LESSEE.PROJECT_ID, ProjectId);
|
||||
DataOperatorUtil.copySingleJBO(LB_UNION_LESSEE_TEMP.CLASS_NAME, fromCondtion, LB_UNION_LESSEE.CLASS_NAME, null, otherProperty, Sqlca);
|
||||
//VI_CUST_PERSON视图查出来6张表的所有信息
|
||||
|
||||
/**
|
||||
* VI_CUST_PERSON视图查出来6张表的所有信息
|
||||
* 正式表中只存储客户的最新的信息 所以通过 CustomerId 会查到唯一的一条 承租人
|
||||
* 将客户上一次的信息导入历史表之后,正式表做update操作
|
||||
*/
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("customerid",CustId1);
|
||||
//正式表中只存储客户的最新的信息 所以通过 CustomerId 会查到唯一的一条 承租人
|
||||
otherProperty.clear();
|
||||
otherProperty.put("STATUS","02");
|
||||
DataOperatorUtil.copySingleJBO(VI_CUST_TENANT.CLASS_NAME, fromCondtion, CUST_PERSON_HIS.CLASS_NAME, null, otherProperty, Sqlca);
|
||||
//将客户上一次的信息导入历史表之后,正式表做update操作
|
||||
//更新CUSTOMER_INFO信息
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("flowunid",flowunid);
|
||||
BizObject cibo = DataOperatorUtil.getJBOBySQL("flowunid=:flowunid", LB_UNION_LESSEE_TEMP.CLASS_NAME, fromCondtion, Sqlca);
|
||||
String custid2 = cibo.getAttribute("customer_id").toString();
|
||||
String custName = cibo.getAttribute("customer_name").toString();
|
||||
fromCondtion.put("customerid", custid2);//区别担保人和承租人
|
||||
otherProperty.clear();
|
||||
otherProperty.put("customerid", CustId1);
|
||||
/**
|
||||
* 查询客户正式表, 如果识别号有正式表数据, copy表用FLOWUNID做来源
|
||||
*/
|
||||
BizObjectManager bomCet = JBOFactory.getBizObjectManager("jbo.app.tenwa.customer.CUSTOMER_INFO",Sqlca);
|
||||
BizObject bo = bomCet.createQuery("certid='"+certId+"'").getSingleResult(false);
|
||||
if(bo!=null) {
|
||||
String CUSTOMERNAME = bo.getAttribute("CUSTOMERNAME").getString();
|
||||
/**
|
||||
* 更新表:
|
||||
* CUSTOMER_INFO_TEMP--> CUSTOMER_INFO
|
||||
*/
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("flowunid",flowunid);
|
||||
otherProperty.clear();
|
||||
otherProperty.put("customerid", CustId1);
|
||||
infoProperty.clear();
|
||||
infoProperty.put("customerid", CustId1);
|
||||
infoProperty.put("customername", CUSTOMERNAME);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_INFO_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_INFO.CLASS_NAME, otherProperty, infoProperty, Sqlca);
|
||||
/**
|
||||
* 更新表:
|
||||
* CUSTOMER_PERSON_TEMP-->CUSTOMER_PERSON
|
||||
* CUSTOMER_COMPANY_TEMP-->CUSTOMER_COMPANY
|
||||
*/
|
||||
personProperty.clear();
|
||||
personProperty.put("customerid", CustId1);
|
||||
personProperty.put("FULLNAME", CUSTOMERNAME);
|
||||
companyProperty.clear();
|
||||
companyProperty.put("customerid", CustId1);
|
||||
companyProperty.put("enterprisename", CUSTOMERNAME);
|
||||
if("03".equals(this.getAttribute("CustomerType"))){ // 自然人
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_PERSON_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_PERSON.CLASS_NAME, otherProperty, personProperty, Sqlca);
|
||||
}else{
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_COMPANY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_COMPANY.CLASS_NAME, otherProperty, companyProperty, Sqlca);
|
||||
}
|
||||
/**
|
||||
* 更新表:
|
||||
* CUSTOMER_ADDRESS_TEMP-->CUSTOMER_ADDRESS
|
||||
* CUSTOMER_CERT_TEMP-->CUSTOMER_CERT
|
||||
* CUSTOMER_TYPE_TEMP-->CUSTOMER_TYPE
|
||||
*/
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_ADDRESS_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_ADDRESS.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_CERT_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_CERT.CLASS_NAME, otherProperty, infoProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_TYPE_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_TYPE.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
}else {
|
||||
//更新CUSTOMER_INFO信息
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("flowunid",flowunid);
|
||||
BizObject cibo = DataOperatorUtil.getJBOBySQL("flowunid=:flowunid", LB_UNION_LESSEE_TEMP.CLASS_NAME, fromCondtion, Sqlca);
|
||||
String custid2 = cibo.getAttribute("customer_id").toString();
|
||||
String custName = cibo.getAttribute("customer_name").toString();
|
||||
fromCondtion.put("customerid", custid2);//区别担保人和承租人
|
||||
otherProperty.clear();
|
||||
otherProperty.put("customerid", CustId1);
|
||||
|
||||
//修改CUSTOMER_INFO、CUSTOMER_CERT
|
||||
Map<String,String>infoProperty=new HashMap<String, String>();
|
||||
infoProperty.put("customerid", CustId1);
|
||||
infoProperty.put("customername", custName);
|
||||
//修改CUSTOMER_PERSON
|
||||
Map<String,String>personProperty=new HashMap<String, String>();
|
||||
personProperty.put("customerid", CustId1);
|
||||
personProperty.put("FULLNAME", custName);
|
||||
//更新CUSTOMER_COMPANY
|
||||
Map<String,String>companyProperty=new HashMap<String, String>();
|
||||
companyProperty.put("customerid", CustId1);
|
||||
companyProperty.put("enterprisename", custName);
|
||||
//修改CUSTOMER_INFO、CUSTOMER_CERT
|
||||
infoProperty.clear();
|
||||
infoProperty.put("customerid", CustId1);
|
||||
infoProperty.put("customername", custName);
|
||||
//修改CUSTOMER_PERSON
|
||||
personProperty.clear();
|
||||
personProperty.put("customerid", CustId1);
|
||||
personProperty.put("FULLNAME", custName);
|
||||
//更新CUSTOMER_COMPANY
|
||||
companyProperty.clear();
|
||||
companyProperty.put("customerid", CustId1);
|
||||
companyProperty.put("enterprisename", custName);
|
||||
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_INFO_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_INFO.CLASS_NAME, otherProperty, infoProperty, Sqlca);
|
||||
if("03".equals(this.getAttribute("CustomerType"))){ // 自然人
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_PERSON_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_PERSON.CLASS_NAME, otherProperty, personProperty, Sqlca);
|
||||
}else{
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_COMPANY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_COMPANY.CLASS_NAME, otherProperty, companyProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_INFO_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_INFO.CLASS_NAME, otherProperty, infoProperty, Sqlca);
|
||||
if("03".equals(this.getAttribute("CustomerType"))){ // 自然人
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_PERSON_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_PERSON.CLASS_NAME, otherProperty, personProperty, Sqlca);
|
||||
}else{
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_COMPANY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_COMPANY.CLASS_NAME, otherProperty, companyProperty, Sqlca);
|
||||
}
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_ADDRESS_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_ADDRESS.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_CERT_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_CERT.CLASS_NAME, otherProperty, infoProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_TYPE_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_TYPE.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
}
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_ADDRESS_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_ADDRESS.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_CERT_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_CERT.CLASS_NAME, otherProperty, infoProperty, Sqlca);
|
||||
// DataOperatorUtil.copySingleJBO(CUSTOMER_FAMILY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_FAMILY.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_TYPE_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_TYPE.CLASS_NAME, otherProperty, otherProperty, Sqlca);
|
||||
/* CustomerCompare cc= new CustomerCompare();
|
||||
otherProperty.clear();
|
||||
otherProperty.put(LB_GUARANTEE_UNIT.PROJECT_ID,ProjectId);
|
||||
//将担保人信息导入正式表,担保人和承租人在相同的表中,为了保证这些表中的数据的唯一,每一次都校验身份证。并将信息存储在历史表中
|
||||
this.copyGuarantee(Sqlca, flowunid, cc, otherProperty);*/
|
||||
// return "true";
|
||||
}else{
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
@ -141,41 +177,22 @@ public class LBCustomerRelaTempToFormalBusiness extends BaseBussiness {
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_COMPANY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_COMPANY.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
}
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_CERT_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_CERT.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
// DataOperatorUtil.copyJBOSet(CUSTOMER_FAMILY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_FAMILY.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_ADDRESS_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_ADDRESS.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
}
|
||||
otherProperty.clear();
|
||||
//otherProperty.put(LB_UNION_LESSEE.CUSTOMER_ID, custid);
|
||||
//otherProperty.put(LB_UNION_LESSEE.PROJECT_ID, ProjectId);
|
||||
otherProperty = this.getDefaultOtherProperty();
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put(LB_UNION_LESSEE_TEMP.FLOWUNID,this.getAttribute("FlowUnid").toString());
|
||||
DataOperatorUtil.copySingleJBO(LB_UNION_LESSEE_TEMP.CLASS_NAME, fromCondtion, LB_UNION_LESSEE.CLASS_NAME, null, otherProperty, Sqlca);
|
||||
//List<BizObject> unitList=DataOperatorUtil.getSetJBO(LB_GUARANTEE_UNIT_TEMP.CLASS_NAME, fromCondtion, Sqlca);
|
||||
/* for(BizObject unit:unitList){
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("id",unit.getAttribute("id").toString());
|
||||
DataOperatorUtil.copySingleJBO(LB_GUARANTEE_UNIT_TEMP.CLASS_NAME, fromCondtion, LB_GUARANTEE_UNIT.CLASS_NAME, null, null, Sqlca);
|
||||
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("customerid",unit.getAttribute("ASSUROR").getString());
|
||||
fromCondtion.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
toCondtion.clear();
|
||||
toCondtion.put("customerid", unit.getAttribute("ASSUROR").getString());
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_PERSON_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_PERSON.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_CERT_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_CERT.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_FAMILY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_FAMILY.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_ADDRESS_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_ADDRESS.CLASS_NAME, toCondtion, null, cc, Sqlca);
|
||||
}*/
|
||||
}
|
||||
//配偶信息不考虑存量客户
|
||||
fromCondtion.clear();
|
||||
fromCondtion.put("flowunid",this.getAttribute("FlowUnid").toString());
|
||||
otherProperty.clear();
|
||||
otherProperty.put("project_id",this.getAttribute("ProjectId").toString());
|
||||
|
||||
otherProperty.put("customerid",StringUtils.isNotEmpty(customeridForCust) ? customeridForCust : Sqlca.getString("select customer_id from LB_UNION_LESSEE_TEMP where FLOWUNID = '" + this.getAttribute("FlowUnid").toString() + "'"));
|
||||
DataOperatorUtil.copyJBOSet(CUSTOMER_FAMILY_TEMP.CLASS_NAME, fromCondtion, CUSTOMER_FAMILY.CLASS_NAME, null, otherProperty, null, Sqlca);
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
}
|
||||
@ -1,8 +1,13 @@
|
||||
package com.tenwa.lease.flow.project.commbusiness;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.amarsoft.app.lc.workflow.action.GetFlowAction;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.lease.flow.comm.service.LeaseFlowBaseService;
|
||||
import com.tenwa.lease.flow.comm.service.ServiceOperatorEnum;
|
||||
@ -23,7 +28,38 @@ public class LBEquipmentFormalToTempBusiness extends BaseBussiness {
|
||||
Map<String,String>otherProperty=this.getDefaultOtherProperty();
|
||||
otherProperty.put("IS_FLOW","Y");
|
||||
service.copyOrLoadLBEquipment(Sqlca,fromCondtion,null,otherProperty,ServiceOperatorEnum.FormalToTemp, null);
|
||||
ratio(Sqlca);
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
|
||||
public void ratio(Transaction Sqlca) throws Exception {
|
||||
String PROPROTION_NUMBER;
|
||||
BigDecimal ratio = new BigDecimal(0);
|
||||
String id01;
|
||||
String id02;
|
||||
String flowUnid=this.getAttribute("ObjectNo").toString();
|
||||
String sql="select ifnull(round(round(lect.EQUIP_PRICE / ifnull(t.num, 1), 4), 4),0) as PROPROTION_NUMBER,f.id as id01,lect.id as id02 from lb_equipment_car_temp lect left join (select CONTRACT_ID,sum(ifnull(EQUIP_PRICE, 0)) as num from apzl.lb_equipment_car where (TERMINATE_TYPE = '1' or TERMINATE_TYPE is null) group by CONTRACT_ID ) t on t.CONTRACT_ID = lect.CONTRACT_ID left join (select id from apzl.lb_equipment_car_temp a where FLOWUNID = '"+flowUnid+"' and (TERMINATE_TYPE = '1' or TERMINATE_TYPE is null) order by id desc limit 1) f on 1=1 where (TERMINATE_TYPE = '1' or TERMINATE_TYPE is null) and lect.FLOWUNID = '"+flowUnid+"' order by lect.id";
|
||||
List<Map<String,String>> list=DataOperatorUtil.getDataBySql(Sqlca, sql, null);
|
||||
for (Map<String,String> let : list) {
|
||||
PROPROTION_NUMBER = let.get("PROPROTION_NUMBER");
|
||||
id01 = let.get("id01");
|
||||
id02 = let.get("id02");
|
||||
if("".equals(id01) || id01 == null) {
|
||||
id01 = "0";
|
||||
}
|
||||
if(!id01.equals(id02)) {
|
||||
BigDecimal bd = new BigDecimal(let.get("PROPROTION_NUMBER"));
|
||||
ratio = ratio.add(bd);
|
||||
Sqlca.executeSQL(new SqlObject("update lb_equipment_car_temp set retainfield2 = '"+PROPROTION_NUMBER+"' where id = '"+id02+"'"));
|
||||
}else {
|
||||
BigDecimal gread = new BigDecimal(1);
|
||||
gread = gread.subtract(ratio);
|
||||
PROPROTION_NUMBER = gread.toString();
|
||||
Sqlca.executeSQL(new SqlObject("update lb_equipment_car_temp set retainfield2 = '"+PROPROTION_NUMBER+"' where id = '"+id02+"'"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,13 +1,22 @@
|
||||
package com.tenwa.lease.flow.project.commbusiness;
|
||||
|
||||
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;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.lease.flow.comm.service.LeaseFlowBaseService;
|
||||
import com.tenwa.lease.flow.comm.service.ServiceOperatorEnum;
|
||||
import com.tenwa.lease.flow.comm.serviceImp.LeaseFlowBaseServiceImp;
|
||||
|
||||
import jbo.com.tenwa.lease.comm.LB_EQUIPMENT_CAR;
|
||||
import jbo.com.tenwa.lease.comm.LB_EQUIPMENT_CAR_TEMP;
|
||||
|
||||
public class LBEquipmentTempToFormalBusiness extends BaseBussiness {
|
||||
|
||||
@Override
|
||||
@ -15,15 +24,30 @@ public class LBEquipmentTempToFormalBusiness extends BaseBussiness {
|
||||
this.initBussinessParam(Sqlca);
|
||||
String flowname=(String)this.getAttribute("FlowName");
|
||||
String flowunid=(String)this.getAttribute("FlowUnid");
|
||||
String settletype= this.getAttribute("settletype") == null ? "" : this.getAttribute("settletype").toString();
|
||||
LeaseFlowBaseService service=new LeaseFlowBaseServiceImp();
|
||||
Map<String,String>fromCondtion=this.getDefaultTempToFormalFromCondtion();
|
||||
Map<String,String>toCondtion=this.getDefaultTempToFormalToCondtion();
|
||||
Map<String,String>otherProperty=this.getDefaultOtherProperty();
|
||||
|
||||
if("ºÏͬÆð×âÁ÷³Ì".equals(flowname)){
|
||||
otherProperty.put("status", "0010");
|
||||
}
|
||||
if("Ìáǰ½áÇå".equals(flowname) && "Y".equals(settletype) ) {
|
||||
// Sqlca.executeSQL(new SqlObject("update LB_EQUIPMENT_CAR_TEMP set TERMINATE_TYPE='2' where TERMINATE_TYPE = '3' and FLOWUNID='"+flowunid+"'"));
|
||||
fromCondtion.put("TERMINATE_TYPE", "3");
|
||||
otherProperty.put("TERMINATE_TYPE", "2");
|
||||
BizObjectManager lectManage = JBOFactory.getBizObjectManager(LB_EQUIPMENT_CAR_TEMP.CLASS_NAME);
|
||||
List<BizObject> lects = lectManage.createQuery(" TERMINATE_TYPE='3' and FLOWUNID=:FLOWUNID ").setParameter("FLOWUNID", flowunid).getResultList(false);
|
||||
for (BizObject lect : lects) {
|
||||
fromCondtion.put("FRAME_NUMBER", lect.getAttribute("FRAME_NUMBER").toString() );
|
||||
toCondtion.put("FRAME_NUMBER", lect.getAttribute("FRAME_NUMBER").toString() );
|
||||
DataOperatorUtil.copySingleJBO(LB_EQUIPMENT_CAR_TEMP.CLASS_NAME, fromCondtion,LB_EQUIPMENT_CAR.CLASS_NAME, toCondtion, otherProperty, Sqlca);
|
||||
}
|
||||
}else {
|
||||
service.copyOrLoadLBEquipment(Sqlca, fromCondtion, toCondtion, otherProperty, ServiceOperatorEnum.TempToFormal, null);
|
||||
}
|
||||
Sqlca.executeSQL(new SqlObject("update LB_EQUIPMENT_CAR_TEMP set IS_FLOW='N' where FLOWUNID='"+flowunid+"'"));
|
||||
service.copyOrLoadLBEquipment(Sqlca, fromCondtion, toCondtion, otherProperty, ServiceOperatorEnum.TempToFormal, null);
|
||||
String sMessage="true";
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
@ -24,20 +24,17 @@ import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE;
|
||||
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE_TEMP;
|
||||
import jbo.prd.LB_PRODUCT_CORPUS_SOURCE;
|
||||
import jbo.prd.PRD_SPECIFIC_LIBRARY;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.are.util.StringFunction;
|
||||
import com.amarsoft.awe.dw.ui.page.body.imp.Integer;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.context.ASUser;
|
||||
import com.mchange.v2.async.StrandedTaskReporting;
|
||||
import com.tenwa.comm.util.date.DateAssistant;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.flow.baseBussion.BaseBussiness;
|
||||
import com.tenwa.flow.util.FlowUtil;
|
||||
@ -97,6 +94,7 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness {
|
||||
BizObjectManager bmLULT = JBOFactory.getBizObjectManager(LB_UNION_LESSEE_TEMP.CLASS_NAME,tx);
|
||||
BizObjectManager bmLECT = JBOFactory.getBizObjectManager(LB_EQUIPMENT_CAR_TEMP.CLASS_NAME,tx);
|
||||
BizObjectManager bmCI = JBOFactory.getBizObjectManager(CUSTOMER_INFO_TEMP.CLASS_NAME,tx);
|
||||
BizObjectManager bomcct = JBOFactory.getBizObjectManager(CUSTOMER_CERT_TEMP.CLASS_NAME,tx);
|
||||
BizObjectManager bsbom = JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME, tx);
|
||||
String deptid = asUser.getOrgID();
|
||||
String distributoIid="";
|
||||
@ -169,12 +167,16 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness {
|
||||
|
||||
Map<String,String>fromCondtion=new HashMap<String, String>();
|
||||
fromCondtion.put("CUSTOMERID",customerId);
|
||||
//存量客户,目前只考虑为配偶的进行考表操作
|
||||
Map<String,String> familyFromCondtion =new HashMap<String, String>();
|
||||
familyFromCondtion.put("CUSTOMERID",customerId);
|
||||
familyFromCondtion.put("Spouse_","Y");
|
||||
|
||||
//otherProperty.put(CUSTOMER_INFO_TEMP.distributor_id, distributoIid);
|
||||
//拷到临时表
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_INFO.CLASS_NAME, fromCondtion, CUSTOMER_INFO_TEMP.CLASS_NAME, null, infoProperty, tx);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_CERT.CLASS_NAME, fromCondtion, CUSTOMER_CERT_TEMP.CLASS_NAME, null, infoProperty, tx);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_FAMILY.CLASS_NAME, fromCondtion, CUSTOMER_FAMILY_TEMP.CLASS_NAME, null, familyProperty, tx);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_FAMILY.CLASS_NAME, familyFromCondtion, CUSTOMER_FAMILY_TEMP.CLASS_NAME, null, familyProperty, tx);
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_ADDRESS.CLASS_NAME, fromCondtion, CUSTOMER_ADDRESS_TEMP.CLASS_NAME, null, otherProperty, tx);
|
||||
if("03".equals(this.getAttribute("CustomerType"))){ // 自然人
|
||||
DataOperatorUtil.copySingleJBO(CUSTOMER_PERSON.CLASS_NAME, fromCondtion, CUSTOMER_PERSON_TEMP.CLASS_NAME, null, personProperty, tx);
|
||||
@ -212,7 +214,7 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness {
|
||||
}
|
||||
}
|
||||
}
|
||||
BizObject bmC = this.saveCustomerInfo(bmCI, tx, asUser,distributoIid);//新增主表客户信息
|
||||
BizObject bmC = this.saveCustomerInfo(bmCI,bomcct, tx, asUser,distributoIid);//新增主表客户信息
|
||||
customerId = bmC.getAttribute("customerid").getString();
|
||||
this.saveCustomerType(bmCTT, tx, customerId,asUser);//证件类型临时表
|
||||
this.savePersonOrCompany(bomC, tx, colName,customerId,asUser,lbat);//自然人||法人
|
||||
@ -229,33 +231,35 @@ public class LBProjectIntoTempInitCarBusiness extends BaseBussiness {
|
||||
return sMessage;
|
||||
}
|
||||
|
||||
private BizObject saveCustomerInfo(BizObjectManager bomCI,JBOTransaction tx,ASUser asUser,String distributoIid)throws JBOException{
|
||||
private BizObject saveCustomerInfo(BizObjectManager bomCI,BizObjectManager bomcct,JBOTransaction tx,ASUser asUser,String distributoIid)throws Exception{
|
||||
BizObject bmC = bomCI.newObject();//保存客户信息
|
||||
try {
|
||||
//客户信息表
|
||||
String custty="03".equals(this.getAttribute("CustomerType"))? "Z":"F";
|
||||
String serinum=FlowUtil.getCustomer_Number(tx);
|
||||
String serin="";
|
||||
if(serinum.length()<15){
|
||||
for(int i=0;i<15-serinum.length();i++){
|
||||
serin+="0";
|
||||
}
|
||||
}
|
||||
bmC.setAttributeValue("customername", this.getAttribute("custname"));//自然人名称
|
||||
bmC.setAttributeValue("customer_num", "APZL"+custty+serin+serinum);//自然人名称
|
||||
bmC.setAttributeValue("customertype", this.getAttribute("CustomerType"));//客户类型
|
||||
bmC.setAttributeValue("distributor_id", distributoIid);
|
||||
bmC.setAttributeValue("certtype", this.getAttribute("certtype"));//证件类型
|
||||
bmC.setAttributeValue("certid", this.getAttribute("certid"));//证件号
|
||||
bmC.setAttributeValue("inputuserid", asUser.getUserID());//登记人
|
||||
bmC.setAttributeValue("inputorgid", asUser.getOrgID());//登记部门
|
||||
bmC.setAttributeValue("flowunid", this.getAttribute("FlowUnid"));//流程ID
|
||||
bmC.setAttributeValue("inputtime", StringFunction.getTodayNow());//登记时间,系统当前时间
|
||||
bomCI.saveObject(bmC);
|
||||
} catch (Exception e) {
|
||||
tx.rollback();
|
||||
e.printStackTrace();
|
||||
}
|
||||
//客户信息表
|
||||
String custty="03".equals(this.getAttribute("CustomerType"))? "Z":"F";
|
||||
bmC.setAttributeValue("customername", this.getAttribute("custname"));//自然人名称
|
||||
bmC.setAttributeValue("customer_num", FlowUtil.getCustomer_Number(false,custty));//自然人序号
|
||||
bmC.setAttributeValue("customertype", this.getAttribute("CustomerType"));//客户类型
|
||||
bmC.setAttributeValue("distributor_id", distributoIid);
|
||||
bmC.setAttributeValue("certtype", this.getAttribute("certtype"));//证件类型
|
||||
bmC.setAttributeValue("certid", this.getAttribute("certid"));//证件号
|
||||
bmC.setAttributeValue("inputuserid", asUser.getUserID());//登记人
|
||||
bmC.setAttributeValue("inputorgid", asUser.getOrgID());//登记部门
|
||||
bmC.setAttributeValue("flowunid", this.getAttribute("FlowUnid"));//流程ID
|
||||
bmC.setAttributeValue("inputtime", StringFunction.getTodayNow());//登记时间,系统当前时间
|
||||
bomCI.saveObject(bmC);
|
||||
|
||||
//将注册证件添加到证件表中
|
||||
BizObject newCert = bomcct.newObject();
|
||||
newCert.setAttributeValue("customerid", bmC.getAttribute("customerid").getString());
|
||||
newCert.setAttributeValue("issuecountry","CHN");// 证件国别-没有选项,默认中国吧
|
||||
newCert.setAttributeValue("certtype",this.getAttribute("certtype").toString());
|
||||
newCert.setAttributeValue("certid",this.getAttribute("certid").toString());
|
||||
newCert.setAttributeValue("status","valid");
|
||||
newCert.setAttributeValue("customername",this.getAttribute("custname"));
|
||||
newCert.setAttributeValue("flowunid", this.getAttribute("FlowUnid"));//流程ID
|
||||
newCert.setAttributeValue("inputuserid", asUser.getUserID());
|
||||
newCert.setAttributeValue("inputorgid", asUser.getOrgID());
|
||||
newCert.setAttributeValue("inputtime", DateAssistant.getTodayNow());
|
||||
bomcct.saveObject(newCert);
|
||||
return bmC;
|
||||
}
|
||||
private void savePersonOrCompany(BizObjectManager bomC,JBOTransaction tx,String colName,String customerId,ASUser asUser,BizObject lbat)throws JBOException{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user