代码基线,将数据库存储过程、视图、方法加入git基线管理

This commit is contained in:
lichaojie 2019-12-24 16:04:05 +08:00
parent 754b190b5b
commit 6c0f51019f
166 changed files with 8968 additions and 0 deletions

View File

@ -0,0 +1,67 @@
create function ArabicToChinese(ArabicNumerals decimal(15,2)) returns varchar(200)
BEGIN
DECLARE v_LowerStr VARCHAR(200) ;
DECLARE v_UpperPart VARCHAR(200) ;
DECLARE v_UpperStr VARCHAR(200) ;
DECLARE i_I INT ;
SET v_LowerStr = LTRIM(RTRIM(ROUND(ArabicNumerals,2 ) ) ) ;
SET i_I = 1 ;
SET v_UpperStr = '' ;
WHILE ( i_I <=CHAR_LENGTH(v_LowerStr ) ) DO
SET v_UpperPart = CONCAT(
CASE SUBSTRING(v_LowerStr,CHAR_LENGTH(v_LowerStr) - i_I + 1,1 )
WHEN '.' THEN ''
WHEN '0' THEN ''
WHEN '1' THEN ''
WHEN '2' THEN ''
WHEN '3' THEN ''
WHEN '4' THEN ''
WHEN '5' THEN ''
WHEN '6' THEN ''
WHEN '7' THEN ''
WHEN '8' THEN ''
WHEN '9' THEN ''
END,
CASE i_I
WHEN 1 THEN ''
WHEN 2 THEN ''
WHEN 3 THEN ''
WHEN 4 THEN ''
WHEN 5 THEN ''
WHEN 6 THEN ''
WHEN 7 THEN ''
WHEN 8 THEN ''
WHEN 9 THEN ''
WHEN 10 THEN ''
WHEN 11 THEN ''
WHEN 12 THEN '亿'
WHEN 13 THEN ''
WHEN 14 THEN ''
WHEN 15 THEN ''
WHEN 16 THEN ''
ELSE ''
END );
SET v_UpperStr =CONCAT( v_UpperPart , v_UpperStr) ;
SET i_I = i_I + 1 ;
END WHILE;
SET v_UpperStr = REPLACE(v_UpperStr,'零拾','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零佰','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零仟','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零零零','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零零','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零角零分','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零分','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零角','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零亿零万零','亿') ;
SET v_UpperStr = REPLACE(v_UpperStr,'亿零万零','亿') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零亿零万','亿') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零万零','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'万零','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零亿','亿') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零万','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'零零','') ;
SET v_UpperStr = REPLACE(v_UpperStr,'一十','') ;
RETURN v_UpperStr;
END;

View File

@ -0,0 +1,4 @@
create function GETBUSINESSNAME(pTypeNo varchar(40)) returns varchar(80)
RETURN (SELECT TypeName FROM BUSINESS_TYPE
WHERE TypeNo= pTypeNo);

View File

@ -0,0 +1,60 @@
create function bb_getLoanInterest(bill_id_ varchar(32), start_date_ varchar(32), end_date_ varchar(32)) returns decimal(22,2)
begin
declare accrued_interest DECIMAL(22,2) default 0; #计提利息
DECLARE real_start_date varchar(32);
DECLARE temp_date varchar(32);
DECLARE plan_date_ varchar(32);
DECLARE year_rate_ DECIMAL(22,6) DEFAULT 0;
DECLARE temp_rate DECIMAL(22,6) DEFAULT 0;
DECLARE gtype int DEFAULT 0;
DECLARE day_flag int DEFAULT 0;
DECLARE rate_year_days_ int DEFAULT 360;#年计息天数
DECLARE remcorpus DECIMAL(22,2);
DECLARE days int DEFAULT 0;
declare done boolean default false;
DECLARE outer_cursor CURSOR FOR select tab.plan_date,tab.rate,tab.gtype from (
select plan_date,0 as rate,0 as gtype from loan_fund_plan
where bill_id=bill_id_ and plan_date>=start_date_
and plan_date<=end_date_ and ifnull(corpus,0)>0
union
select adjust_date as plan_date,rate_new as rate,1 as gtype from loan_rate_adjust
where bill_id=bill_id_ and status_='rate_adjust' and mod_reason='his_rate_change'
and adjust_date>=start_date_ and adjust_date<=end_date_
union
select end_date_ as plan_date,0 as rate,0 as gtype from dual) tab order by tab.plan_date;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;
set temp_date = start_date_;
#如果计提利息期间开始时间小于借据放款日期,则以借据放款日期为开始时间
SELECT GREATEST(start_date_,loan_start_date) INTO real_start_date FROM loan_bill_info WHERE id=bill_id_;
SET temp_date = real_start_date;
SELECT tmp.rate_new INTO temp_rate FROM (SELECT t.rate_new FROM
(SELECT adjust_date,rate_new,create_date FROM loan_rate_adjust WHERE bill_id=bill_id_ AND status_='rate_adjust' AND mod_reason='his_rate_change' AND adjust_date<=real_start_date
UNION
SELECT loan_start_date AS adjust_date,rate AS rate_new, create_date FROM loan_bill_info WHERE id=bill_id_
)t ORDER BY t.adjust_date DESC,t.create_date DESC LIMIT 1) tmp;
#对计提利息期间按利率变化及本金变化分段
open outer_cursor;
myLoop:loop
FETCH outer_cursor INTO plan_date_,year_rate_,gtype;
IF done THEN LEAVE myLoop;
END IF;
#取年计息天数
SELECT rate_year_days INTO rate_year_days_ FROM loan_bill_info WHERE id=bill_id_;
#算头不算尾第1个分段时间加一天
SELECT DATEDIFF(plan_date_,temp_date) + day_flag INTO days FROM DUAL;
IF days>=0 THEN
SET day_flag = 0;
SELECT SUM(IFNULL(corpus,0)) INTO remcorpus FROM loan_fund_plan WHERE bill_id=bill_id_ AND plan_date>=plan_date_;
SELECT accrued_interest + (days*remcorpus*(temp_rate/100/rate_year_days_)) INTO accrued_interest FROM DUAL;
IF gtype=1 THEN
SET temp_rate = year_rate_;
END IF;
SET temp_date = plan_date_;
end if;
end loop myLoop;
close outer_cursor;
set accrued_interest = round(accrued_interest,2);
RETURN accrued_interest;
end;

View File

@ -0,0 +1,68 @@
create function bb_getLoanInterest_gs(bill_id_ varchar(32), start_date_ varchar(32), end_date_ varchar(32)) returns varchar(1000)
BEGIN
DECLARE gs VARCHAR(1000) default '';
DECLARE real_start_date VARCHAR(32);
DECLARE temp_date VARCHAR(32);
DECLARE plan_date_ VARCHAR(32);
DECLARE year_rate_ DECIMAL(22,6);
DECLARE temp_rate DECIMAL(22,6);
DECLARE gtype INT;
DECLARE day_flag INT;
DECLARE rate_year_days_ INT;#年计息天数
DECLARE remcorpus DECIMAL(22,2);
DECLARE days INT;
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE outer_cursor CURSOR FOR
SELECT * FROM (
SELECT plan_date,0 AS rate,0 AS gtype FROM loan_fund_plan
WHERE bill_id=bill_id_ AND plan_date>=start_date_
AND plan_date<=end_date_ AND IFNULL(corpus,0)>0
UNION
SELECT adjust_date AS plan_date,rate_new AS rate,1 AS gtype FROM loan_rate_adjust
WHERE bill_id=bill_id_ AND status_='rate_adjust' AND mod_reason='his_rate_change'
AND adjust_date>=start_date_ AND adjust_date<=end_date_
UNION
SELECT end_date_ AS plan_date,0 AS rate,0 AS gtype FROM DUAL
) tab ORDER BY plan_date;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;
SET rate_year_days_ = 360;
SET year_rate_ = 0;
SET temp_rate = 0;
SET temp_date = start_date_;
SET gtype = 0;
SET day_flag = 0;
SET days = 0;
#如果计提利息期间开始时间小于借据放款日期,则以借据放款日期为开始时间
SELECT GREATEST(start_date_,loan_start_date) INTO real_start_date FROM loan_bill_info WHERE id=bill_id_;
SET temp_date = real_start_date;
SELECT tmp.rate_new INTO temp_rate FROM (SELECT t.rate_new FROM
(SELECT adjust_date,rate_new,create_date FROM loan_rate_adjust WHERE bill_id=bill_id_ AND status_='rate_adjust' AND mod_reason='his_rate_change' AND adjust_date<=real_start_date
UNION
SELECT loan_start_date AS adjust_date,rate AS rate_new, create_date FROM loan_bill_info WHERE id=bill_id_
) t ORDER BY adjust_date DESC,create_date DESC) tmp LIMIT 1;
#取年计息天数
SELECT rate_year_days INTO rate_year_days_ FROM loan_bill_info WHERE id=bill_id_;
#对计提利息期间按利率变化及本金变化分段
OPEN outer_cursor;
myLoop:LOOP
FETCH outer_cursor INTO plan_date_,year_rate_,gtype;
IF done THEN LEAVE myLoop;
END IF;
#算头不算尾第1个分段时间加一天
SELECT DATEDIFF(plan_date_,temp_date) + day_flag INTO days FROM DUAL;
SET day_flag = 0;
if days>=0 then
SELECT SUM(IFNULL(corpus,0)) INTO remcorpus FROM loan_fund_plan WHERE bill_id=bill_id_ AND plan_date>=plan_date_;
IF remcorpus>0 THEN
SELECT CONCAT(gs,days,'天*剩余本金',remcorpus,'*日利率(',temp_rate,'/100)/',rate_year_days_ ,'),开始:',temp_date,'结束:',plan_date_,';') INTO gs FROM DUAL;
END IF;
end if;
IF gtype=1 THEN
SET temp_rate = year_rate_;
END IF;
SET temp_date = plan_date_;
END LOOP myLoop;
CLOSE outer_cursor;
RETURN gs;
END;

View File

@ -0,0 +1,261 @@
create function func_changeToChineseMoney(MONEY decimal(14,2)) returns varchar(150)
BEGIN
DECLARE RV_MONEY0 VARCHAR(20);
DECLARE RV_MONEY1 VARCHAR(4);
DECLARE RV_MONEY2 VARCHAR(4);
DECLARE V_MONEY0 VARCHAR(28);
DECLARE V_MONEY1 VARCHAR(4);
DECLARE V_MONEY2 VARCHAR(4);
DECLARE V_MONEY3 VARCHAR(4);
DECLARE V_MONEY4 VARCHAR(4);
DECLARE V_MONEY5 VARCHAR(4);
DECLARE V_MONEY6 VARCHAR(4);
DECLARE V_MONEY7 VARCHAR(4);
DECLARE V_MONEY8 VARCHAR(4);
DECLARE V_MONEY9 VARCHAR(4);
DECLARE V_MONEY10 VARCHAR(4);
DECLARE V_MONEY11 VARCHAR(4);
DECLARE V_MONEY12 VARCHAR(4);
DECLARE RPV_MONEY1 VARCHAR(4);
DECLARE RPV_MONEY2 VARCHAR(4);
DECLARE PV_MONEY0 VARCHAR(14);
DECLARE PV_MONEY1 VARCHAR(4);
DECLARE PV_MONEY2 VARCHAR(4);
DECLARE PV_MONEY3 VARCHAR(4);
DECLARE PV_MONEY4 VARCHAR(4);
DECLARE PV_MONEY5 VARCHAR(4);
DECLARE PV_MONEY6 VARCHAR(4);
DECLARE PV_MONEY7 VARCHAR(4);
DECLARE PV_MONEY8 VARCHAR(4);
DECLARE PV_MONEY9 VARCHAR(4);
DECLARE PV_MONEY10 VARCHAR(4);
DECLARE PV_MONEY11 VARCHAR(4);
DECLARE PV_MONEY12 VARCHAR(4);
DECLARE Z_MONEY VARCHAR(28);
SET Z_MONEY=FLOOR(MONEY);
SET V_MONEY0=LTRIM(RTRIM(Z_MONEY));
SET Z_MONEY=FLOOR(MONEY*100);
SET RV_MONEY0=LTRIM(RTRIM(Z_MONEY));
SET RV_MONEY1=SUBSTR(RV_MONEY0,LENGTH(RV_MONEY0),1);
IF LENGTH(RV_MONEY0)>1 THEN
SET RV_MONEY2=SUBSTR(RV_MONEY0,LENGTH(RV_MONEY0)-1,1);
ELSE
SET RV_MONEY2='0';
END IF;
SET V_MONEY1=SUBSTR(V_MONEY0,LENGTH(V_MONEY0),1);
IF LENGTH(V_MONEY0)-1>0 THEN
SET V_MONEY2=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-1,1);
ELSE
SET V_MONEY2='0';
END IF;
IF LENGTH(V_MONEY0)-2>0 THEN
SET V_MONEY3=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-2,1);
ELSE
SET V_MONEY3='0';
END IF;
IF LENGTH(V_MONEY0)-3>0 THEN
SET V_MONEY4=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-3,1);
ELSE
SET V_MONEY4='0';
END IF;
IF LENGTH(V_MONEY0)-4>0 THEN
SET V_MONEY5=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-4,1);
ELSE
SET V_MONEY5='0';
END IF;
IF LENGTH(V_MONEY0)-5>0 THEN
SET V_MONEY6=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-5,1);
ELSE
SET V_MONEY6='0';
END IF;
IF LENGTH(V_MONEY0)-6>0 THEN
SET V_MONEY7=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-6,1);
ELSE
SET V_MONEY7='0';
END IF;
IF LENGTH(V_MONEY0)-7>0 THEN
SET V_MONEY8=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-7,1);
ELSE
SET V_MONEY8='0';
END IF;
IF LENGTH(V_MONEY0)-8>0 THEN
SET V_MONEY9=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-8,1);
ELSE
SET V_MONEY9='0';
END IF;
IF LENGTH(V_MONEY0)-9>0 THEN
SET V_MONEY10=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-9,1);
ELSE
SET V_MONEY10='0';
END IF;
IF LENGTH(V_MONEY0)-10>0 THEN
SET V_MONEY11=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-10,1);
ELSE
SET V_MONEY11='0';
END IF;
IF LENGTH(V_MONEY0)-11>0 THEN
SET V_MONEY12=SUBSTR(V_MONEY0,LENGTH(V_MONEY0)-11,1);
ELSE
SET V_MONEY12='0';
END IF;
SELECT IF(RV_MONEY1='0','零分',IF(RV_MONEY1='1','壹分',IF(RV_MONEY1='2','贰分',IF(RV_MONEY1='3','叁分',
IF(RV_MONEY1='4','肆分',IF(RV_MONEY1='5','伍分',IF(RV_MONEY1='6','陆分',IF(RV_MONEY1='7','柒分',IF(
RV_MONEY1='8','捌分','玖分'))))))))) INTO rpv_money1;
SELECT IF(RV_MONEY2='0','零角',IF(RV_MONEY2='1','壹角',IF(RV_MONEY2='2','贰角',IF(RV_MONEY2='3','叁角',
IF(RV_MONEY2='4','肆角',IF(RV_MONEY2='5','伍角',IF(RV_MONEY2='6','陆角',IF(RV_MONEY2='7','柒角',IF(
RV_MONEY2='8','捌角','玖角'))))))))) INTO rpv_money2;
SELECT IF(V_MONEY1='0','',IF(V_MONEY1='1','壹元',IF(V_MONEY1='2','贰元',IF(V_MONEY1='3','叁元',
IF(V_MONEY1='4','肆元',IF(V_MONEY1='5','伍元',IF(V_MONEY1='6','陆元',IF(V_MONEY1='7','柒元',IF(
V_MONEY1='8','捌元','玖元'))))))))) INTO pv_money1;
SELECT IF(V_MONEY2='0','',IF(V_MONEY2='1','壹拾',IF(V_MONEY2='2','贰拾',IF(V_MONEY2='3','叁拾',
IF(V_MONEY2='4','肆拾',IF(V_MONEY2='5','伍拾',IF(V_MONEY2='6','陆拾',IF(V_MONEY2='7','柒拾',IF(
V_MONEY2='8','捌拾','玖拾'))))))))) INTO pv_money2;
SELECT IF(V_MONEY3='0','',IF(V_MONEY3='1','壹佰',IF(V_MONEY3='2','贰佰',IF(V_MONEY3='3','叁佰',
IF(V_MONEY3='4','肆佰',IF(V_MONEY3='5','伍佰',IF(V_MONEY3='6','陆佰',IF(V_MONEY3='7','柒佰',IF(
V_MONEY3='8','捌佰','玖佰'))))))))) INTO pv_money3;
SELECT IF(V_MONEY4='0','',IF(V_MONEY4='1','壹仟',IF(V_MONEY4='2','贰仟',IF(V_MONEY4='3','叁仟',
IF(V_MONEY4='4','肆仟',IF(V_MONEY4='5','伍仟',IF(V_MONEY4='6','陆仟',IF(V_MONEY4='7','柒仟',IF(
V_MONEY4='8','捌仟','玖仟'))))))))) INTO pv_money4;
SELECT IF(V_MONEY5='0','',IF(V_MONEY5='1','壹万',IF(V_MONEY5='2','贰万',IF(V_MONEY5='3','叁万',
IF(V_MONEY5='4','肆万',IF(V_MONEY5='5','伍万',IF(V_MONEY5='6','陆万',IF(V_MONEY5='7','柒万',IF(
V_MONEY5='8','捌万','玖万'))))))))) INTO pv_money5;
SELECT IF(V_MONEY6='0','',IF(V_MONEY6='1','壹拾',IF(V_MONEY6='2','贰拾',IF(V_MONEY6='3','叁拾',
IF(V_MONEY6='4','肆拾',IF(V_MONEY6='5','伍拾',IF(V_MONEY6='6','陆拾',IF(V_MONEY6='7','柒拾',IF(
V_MONEY6='8','捌拾','玖万'))))))))) INTO pv_money6;
SELECT IF(V_MONEY7='0','',IF(V_MONEY7='1','壹佰',IF(V_MONEY7='2','贰佰',IF(V_MONEY7='3','叁佰',
IF(V_MONEY7='4','肆佰',IF(V_MONEY7='5','伍佰',IF(V_MONEY7='6','陆佰',IF(V_MONEY7='7','柒佰',IF(
V_MONEY7='8','捌佰','玖佰'))))))))) INTO pv_money7;
SELECT IF(V_MONEY8='0','',IF(V_MONEY8='1','壹仟',IF(V_MONEY8='2','贰仟',IF(V_MONEY8='3','叁仟',
IF(V_MONEY8='4','肆仟',IF(V_MONEY8='5','伍仟',IF(V_MONEY8='6','陆仟',IF(V_MONEY8='7','柒仟',IF(
V_MONEY8='8','捌仟','玖仟'))))))))) INTO pv_money8;
SELECT IF(V_MONEY9='0','亿',IF(V_MONEY9='1','壹亿',IF(V_MONEY9='2','贰亿',IF(V_MONEY9='3','叁亿',
IF(V_MONEY9='4','肆亿',IF(V_MONEY9='5','伍亿',IF(V_MONEY9='6','陆亿',IF(V_MONEY9='7','柒亿',IF(
V_MONEY9='8','捌亿','玖亿'))))))))) INTO pv_money9;
SELECT IF(V_MONEY10='0','',IF(V_MONEY10='1','壹拾',IF(V_MONEY10='2','贰拾',IF(V_MONEY10='3','叁拾',
IF(V_MONEY10='4','肆拾',IF(V_MONEY10='5','伍拾',IF(V_MONEY10='6','陆拾',IF(V_MONEY10='7','柒拾',IF(
V_MONEY10='8','捌拾','玖万'))))))))) INTO pv_money10;
SELECT IF(V_MONEY11='0','',IF(V_MONEY11='1','壹佰',IF(V_MONEY11='2','贰佰',IF(V_MONEY11='3','叁佰',
IF(V_MONEY11='4','肆佰',IF(V_MONEY11='5','伍佰',IF(V_MONEY11='6','陆佰',IF(V_MONEY11='7','柒佰',IF(
V_MONEY11='8','捌佰','玖佰'))))))))) INTO pv_money11;
SELECT IF(V_MONEY12='0','',IF(V_MONEY12='1','壹仟',IF(V_MONEY12='2','贰仟',IF(V_MONEY12='3','叁仟',
IF(V_MONEY12='4','肆仟',IF(V_MONEY12='5','伍仟',IF(V_MONEY12='6','陆仟',IF(V_MONEY12='7','柒仟',IF(
V_MONEY12='8','捌仟','玖仟'))))))))) INTO pv_money12;
SET V_MONEY0=CONCAT(PV_MONEY12,PV_MONEY11,PV_MONEY10,PV_MONEY9,PV_MONEY8,PV_MONEY7,PV_MONEY6,PV_MONEY5,PV_MONEY4,
PV_MONEY3,PV_MONEY2,PV_MONEY1,RPV_MONEY2,RPV_MONEY1);
IF SUBSTR(V_MONEY0,1,1)='亿' THEN
SET V_MONEY0=SUBSTR(V_MONEY0,2,LENGTH(V_MONEY0)-1);
END IF;
IF SUBSTR(V_MONEY0,1,1)='' THEN
SET V_MONEY0=SUBSTR(V_MONEY0,2,LENGTH(V_MONEY0)-1);
END IF;
/* 判断亿和万之间间隔的位数 locate */
SET V_MONEY0=REPLACE(V_MONEY0,'亿万','亿');
/* 判断亿和元之间间隔的位数 locate */
IF LOCATE('',V_MONEY0)-LOCATE('亿',V_MONEY0)=2 THEN
SET V_MONEY0=REPLACE(V_MONEY0,'亿壹','亿零壹');
SET V_MONEY0=REPLACE(V_MONEY0,'亿贰','亿零贰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿叁','亿零叁');
SET V_MONEY0=REPLACE(V_MONEY0,'亿肆','亿零肆');
SET V_MONEY0=REPLACE(V_MONEY0,'亿伍','亿零伍');
SET V_MONEY0=REPLACE(V_MONEY0,'亿陆','亿零陆');
SET V_MONEY0=REPLACE(V_MONEY0,'亿柒','亿零柒');
SET V_MONEY0=REPLACE(V_MONEY0,'亿捌','亿零捌');
SET V_MONEY0=REPLACE(V_MONEY0,'亿玖','亿零玖');
END IF;
SET V_MONEY0=REPLACE(V_MONEY0,'亿壹拾','亿零壹拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿贰拾','亿零贰拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿叁拾','亿零叁拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿肆拾','亿零肆拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿伍拾','亿零伍拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿陆拾','亿零陆拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿柒拾','亿零柒拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿捌拾','亿零捌拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿玖拾','亿零玖拾');
SET V_MONEY0=REPLACE(V_MONEY0,'亿壹佰','亿零壹佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿贰佰','亿零贰佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿叁佰','亿零叁佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿肆佰','亿零肆佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿伍佰','亿零伍佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿陆佰','亿零陆佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿柒佰','亿零柒佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿捌佰','亿零捌佰');
SET V_MONEY0=REPLACE(V_MONEY0,'亿玖佰',
'亿零玖佰');
/* 判断最后一个万和元之间间隔的位数 */
IF LOCATE('',V_MONEY0)-LOCATE('',V_MONEY0)=2 THEN
SET V_MONEY0=REPLACE(V_MONEY0,'万壹','万零壹');
SET V_MONEY0=REPLACE(V_MONEY0,'万贰','万零贰');
SET V_MONEY0=REPLACE(V_MONEY0,'万叁','万零叁');
SET V_MONEY0=REPLACE(V_MONEY0,'万肆','万零肆');
SET V_MONEY0=REPLACE(V_MONEY0,'万伍','万零伍');
SET V_MONEY0=REPLACE(V_MONEY0,'万陆','万零陆');
SET V_MONEY0=REPLACE(V_MONEY0,'万柒','万零柒');
SET V_MONEY0=REPLACE(V_MONEY0,'万捌','万零捌');
SET V_MONEY0=REPLACE(V_MONEY0,'万玖','万零玖');
END IF;
SET V_MONEY0=REPLACE(V_MONEY0,'万壹拾','万零壹拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万贰拾','万零贰拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万叁拾','万零叁拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万肆拾','万零肆拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万伍拾','万零伍拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万陆拾','万零陆拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万柒拾','万零柒拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万捌拾','万零捌拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万玖拾','万零玖拾');
SET V_MONEY0=REPLACE(V_MONEY0,'万壹佰','万零壹佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万贰佰','万零贰佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万叁佰','万零叁佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万肆佰','万零肆佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万伍佰','万零伍佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万陆佰','万零陆佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万柒佰','万零柒佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万捌佰','万零捌佰');
SET V_MONEY0=REPLACE(V_MONEY0,'万玖佰','万零玖佰');
/* 判断最后一个千和元之间间隔的位数 */
IF LOCATE('',V_MONEY0)-LOCATE('',V_MONEY0)=2 THEN
SET V_MONEY0=REPLACE(V_MONEY0,'仟壹','仟零壹');
SET V_MONEY0=REPLACE(V_MONEY0,'仟贰','仟零贰');
SET V_MONEY0=REPLACE(V_MONEY0,'仟叁','仟零叁');
SET V_MONEY0=REPLACE(V_MONEY0,'仟肆','仟零肆');
SET V_MONEY0=REPLACE(V_MONEY0,'仟伍','仟零伍');
SET V_MONEY0=REPLACE(V_MONEY0,'仟陆','仟零陆');
SET V_MONEY0=REPLACE(V_MONEY0,'仟柒','仟零柒');
SET V_MONEY0=REPLACE(V_MONEY0,'仟捌','仟零捌');
SET V_MONEY0=REPLACE(V_MONEY0,'仟玖','仟零玖');
END IF;
SET V_MONEY0=REPLACE(V_MONEY0,'仟壹拾','仟零壹拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟贰拾','仟零贰拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟叁拾','仟零叁拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟肆拾','仟零肆拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟伍拾','仟零伍拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟陆拾','仟零陆拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟柒拾','仟零柒拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟捌拾','仟零捌拾');
SET V_MONEY0=REPLACE(V_MONEY0,'仟玖拾','仟零玖拾');
/* 判断最后一个佰和元之间间隔的位数 */
IF LOCATE('',V_MONEY0)-LOCATE('',V_MONEY0)=2 THEN
SET V_MONEY0=REPLACE(V_MONEY0,'佰壹','佰零壹');
SET V_MONEY0=REPLACE(V_MONEY0,'佰贰','佰零贰');
SET V_MONEY0=REPLACE(V_MONEY0,'佰叁','佰零叁');
SET V_MONEY0=REPLACE(V_MONEY0,'佰肆','佰零肆');
SET V_MONEY0=REPLACE(V_MONEY0,'佰伍','佰零伍');
SET V_MONEY0=REPLACE(V_MONEY0,'佰陆','佰零陆');
SET V_MONEY0=REPLACE(V_MONEY0,'佰柒','佰零柒');
SET V_MONEY0=REPLACE(V_MONEY0,'佰捌','佰零捌');
SET V_MONEY0=REPLACE(V_MONEY0,'佰玖','佰零玖');
END IF;
IF SUBSTR(V_MONEY0,LENGTH(V_MONEY0)/3-1,1)='' THEN
SET V_MONEY0=SUBSTR(V_MONEY0,1,LENGTH(V_MONEY0)/3-2);
END IF;
IF SUBSTR(V_MONEY0,LENGTH(V_MONEY0)/3-1,1)='' THEN
SET V_MONEY0=SUBSTR(V_MONEY0,1,LENGTH(V_MONEY0)/3-2);
SET V_MONEY0=CONCAT(V_MONEY0,'');
END IF;
/* 判断有没有零角,有就替换成零 */
SET V_MONEY0=REPLACE(V_MONEY0,'零角','');
IF V_MONEY0='元整' THEN
SET V_MONEY0='零元';
END IF;
RETURN V_MONEY0;
END;

View File

@ -0,0 +1,13 @@
create function getChildList(rootId varchar(100)) returns varchar(2000)
BEGIN
DECLARE str varchar(2000);
DECLARE cid varchar(100);
SET str = '$';
SET cid = rootId;
WHILE cid is not null DO
SET str = concat(str, ',', cid);
SELECT group_concat(serialno) INTO cid FROM flow_task where FIND_IN_SET(relativeserialno, cid) > 0;
END WHILE;
RETURN str;
END;

View File

@ -0,0 +1,12 @@
create function getContractInvoiceTypeIdForFund(sIncomeId varchar(40)) returns varchar(80)
RETURN (SELECT
CASE ISNULL(lcit.id) WHEN '1' THEN lcit1.id ELSE lcit.id END AS id
FROM
LC_FUND_INCOME lfi
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit ON lcit.contract_id=lfi.contract_id AND lfi.client_accnumber=lcit.tax_acc
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit1 ON lcit1.contract_id=lfi.contract_id and lcit1.is_main='Y'
WHERE lfi.id=sIncomeId
);

View File

@ -0,0 +1,12 @@
create function getContractInvoiceTypeIdForRent(sIncomeId varchar(40)) returns varchar(80)
RETURN (SELECT
CASE ISNULL(lcit.id) WHEN '1' THEN lcit1.id ELSE lcit.id END AS id
FROM
LC_RENT_INCOME lri
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit ON lcit.contract_id=lri.contract_id AND lri.hire_number=lcit.tax_acc
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit1 ON lcit1.contract_id=lri.contract_id AND lcit1.is_main='Y'
WHERE lri.id=sIncomeId
);

View File

@ -0,0 +1,3 @@
create function getCustomerName(pCustomerID varchar(40)) returns varchar(80)
RETURN (SELECT CustomerName FROM customer_info WHERE customerid = pCustomerID);

View File

@ -0,0 +1,3 @@
create function getCustomerType(pcustomerid varchar(40)) returns varchar(200)
RETURN(SELECT GROUP_CONCAT(getItemName('cust_type',ct.custtype)) FROM customer_type ct WHERE ct.CUSTOMERID=pcustomerid AND ct.STATUS='valid' AND ct.custstatus='status02' GROUP BY ct.CUSTOMERID);

View File

@ -0,0 +1,12 @@
create function getInvoiceTypeIdForFund(sIncomeId varchar(40)) returns varchar(80)
RETURN (SELECT
CASE ISNULL(lcit.id) WHEN '1' THEN lcit1.id ELSE lcit.id END AS id
FROM
LC_FUND_INCOME lfi
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit ON lcit.contract_id=lfi.contract_id AND lfi.client_accnumber=lcit.tax_acc
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit1 ON lcit1.contract_id=lfi.contract_id and lcit1.is_main='Y'
WHERE lfi.id=sIncomeId
);

View File

@ -0,0 +1,12 @@
create function getInvoiceTypeIdForRent(sIncomeId varchar(40)) returns varchar(80)
RETURN (SELECT
CASE ISNULL(lcit.id) WHEN '1' THEN lcit1.id ELSE lcit.id END AS id
FROM
LC_RENT_INCOME lri
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit ON lcit.contract_id=lri.contract_id AND lri.hire_number=lcit.tax_acc
LEFT JOIN
LB_CONTRACT_INVOICE_TYPE lcit1 ON lcit1.contract_id=lri.contract_id AND lcit1.is_main='Y'
WHERE lri.id=sIncomeId
);

View File

@ -0,0 +1,3 @@
create function getItemName(pCodeNo varchar(40), pItemNo varchar(40)) returns varchar(200)
RETURN (SELECT COALESCE(itemname,pitemno) FROM code_library WHERE codeno = pCodeNo AND Itemno = pItemNo);

View File

@ -0,0 +1,5 @@
create function getLastIncomeDateForOverdue(sPlandate varchar(40), sPlanId varchar(40)) returns varchar(80)
RETURN (
SELECT MAX(lri.hire_date) AS sumrent FROM LC_RENT_INCOME lri WHERE lri.plan_id=sPlanId AND lri.hire_date>splandate AND lri.rent>0 GROUP BY lri.plan_id
);

View File

@ -0,0 +1,3 @@
create function getListName(pValue varchar(320)) returns varchar(320)
RETURN 'aaa';

View File

@ -0,0 +1,21 @@
create function getOrgLevelName(orgid varchar(100)) returns varchar(100)
BEGIN
DECLARE result VARCHAR(100);
declare i int default 0;
DECLARE num INT;
set num=(LENGTH(orgid)-9)/4;
set result=getOrgName(LEFT(orgid,9));
if num>0
then
myloop:loop
set i=i+1;
set result=concat(concat(result,'>>'),getOrgName(LEFT(orgid,9+4*i)));
if i>=num
then
leave myloop;
END IF;
end loop myloop;
end if;
return result;
END;

View File

@ -0,0 +1,3 @@
create function getOrgName(pOrgID varchar(40)) returns varchar(80)
RETURN (SELECT OrgName FROM org_info WHERE Orgid= pOrgID);

View File

@ -0,0 +1,5 @@
create function getOverDueRent(sPlandate varchar(40), sPlanId varchar(40)) returns varchar(80)
RETURN (
SELECT SUM(lri.rent) AS sumrent FROM LC_RENT_INCOME lri WHERE lri.plan_id=sPlanId AND lri.hire_date>splandate and lri.rent>0 GROUP BY lri.plan_id
);

View File

@ -0,0 +1,24 @@
create function getPY(in_string varchar(32767)) returns mediumtext
BEGIN
DECLARE tmp_str VARCHAR(32767) charset gbk DEFAULT '' ; #截取字符串每次做截取后的字符串存放在该变量中初始为函数参数in_string值
DECLARE tmp_len SMALLINT DEFAULT 0;#tmp_str的长度
DECLARE tmp_char VARCHAR(2) charset gbk DEFAULT '';#截取字符,每次 left(tmp_str,1) 返回值存放在该变量中
DECLARE tmp_rs VARCHAR(32767) charset gbk DEFAULT '';#结果字符串
DECLARE tmp_cc VARCHAR(2) charset gbk DEFAULT '';#拼音字符,存放单个汉字对应的拼音首字符
SET tmp_str = in_string;#初始化将in_string赋给tmp_str
SET tmp_len = LENGTH(tmp_str);#初始化长度
WHILE tmp_len > 0 DO #如果被计算的tmp_str长度大于0则进入该while
SET tmp_char = LEFT(tmp_str,1);#获取tmp_str最左端的首个字符注意这里是获取首个字符该字符可能是汉字也可能不是。
SET tmp_cc = tmp_char;#左端首个字符赋值给拼音字符
IF LENGTH(tmp_char)>1 THEN#判断左端首个字符是多字节还是单字节字符,要是多字节则认为是汉字且作以下拼音获取,要是单字节则不处理。
SELECT ELT(INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC
,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA ,0xCEF4,0xD1B9,0xD4D1),
'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z') INTO tmp_cc; #获得汉字拼音首字符
END IF;
SET tmp_rs = CONCAT(tmp_rs,tmp_cc);#将当前tmp_str左端首个字符拼音首字符与返回字符串拼接
SET tmp_str = SUBSTRING(tmp_str,2);#将tmp_str左端首字符去除
SET tmp_len = LENGTH(tmp_str);#计算当前字符串长度
END WHILE;
RETURN tmp_rs;#返回结果字符串
END;

View File

@ -0,0 +1,17 @@
create function getParentList(rootId varchar(100)) returns varchar(1000)
BEGIN
DECLARE fid varchar(100) default '';
DECLARE str varchar(1000) default rootId;
WHILE rootId is not null do
SET fid =(SELECT relativeserialno FROM flow_task WHERE serialno = rootId);
IF fid is not null THEN
SET str = concat(str, ',', fid);
SET rootId = fid;
ELSE
SET rootId = fid;
END IF;
END WHILE;
return str;
END;

View File

@ -0,0 +1,3 @@
create function getProjectNameByID(projectID varchar(40)) returns varchar(80)
return (select project_name from lb_project_info where id=projectID);

View File

@ -0,0 +1,7 @@
create function getRemainCorpus(p_payment_number varchar(40), p_plan_list int) returns decimal(18,2)
RETURN (
select case when p_plan_list=1 then lcc.clean_lease_money else round(max(ifnull(lcc.clean_lease_money,0))-sum(ifnull(lrp.corpus,0)),2) end from lc_rent_plan lrp
left join lc_calc_condition lcc on lrp.payment_number=lcc.payment_number
where lrp.payment_number=p_payment_number and (case when p_plan_list=1 then lrp.plan_list=p_plan_list else lrp.plan_list<p_plan_list end) group by lrp.payment_number
);

View File

@ -0,0 +1,25 @@
create function getRemainInterest(p_payment_number varchar(40), p_plan_list int, remain_type varchar(40)) returns decimal(18,2)
RETURN
(
select
case when remain_type='interest'
then
scrm.si-listcrm.si
when remain_type='fee' then
scrm.sf-listcrm.sf
when
remain_type='discount'
then scrm.sd-listcrm.sd
else 0 end
from
(SELECT contract_id,
SUM(interest) si,SUM(fee) sf, SUM(discount) sd
FROM contract_rent_month
where payment_number = p_payment_number
)
scrm
LEFT JOIN (SELECT contract_id,
SUM(interest) si,SUM(fee) sf, SUM(discount) sd
FROM contract_rent_month WHERE payment_number = p_payment_number and rent_list<=p_plan_list )
listcrm ON listcrm.contract_id=scrm.contract_id);

View File

@ -0,0 +1,16 @@
create function getRemainInterests(p_payment_number varchar(40), p_plan_list int) returns decimal(18,2)
RETURN (
SELECT
ROUND(
IFNULL(a.suminterest, 0) - SUM(IFNULL(lrp.interest, 0)),
2
)
FROM
lc_rent_plan lrp
LEFT JOIN (SELECT contract_id,payment_number,SUM(interest) AS suminterest FROM lc_rent_plan where payment_number=p_payment_number GROUP BY payment_number) a ON a.payment_number=lrp.payment_number
WHERE lrp.payment_number = p_payment_number
AND lrp.plan_list <= p_plan_list
GROUP BY lrp.payment_number
);

View File

@ -0,0 +1,5 @@
create function getRemainingCorpusForLoan(splandate varchar(40), sbillid varchar(40)) returns varchar(80)
RETURN (
SELECT SUM(lfp.corpus) AS sumcorpus FROM LOAN_FUND_PLAN lfp WHERE lfp.bill_id=sbillid AND lfp.plan_date<=splandate GROUP BY lfp.bill_id
);

View File

@ -0,0 +1,18 @@
create function getRentPenalty(r_payment_number varchar(40), r_plan_list varchar(40), calc_date varchar(40)) returns varchar(200)
RETURN (
SELECT ROUND(MAX(te.rpenalty)+SUM(te.ipenalty)+SUM(te.tpenalty),2) FROM(
SELECT lrp.ID,lrp.PLAN_LIST,lccs.payment_number,
CASE WHEN (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(calc_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(calc_date,'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*(lrp.rent-IFNULL(lric.rent,0)-IFNULL(lrit.rent,0)) ELSE 0 END rpenalty,
CASE WHEN (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(lri.hire_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(IF(STR_TO_DATE(lri.hire_date,'%Y/%m/%d')>STR_TO_DATE(calc_date,'%Y/%m/%d'),calc_date,lri.hire_date),'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*IFNULL(lri.rent,0) ELSE 0 END ipenalty,
CASE WHEN (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(lrit.hire_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(IF(STR_TO_DATE(lrit.hire_date,'%Y/%m/%d')>STR_TO_DATE(calc_date,'%Y/%m/%d'),calc_date,lrit.hire_date),'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*IFNULL(lrit.rent,0) ELSE 0 END tpenalty
FROM (SELECT * FROM lc_calc_condition_status WHERE PAYMENT_NUMBER=r_payment_number) lccs
LEFT JOIN lc_calc_condition lcc ON lcc.PAYMENT_NUMBER=lccs.PAYMENT_NUMBER
LEFT JOIN CONFIGURATE c ON 1=1 AND c.attr_id='免罚息天数配置' AND c.field1='汽车'
LEFT JOIN lc_rent_plan lrp ON lrp.PAYMENT_NUMBER=lccs.PAYMENT_NUMBER AND LRP.PAYMENT_NUMBER=r_payment_number
LEFT JOIN (SELECT * FROM lc_rent_income WHERE hire_date<calc_date ) lri ON lri.PLAN_ID=lrp.ID AND lri.ROLL_BACK='0' AND LRI.PAYMENT_NUMBER=r_payment_number
LEFT JOIN (SELECT contract_id,plan_id,SUM(rent) rent,MAX(hire_date) hire_date FROM lc_rent_income WHERE ROLL_BACK='0' AND PAYMENT_NUMBER=r_payment_number AND STR_TO_DATE(hire_date,'%Y/%m/%d')<=STR_TO_DATE(calc_date,'%Y/%m/%d') GROUP BY contract_id,plan_id) lric ON lric.PLAN_ID=lrp.ID
LEFT JOIN (SELECT contract_id,plan_id,SUM(rent) rent,MAX(hire_date) hire_date FROM lc_rent_income_temp WHERE ROLL_BACK='0' AND PAYMENT_NUMBER=r_payment_number AND IS_FLOWING='0' GROUP BY contract_id,plan_id) lrit ON lrit.PLAN_ID=lrp.ID
WHERE lccs.payment_number=r_payment_number AND lrp.plan_list=r_plan_list
) te GROUP BY te.payment_number,te.id
);

View File

@ -0,0 +1,235 @@
create function getRentPenalty2(r_payment_number varchar(40), r_plan_list varchar(40), calc_date varchar(40)) returns varchar(200)
RETURN (
select t.plan_penalty from (
SELECT
`l`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,
`l`.`PLAN_LIST` AS `PLAN_LIST`,
`l`.`PLAN_DATE` AS `PLAN_DATE`,
ROUND(
SUM(
(
CASE
WHEN (
(
STR_TO_DATE(`l`.`PLAN_DATE`, '%Y/%m/%d') + c.attr_value
) < IF(
(`ll`.`hire_date` > calc_date),
calc_date,
`ll`.`hire_date`
)
)
THEN (
(
(`lcc`.`PENA_RATE` / 10000) * (
TO_DAYS(
IF(
(`ll`.`hire_date` > calc_date),
calc_date,
`ll`.`hire_date`
)
) - TO_DAYS(
STR_TO_DATE(`l`.`PLAN_DATE`, '%Y/%m/%d')
)
)
) * IFNULL(`ll`.`RENT`, 0)
)
ELSE 0
END
)
),
2
) AS `plan_penalty`,
ROUND(
SUM(
(
IFNULL(`ll`.`PENALTY`, 0) + IFNULL(`ll`.`PENALTY_ADJUST`, 0)
)
),
2
) AS `income_penalty`,
ROUND(
(
SUM(
(
CASE
WHEN (
(
STR_TO_DATE(`l`.`PLAN_DATE`, '%Y/%m/%d') + c.attr_value
) < IF(
(`ll`.`hire_date` > calc_date),
calc_date,
`ll`.`hire_date`
)
)
THEN (
(
(`lcc`.`PENA_RATE` / 10000) * (
TO_DAYS(
IF(
(`ll`.`hire_date` > calc_date),
calc_date,
`ll`.`hire_date`
)
) - TO_DAYS(
STR_TO_DATE(`l`.`PLAN_DATE`, '%Y/%m/%d')
)
)
) * IFNULL(`ll`.`RENT`, 0)
)
ELSE 0
END
)
) - SUM(
(
IFNULL(`ll`.`PENALTY`, 0) + IFNULL(`ll`.`PENALTY_ADJUST`, 0)
)
)
),
2
) AS `penalty`
FROM
(
(
(
`apzl`.`lc_calc_condition` `lcc`
LEFT JOIN `apzl`.`lc_calc_condition_status` `lccs`
ON (
(
`lcc`.`PAYMENT_NUMBER` = `lccs`.`PAYMENT_NUMBER`
)
)
LEFT JOIN CONFIGURATE c ON 1=1 AND c.attr_id='免罚息天数配置' AND c.field1='汽车'
)
LEFT JOIN `apzl`.`lc_rent_plan` `l`
ON (
(
`lccs`.`PAYMENT_NUMBER` = `l`.`PAYMENT_NUMBER`
)
)
)
LEFT JOIN
(SELECT
`lri`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,
`lri`.`PLAN_LIST` AS `PLAN_LIST`,
`lri`.`RENT` AS `RENT`,
`lri`.`PENALTY` AS `PENALTY`,
`lri`.`PENALTY_ADJUST` AS `PENALTY_ADJUST`,
STR_TO_DATE(`lri`.`HIRE_DATE`, '%Y/%m/%d') AS `hire_date`
FROM
`apzl`.`lc_rent_income` `lri`
WHERE (`lri`.`ROLL_BACK` = '0')
UNION
ALL
SELECT
`lrit`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,
`lrit`.`PLAN_LIST` AS `PLAN_LIST`,
`lrit`.`RENT` AS `RENT`,
`lrit`.`PENALTY` AS `PENALTY`,
`lrit`.`PENALTY_ADJUST` AS `PENALTY_ADJUST`,
STR_TO_DATE(`lrit`.`HIRE_DATE`, '%Y/%m/%d') AS `hire_date`
FROM
`apzl`.`lc_rent_income_temp` `lrit`
WHERE (
(`lrit`.`ROLL_BACK` = '0')
AND (`lrit`.`IS_FLOWING` = '0')
)
UNION
ALL
SELECT
`lrp`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,
`lrp`.`PLAN_LIST` AS `PLAN_LIST`,
(
(
`lrp`.`RENT` - IFNULL(`lr`.`srent`, 0)
) - IFNULL(`lrt`.`srent`, 0)
) AS `rent`,
0 AS `0`,
0 AS `0`,
calc_date AS `hire_date`
FROM
(
(
`apzl`.`lc_rent_plan` `lrp`
LEFT JOIN
(SELECT
`apzl`.`lc_rent_income`.`PAYMENT_NUMBER` AS `payment_number`,
`apzl`.`lc_rent_income`.`PLAN_LIST` AS `plan_list`,
SUM(`apzl`.`lc_rent_income`.`RENT`) AS `srent`
FROM
`apzl`.`lc_rent_income`
WHERE (
`apzl`.`lc_rent_income`.`ROLL_BACK` = '0'
)
GROUP BY `apzl`.`lc_rent_income`.`PAYMENT_NUMBER`,
`apzl`.`lc_rent_income`.`PLAN_LIST`) `lr`
ON (
(
(
`lr`.`payment_number` = `lrp`.`PAYMENT_NUMBER`
)
AND (
`lr`.`plan_list` = `lrp`.`PLAN_LIST`
)
)
)
)
LEFT JOIN
(SELECT
`apzl`.`lc_rent_income_temp`.`PAYMENT_NUMBER` AS `payment_number`,
`apzl`.`lc_rent_income_temp`.`PLAN_LIST` AS `plan_list`,
SUM(
`apzl`.`lc_rent_income_temp`.`RENT`
) AS `srent`
FROM
`apzl`.`lc_rent_income_temp`
WHERE (
(
`apzl`.`lc_rent_income_temp`.`ROLL_BACK` = '0'
)
AND (
`apzl`.`lc_rent_income_temp`.`IS_FLOWING` = '0'
)
)
GROUP BY `apzl`.`lc_rent_income_temp`.`PAYMENT_NUMBER`,
`apzl`.`lc_rent_income_temp`.`PLAN_LIST`) `lrt`
ON (
(
(
`lrt`.`payment_number` = `lrp`.`PAYMENT_NUMBER`
)
AND (
`lrt`.`plan_list` = `lrp`.`PLAN_LIST`
)
)
)
)
WHERE (
(
(
`lrp`.`RENT` - IFNULL(`lr`.`srent`, 0)
) - IFNULL(`lrt`.`srent`, 0)
) > 0
)) `ll`
ON (
(
(
`ll`.`PAYMENT_NUMBER` = `l`.`PAYMENT_NUMBER`
)
AND (
`ll`.`PLAN_LIST` = `l`.`PLAN_LIST`
)
)
)
)
WHERE (
(`lccs`.`PLAN_STATUS` = '31')
AND (`l`.`PAYMENT_NUMBER` =r_payment_number)
and l.PLAN_LIST=r_plan_list
)
GROUP BY `l`.`PAYMENT_NUMBER`,
`l`.`PLAN_LIST`,
`l`.`PLAN_DATE`
ORDER BY `l`.`PAYMENT_NUMBER`,
`l`.`PLAN_LIST` ) t
);

View File

@ -0,0 +1,24 @@
create function getRentPenalty3(r_payment_number varchar(40), r_plan_list varchar(40), calc_date varchar(40)) returns varchar(200)
RETURN (
-- SELECT ROUND(MAX(te.rpenalty)+SUM(te.ipenalty)+SUM(te.tpenalty),2) FROM(
SELECT
-- lrp.ID,lrp.PLAN_LIST,lccs.payment_number,
-- 当租金没还完,计算天数不在宽限期
case when lrp.rent>IFNULL(lric.rent,0) and (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(calc_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(calc_date,'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*(lrp.rent)
-- 当租金还完了,还款日期不在宽限期
WHEN lrp.rent<=IFNULL(lric.rent,0) AND (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(lric.hire_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(IF(STR_TO_DATE(lric.hire_date,'%Y/%m/%d')>STR_TO_DATE(calc_date,'%Y/%m/%d'),calc_date,lric.hire_date),'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*(lrp.rent)
ELSE 0 END rpenalty
-- CASE WHEN (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(lri.hire_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(IF(STR_TO_DATE(lri.hire_date,'%Y/%m/%d')>STR_TO_DATE(calc_date,'%Y/%m/%d'),calc_date,lri.hire_date),'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*IFNULL(lri.rent,0) ELSE 0 END ipenalty,
-- CASE WHEN (STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')+c.attr_value)<=STR_TO_DATE(lrit.hire_date,'%Y/%m/%d') THEN lcc.PENA_RATE/10000*(DATEDIFF(STR_TO_DATE(IF(STR_TO_DATE(lrit.hire_date,'%Y/%m/%d')>STR_TO_DATE(calc_date,'%Y/%m/%d'),calc_date,lrit.hire_date),'%Y/%m/%d'),STR_TO_DATE(lrp.PLAN_DATE,'%Y/%m/%d')))*IFNULL(lrit.rent,0) ELSE 0 END tpenalty
FROM
(select * from lc_rent_plan where PAYMENT_NUMBER=r_payment_number and plan_list=r_plan_list) lrp
LEFT JOIN lc_calc_condition_status lccs ON lrp.PAYMENT_NUMBER=lccs.PAYMENT_NUMBER
LEFT JOIN lc_calc_condition lcc ON lcc.PAYMENT_NUMBER=lccs.PAYMENT_NUMBER
LEFT JOIN CONFIGURATE c ON 1=1 AND c.attr_id='免罚息天数配置' AND c.field1='汽车'
-- LEFT JOIN lc_rent_income lri ON lri.PLAN_ID=lrp.ID AND lri.ROLL_BACK='0' AND LRI.PAYMENT_NUMBER=r_payment_number
LEFT JOIN (SELECT contract_id,plan_id,SUM(rent) rent,MAX(hire_date) hire_date FROM lc_rent_income WHERE ROLL_BACK='0' AND PAYMENT_NUMBER=r_payment_number AND STR_TO_DATE(hire_date,'%Y/%m/%d')<=STR_TO_DATE(calc_date,'%Y/%m/%d') GROUP BY contract_id,plan_id) lric ON lric.PLAN_ID=lrp.ID
-- LEFT JOIN (SELECT contract_id,plan_id,SUM(rent) rent,MAX(hire_date) hire_date FROM lc_rent_income_temp WHERE ROLL_BACK='0' AND PAYMENT_NUMBER=r_payment_number AND IS_FLOWING='0' GROUP BY contract_id,plan_id) lrit ON lrit.PLAN_ID=lrp.ID
-- WHERE lccs.payment_number=r_payment_number AND lrp.plan_list=r_plan_list
-- ) te GROUP BY te.payment_number,te.id
);

View File

@ -0,0 +1,14 @@
create function getSerialNumber(in_type varchar(40)) returns int
BEGIN
DECLARE sid INT;
set sid=0;
-- SELECT order_number_ + 1 INTO sid from t_serial_number where type_='凭证号' AND year_=substr(date_format(sysdate(),'%Y%m%d'),1,4) ;
SELECT order_number_ + 1 INTO sid FROM t_serial_number WHERE type_=in_type AND year_='2018' ;
IF sid = 0 THEN
set sid = 1;
INSERT INTO t_serial_number (id, order_number_,type_,year_) VALUES (replace(uuid(),'-',''), sid,in_type,'2018');
ELSE UPDATE t_serial_number SET order_number_ = sid where type_=in_type AND year_='2018';
END IF;
RETURN sid;
END;

View File

@ -0,0 +1,23 @@
create function getTax(LEAS_FORM varchar(2), taxType varchar(12), indate varchar(32)) returns double(3,2)
BEGIN
RETURN (
select
CASE WHEN taxType='租息' then (ROUND(TI.INTEREST_RATE/100,2)+1)
WHEN taxType='本金' THEN (ROUND(TI.CORPUS_RATE/100,2)+1)
WHEN taxType='手续费' THEN (ROUND(TI.HAND_RATE/100,2)+1)
WHEN taxType='留购价' THEN (ROUND(TI.NOMINAL_RATE/100,2)+1)
WHEN taxType='GPS' THEN (ROUND(TI.gps_install_fee/100,2)+1)
WHEN taxType='违约金' THEN (ROUND(TI.penalty/100,2)+1)
WHEN taxType='租金' THEN (ROUND(TI.rent/100,2)+1)
WHEN taxType='逾期利息' THEN (ROUND(TI.break_money/100,2)+1)
end
as tax
from
TAX_INFO TI
WHERE
TI.LEASE_FORM = LEAS_FORM
AND DATEDIFF(left(indate,10),TI.CONTRACT_DATE) =(SELECT MIN(DATEDIFF(LEFT(indate,10),CONTRACT_DATE)) AS CONTRACT_DATE FROM TAX_INFO WHERE lease_form=LEAS_FORM
AND DATEDIFF(LEFT(indate,10),CONTRACT_DATE)>=0
));
END;

View File

@ -0,0 +1,23 @@
create function getTaxs(LEAS_FORM varchar(2), taxType varchar(12), indate varchar(32)) returns double(3,2)
BEGIN
RETURN (
SELECT
CASE WHEN taxType='租息' THEN (ROUND(TI.INTEREST_RATE/100,2))
WHEN taxType='本金' THEN (ROUND(TI.CORPUS_RATE/100,2))
WHEN taxType='手续费' THEN (ROUND(TI.HAND_RATE/100,2))
WHEN taxType='留购价' THEN (ROUND(TI.NOMINAL_RATE/100,2))
WHEN taxType='GPS' THEN (ROUND(TI.gps_install_fee/100,2))
WHEN taxType='违约金' THEN (ROUND(TI.penalty/100,2))
WHEN taxType='租金' THEN (ROUND(TI.rent/100,2))
WHEN taxType='逾期利息' THEN (ROUND(TI.break_money/100,2))
END
AS tax
FROM
TAX_INFO TI
WHERE
TI.LEASE_FORM = LEAS_FORM
AND DATEDIFF(LEFT(indate,10),TI.CONTRACT_DATE) =(SELECT MIN(DATEDIFF(LEFT(indate,10),CONTRACT_DATE)) AS CONTRACT_DATE FROM TAX_INFO WHERE lease_form=LEAS_FORM
AND DATEDIFF(LEFT(indate,10),CONTRACT_DATE)>=0
));
END;

View File

@ -0,0 +1,3 @@
create function getTest(pOrgID varchar(40)) returns varchar(80)
RETURN (SELECT pOrgID FROM dual);

View File

@ -0,0 +1,5 @@
create function getUUID(str varchar(255)) returns varchar(255)
BEGIN
return REPLACE(str,'-','');
END;

View File

@ -0,0 +1,3 @@
create function getUserName(pUserID varchar(40)) returns varchar(80)
return (select UserName from user_info where UserId = pUserID);

View File

@ -0,0 +1,13 @@
create function getYongJingXiShu(leasform varchar(255), factdate varchar(255)) returns varchar(255)
BEGIN
RETURN
(
SELECT
MAX(CASE WHEN lps.dis_attribute=1 THEN lps.fix_amount
WHEN lps.dis_attribute=2 THEN lps.dis_ratio
ELSE 0 END) aaa
FROM LB_PRODUCT_SALVAGE lps
WHERE lps.product_id=leasform
AND lps.effect_start<= factdate AND lps.effect_end>=factdate);
END;

3
src_sql/function/nvl.sql Normal file
View File

@ -0,0 +1,3 @@
create function nvl(pValue decimal(24,6), pDefault decimal(24,6)) returns decimal(24,6)
RETURN COALESCE(pValue,pDefault);

View File

@ -0,0 +1,124 @@
create procedure batch_income()
begin
declare eb_id varchar(32);
declare eb_contract_id varchar(50);
declare eb_payment_number varchar(50);
declare eb_rent_list_income varchar(50);
declare eb_fact_date varchar(20);
declare eb_client_bank varchar(200);
declare eb_client_account varchar(200);
declare eb_client_acc_number varchar(200);
declare eb_own_bank varchar(200);
declare eb_own_account varchar(200);
declare eb_ownacc_number varchar(200);
declare done boolean default false;
declare ebank_data cursor for
select id,
contract_id,
payment_number,
rent_list_income,
fact_date,
client_bank,
client_account,
client_acc_number,
own_bank,
own_account,
ownacc_number from lc_ebank where id in(select ebank_number from lc_ebank_process);
declare continue handler for not found set done=true;
open ebank_data;
myLoop:loop
fetch ebank_data into eb_id,
eb_contract_id,
eb_payment_number,
eb_rent_list_income,
eb_fact_date,
eb_client_bank,
eb_client_account,
eb_client_acc_number,
eb_own_bank,
eb_own_account,
eb_ownacc_number;
if done then leave myLoop;
end if;
if eb_contract_id is not null and eb_contract_id<>''
and eb_payment_number is not null and eb_payment_number<>''
and eb_rent_list_income is not null and eb_rent_list_income<>''
then
INSERT INTO lc_rent_income (id,
quot_id,
cust_id,
project_id,
project_plan_number,
contract_id,
contract_plan_number,
payment_number,
plan_id,
plan_list,
hire_list,
hire_date,
rent,
corpus,
interest,
penalty,
corpus_adjust,
interest_adjust,
penalty_adjust,
coin,
ebank_number,
hire_bank,
hire_account,
hire_number,
own_bank,
own_account,
own_number,
memo,
roll_back,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime)
SELECT REPLACE(UUID(),'-',''),
quot_id,
cust_id,
project_id,
project_plan_number,
contract_id,
contract_plan_number,
payment_number,
id,
plan_list,
1,
eb_fact_date,
rent,
corpus,
interest,
penalty,
0,
0,
0,
coin,
eb_id,
eb_client_bank,
eb_client_account,
eb_client_acc_number,
eb_own_bank,
eb_own_account,
eb_ownacc_number,
memo,
0,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime FROM lc_rent_plan WHERE contract_id=eb_contract_id AND payment_number=eb_payment_number AND plan_list=eb_rent_list_income;
delete from lc_ebank_process where ebank_number=eb_id;
update lc_ebank set had_money=had_money+mayope_money,mayope_money=mayope_money-mayope_money where id=eb_id;
delete from lc_occupy_rent_list where payment_number=eb_payment_number and plan_list=eb_rent_list_income and flow_name='网银批量核销';
end if;
end loop myLoop;
close ebank_data;
end;

View File

@ -0,0 +1,58 @@
create procedure ebank_match()
BEGIN
DECLARE eb_id VARCHAR(32);
DECLARE eb_mayope_money DECIMAL(22,2);
DECLARE eb_client_name VARCHAR(200);
DECLARE eb_client_acc_number VARCHAR(200);
DECLARE eb_fact_date VARCHAR(32);
DECLARE eb_match VARCHAR(1000) DEFAULT '';
DECLARE ct INT DEFAULT 0;
DECLARE sql_error INT DEFAULT 0;
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE ebank_data CURSOR FOR SELECT id,mayope_money,client_name,client_acc_number,fact_date FROM lc_ebank WHERE invalid<>'Y' AND id NOT IN(SELECT ebank_number FROM lc_ebank_process);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET sql_error=1;
OPEN ebank_data;
myLoop:LOOP
FETCH ebank_data INTO eb_id,eb_mayope_money,eb_client_name,eb_client_acc_number,eb_fact_date;
IF done = TRUE THEN LEAVE myLoop;
END IF;
BEGIN
DECLARE eb_contract_id VARCHAR(50);
DECLARE eb_payment_number VARCHAR(50);
DECLARE eb_rent_list VARCHAR(50);
DECLARE num INT DEFAULT 0;
DECLARE flag BOOLEAN DEFAULT FALSE;
SELECT COUNT(*) num,MIN(lci.id),MIN(lr.PAYMENT_NUMBER),MIN(lr.PLAN_LIST)
INTO num,eb_contract_id,eb_payment_number,eb_rent_list
FROM LC_RENT_PLAN lr
LEFT JOIN lb_contract_info lci ON lci.ID=lr.CONTRACT_ID
LEFT JOIN(SELECT contract_id,client_acc_number FROM lb_tenantry_info WHERE client_acc_number=eb_client_acc_number) AS lti ON lci.id=lti.CONTRACT_ID
LEFT JOIN(SELECT contract_id,customer_name FROM lb_union_lessee WHERE customer_name=eb_client_name) AS lul ON lul.CONTRACT_ID=lci.ID
left join lc_calc_condition_status lccs on lccs.payment_number=lr.payment_number
WHERE (lr.payment_number,lr.plan_list) IN (
SELECT MIN(lrp.PAYMENT_NUMBER) payment_number,MIN(lrp.PLAN_LIST) plan_list FROM lc_rent_plan lrp
WHERE lrp.PAYMENT_NUMBER NOT IN
(SELECT payment_number FROM vi_lc_rent_plan WHERE fact_rent>0 AND fact_rent<rent)
AND lrp.ID NOT IN
(SELECT id FROM vi_lc_rent_plan WHERE fact_rent>=rent) GROUP BY payment_number)
AND lr.RENT=eb_mayope_money AND (CASE WHEN (lti.CLIENT_ACC_NUMBER IS NULL OR lti.CLIENT_ACC_NUMBER='') AND (lul.CUSTOMER_NAME IS NULL OR lul.CUSTOMER_NAME='') THEN FALSE ELSE TRUE END)
and lr.PAYMENT_NUMBER not in(select payment_number from lc_occupy_rent_list) and lccs.plan_status=31;
IF num=1 AND (eb_match LIKE CONCAT('%',eb_payment_number,eb_rent_list,'%'))=0 THEN
START TRANSACTION;
UPDATE lc_ebank SET contract_id=eb_contract_id,payment_number=eb_payment_number,rent_list_income=eb_rent_list WHERE id=eb_id;
INSERT INTO lc_ebank_process (ID,EBANK_NUMBER,PROCESS_MONEY,FLOW_NAME)
VALUES(REPLACE(UUID(),'-',''),eb_id,eb_mayope_money,'网银批量核销');
insert into lc_occupy_rent_list values(REPLACE(UUID(),'-',''),eb_payment_number,eb_rent_list,'网银批量核销','');
SELECT CONCAT(eb_match,',',eb_payment_number,eb_rent_list) INTO eb_match;
set ct = ct + 1;
END IF;
IF sql_error=1 THEN ROLLBACK;
ELSE COMMIT;
END IF;
END;
END LOOP myLoop;
CLOSE ebank_data;
SELECT ct FROM DUAL;
END;

View File

@ -0,0 +1,38 @@
create procedure penalty_over_inint(IN r_plan_id varchar(32), IN r_plan_date varchar(32))
BEGIN
DECLARE r_contract_id VARCHAR(32);
DECLARE r_penaty_rate DECIMAL(18,2);
DECLARE r_all_penalty DECIMAL(18,2);
DECLARE r_penalty_adjust_date INT;
DECLARE r_over_date INT;
-- SET r_penaty_rate=0.05;
-- SET r_penalty_adjust_date=7;
SELECT contract_id INTO r_contract_id FROM lc_rent_plan WHERE id=r_plan_id;
SELECT PENA_RATE,FREE_DEFA_INTER_DAY INTO r_penaty_rate,r_penalty_adjust_date FROM lc_calc_condition
WHERE contract_id=r_contract_id;
SELECT SUM(CASE WHEN difday>0 THEN a.fact_rent*r_penaty_rate*difday/10000 ELSE 0 END),MAX(difday) INTO r_all_penalty,r_over_date
FROM (
SELECT DATEDIFF(fi.hire_date,cp.plan_date) difday,fi.fact_rent FROM lc_rent_plan cp
LEFT OUTER JOIN
(SELECT plan_id,rent fact_rent, hire_date FROM
lc_rent_income
WHERE plan_id=r_plan_id
UNION
SELECT cp.id paln_id,cp.rent-nvl(ci.rent,0) fact_rent,r_plan_date hiredate FROM
lc_rent_plan cp
LEFT OUTER JOIN(
SELECT plan_id,SUM(rent) rent FROM lc_rent_income
WHERE plan_id=r_plan_id
)ci ON cp.id=ci.plan_id
WHERE id=r_plan_id
)fi
ON cp.id=fi.plan_id
WHERE cp.id=r_plan_id
)a;
IF r_over_date<=r_penalty_adjust_date THEN
SET r_all_penalty=0;
END IF;
UPDATE lc_rent_plan SET penalty=r_all_penalty,penalty_overage=r_all_penalty-fact_penalty-fact_penalty_adjust,over_date=r_over_date WHERE id=r_plan_id;
-- select r_all_penalty,r_plan_id;
END;

View File

@ -0,0 +1,205 @@
create procedure proc_card_income(IN l_deduct_docid varchar(32), IN userid varchar(32), IN orgid varchar(32))
begin
declare use_money decimal(22,10) default 0;
declare l_mayope_money decimal(22,10);
declare l_contract_number varchar(32);
declare r_payment_number varchar(32);
declare l_card_data_id varchar(32);
declare l_own_bank varchar(100) default '';
declare l_own_account varchar(100) default '';
declare l_own_number varchar(100) default '';
declare l_client_acc_number varchar(100);
declare l_client_account varchar(100);
declare l_client_bank varchar(100);
declare l_deduct_info_id varchar(32);
declare l_import_date varchar(32);
declare l_export_date varchar(32);
declare done boolean default false;
DECLARE sql_error INT DEFAULT 0;
declare card_data cursor for
select id,mayope_money,client_acc_number,client_account,client_bank,contract_number,payment_number from lc_card_deduct_data where deduct_docid = l_deduct_docid and mayope_money > 0;
declare continue handler for not found set done = true;
open card_data;
myLoop:loop
fetch card_data into l_card_data_id,l_mayope_money,l_client_acc_number,l_client_account,l_client_bank, l_contract_number,r_payment_number;
if done then leave myLoop;
end if;
begin
declare l_payment_number varchar(32);
declare l_plan_list varchar(32);
declare l_rent decimal;
declare l_corpus decimal;
declare l_interest decimal;
declare l_penalty decimal;
declare l_hire_list decimal;
declare subdone boolean default false;
declare rent_plan cursor for
select vlrp.payment_number,vlrp.plan_list,vlrp.rent_over,vlrp.corpus_over,vlrp.interest_over,
vlrp.penalty_over,ifnull(lri.ihire_list, 0) + ifnull(lrit.thire_list, 0) hire_list from vi_lc_rent_plan vlrp left join (select payment_number,plan_list,
count(1) ihire_list from lc_rent_income where roll_back = '0' group by payment_number,plan_list) lri on lri.payment_number = vlrp.payment_number and lri.plan_list = vlrp.plan_list left join
(select payment_number, plan_list,count(1) thire_list from lc_rent_income_temp where roll_back = '0' and is_flowing = '0' group by payment_number,plan_list) lrit on lrit.payment_number = vlrp.payment_number and lrit.plan_list = vlrp.plan_list where vlrp.contract_number = l_contract_number order by plan_list;
declare continue handler for not found set subdone = true;
open rent_plan;
subLoop:loop
fetch rent_plan into l_payment_number,l_plan_list,l_rent,l_corpus,l_interest,l_penalty,l_hire_list;
if subdone then leave subLoop;
end if;
if l_mayope_money > 0 and l_rent + l_penalty > 0 then
insert into lc_rent_income(id,
quot_id,
cust_id,
project_id,
project_plan_number,
contract_id,
contract_plan_number,
payment_number,
plan_id,
plan_list,
hire_list,
hire_date,
rent,
corpus,
interest,
penalty,
corpus_adjust,
interest_adjust,
penalty_adjust,
settle_method,
carddeduct_id,
carddeduct_status,
hire_object,
hire_bank,
hire_account,
hire_number,
own_bank,
own_account,
own_number,
roll_back,
inputuserid,
inputorgid,
inputtime)
select replace(UUID(), '-', ''),
lrp.quot_id,
lrp.cust_id,
lrp.project_id,
lrp.project_plan_number,
lrp.contract_id,
lrp.contract_plan_number,
lrp.payment_number,
lrp.id,
lrp.plan_list,
l_hire_list +1,
date_format(now(), '%Y/%m/%d %H:%i:%s'),
round(case when lio.first='PENALTY' then
case when l_mayope_money - l_penalty >= l_rent then l_rent else
case when l_mayope_money > l_penalty
then l_mayope_money - l_penalty else 0 end end
else
case when l_mayope_money >= l_rent then l_rent else l_mayope_money end
end,2),
round(case when lio.first='CORPUS' then
case when l_mayope_money >= l_corpus
then l_corpus else l_mayope_money end
when lio.second='CORPUS' and lio.first='INTEREST' then
case when l_mayope_money > l_interest then
case when l_mayope_money - l_interest >=
l_corpus then l_corpus else l_mayope_money - l_interest end
else 0 end
when lio.second='CORPUS' and lio.first='PENALTY' then
case when l_mayope_money > l_penalty then
case when l_mayope_money - l_penalty >=
l_corpus then l_corpus else l_mayope_money - l_penalty end
else 0 end
else
case when l_mayope_money > l_interest +
l_penalty then
case when l_mayope_money - l_interest -
l_penalty >= l_corpus
then l_corpus else l_mayope_money -
l_interest - l_penalty end
else 0 end
end,2),
round(case when lio.first='INTEREST' then
case when l_mayope_money >= l_interest
then l_interest else l_mayope_money end
when lio.second='INTEREST' and lio.first='CORPUS' then
case when l_mayope_money>l_corpus then
case when l_mayope_money-l_corpus >=
l_interest then l_interest else l_mayope_money-l_corpus end
else 0 end
when lio.second='INTEREST' and lio.first='PENALTY' then
case when l_mayope_money > l_penalty then
case when l_mayope_money - l_penalty >=
l_interest then l_interest else l_mayope_money - l_penalty end
else 0 end
else
case when l_mayope_money>l_corpus + l_penalty then
case when l_mayope_money-l_corpus - l_penalty >= l_interest then l_interest else l_mayope_money - l_corpus -
l_penalty end
else 0 end
end,2),
round(case when lio.first='PENALTY' then
case when l_mayope_money >= l_penalty
then l_penalty else l_mayope_money end
when lio.second='PENALTY' and lio.first='CORPUS' then
case when l_mayope_money > l_corpus then
case when l_mayope_money - l_corpus >=
l_penalty then l_penalty else l_mayope_money - l_corpus end
else 0 end
when lio.second='PENALTY' and lio.first='INTEREST' then
case when l_mayope_money > l_interest then
case when l_mayope_money - l_interest >=
l_penalty then l_penalty else l_mayope_money - l_interest end
else 0 end
else
case when l_mayope_money > l_corpus +
l_interest then
case when l_mayope_money - l_corpus -
l_interest >= l_penalty
then l_penalty else l_mayope_money - l_corpus - l_interest end
else 0 end
end,2),
0,0,0,
'settlemethod13',
l_card_data_id,
'have_income',
lul.customer_id,
l_client_bank,
l_client_account,
l_client_acc_number,
l_own_bank,
l_own_account,
l_own_number,
'0',
userid,
orgid,
date_format(now(),'%Y/%m/%d %H:%i:%s')
from lc_rent_plan lrp left join lc_calc_condition lcc on lcc.payment_number = l_payment_number
left join lc_income_order lio on 1 = 1 and
lio.repayment_type=(case when curdate()-
str_to_date(lrp.plan_date,'%Y/%m/%d')>cast(lcc.free_defa_inter_day as
decimal(5,0)) then 'over_income' else 'normal_income' end)
left join lb_union_lessee lul on lul.contract_id = lcc.contract_id
and is_main='Y' where lrp.payment_number = l_payment_number
and lrp.plan_list = l_plan_list;
-- 更新卡扣数据
update lc_card_deduct_data set had_money = had_money + (case when l_mayope_money >= l_rent + l_penalty then l_rent + l_penalty else l_mayope_money end),
mayope_money = mayope_money - (case when l_mayope_money >= l_rent + l_penalty
then l_rent + l_penalty else l_mayope_money end)
where id = l_card_data_id;
-- 更新已核销金额
set use_money = use_money + (case when l_mayope_money >= l_rent + l_penalty then l_rent + l_penalty else l_mayope_money end);
-- 更新可核销金额
set l_mayope_money = l_mayope_money - (case when l_mayope_money >= l_rent +
l_penalty then l_rent + l_penalty else l_mayope_money end);
elseif l_mayope_money = 0 then
leave subLoop;
end if;
end loop subLoop;
end;
delete from lc_occupy_rent_list where payment_number = r_payment_number and flow_name = '卡扣核销';
end loop myLoop;
update lc_card_deduct_doc set allhad_money = allhad_money + use_money,allmayope_money = allmayope_money - use_money,status = (case when allhad_money - use_money <= 0 then 'have_income' else case when use_money = 0 then status else 'part_icome' end end) where id = l_deduct_docid;
close card_data;
end;

View File

@ -0,0 +1,24 @@
create procedure proc_contract_Making(IN proId varchar(32), IN contractId varchar(32), IN contractNo varchar(32), IN carNumber varchar(50), IN carColor varchar(50), IN carNo varchar(50))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
DECLARE CONTINUE HANDLER FOR NOT FOUND SET result_code = 2; -- 如果表中没有下一条数据则置为2
-- 从项目层到合同层的sql
INSERT INTO lb_contract_info (distributor_id,ID,contract_no,CONTRACT_NUMBER,CONTRACT_STATUS,PRODUCT_NAME,product_id,PROJECT_ID,PROJECT_DATE,PROJECT_TYPE,PROJECT_NAME,RENT_METHOD,LEAS_FORM,PROJECT_DEPT,PROJECT_MANAGE,END_DATE,INPUTUSERID,INPUTORGID,INPUTTIME,IS_PRINT,CONTRACT_INVOICE_STATUS,BUSINESSTYPE,CAR_TYPE,inputName,inputTel,HaveCommission,IS_NETCAR)
(SELECT lpi.distributor_id,contractId,contractNo,contractNo,'21',lpi.PRODUCT_NAME,lpi.product_id,lpi.id,DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),lpi.PROJECT_TYPE,lpi.PROJECT_NAME,'010',lpi.LEAS_FORM,lpi.PROJECT_DEPT,lpi.PROJECT_MANAGE,lpi.END_DATE,lpi.INPUTUSERID,lpi.INPUTORGID,DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'noprint','cistatus01',
lpi.BUSINESSTYPE,lpi.CAR_TYPE,lpi.inputName,lpi.inputTel,lpi.HaveCommission,lpi.IS_NETCAR FROM lb_project_info lpi WHERE lpi.id=proId);
-- 修改租赁物的 车架号、颜色、发动机号,合同号
UPDATE LB_EQUIPMENT_CAR SET FRAME_NUMBER=carNumber,CAR_COLOUR=carColor,ENGINE_NUMBER=carNo,CONTRACT_ID=contractId WHERE PROJECT_ID=proId;
-- 向LB_UNION_LESSEE添加合同ID
UPDATE LB_UNION_LESSEE SET contract_id=contractId WHERE project_id=proId;
-- 想共同申请人或者配偶添加contracID字段
UPDATE CUSTOMER_FAMILY SET contract_id=contractId WHERE project_id=proId;
-- 向担保人信息表中
UPDATE LB_GUARANTEE_UNIT SET contract_id=contractId WHERE project_id=proId;
-- 向扣款卡信息表中
UPDATE CUSTOMER_ACCOUNT SET contract_id=contractId WHERE project_id=proId;
-- 更新项目进度表
INSERT INTO BUSINESS_STATUS (id,contract_number,business_status) (SELECT REPLACE(UUID(),'-','') AS id,contractNo,'11');
SELECT result_code;
END;

View File

@ -0,0 +1,105 @@
create procedure proc_contract_discount_month_temp()
BEGIN
/*
*
*/
-- 定义全局变量
DECLARE p_contract_id VARCHAR(32); -- 合同id
DECLARE p_discount DECIMAL(22,2) ; -- 贴息金额
DECLARE tax_rate DECIMAL(22,2) ; -- 租息税率, 当前1.06(回租)
DECLARE p_recive_date VARCHAR(32); -- 贴息导入日期
DECLARE p_lease_term VARCHAR(32); -- 最大期次
DECLARE v_discount DECIMAL(22,2) DEFAULT 0.00; -- 未计提贴息金额
DECLARE done BOOLEAN DEFAULT FALSE; -- 用于判断最外层循环是否结束
-- 开启游标
DECLARE contract_info CURSOR FOR SELECT
lci.id,
MAX(ld.discount_money),
MAX(ld.discount_money),
getTax(MIN(lci.leas_form),'租息',MIN(lcc.start_date)),
DATE_FORMAT(MAX(ld.INPUTTIME),'%Y/%m/%d'),
MAX(lcc.LEASE_TERM)
FROM
LB_DISCOUNT ld
INNER JOIN
lb_contract_info lci ON lci.contract_no=ld.contract_no
INNER JOIN
lc_calc_condition lcc ON lcc.contract_id=lci.id
INNER JOIN
contract_rent_month crm ON crm.contract_id=lci.id
WHERE
crm.discount IS NULL
GROUP BY lci.id;
-- 如果上边SQL没有值, 将done赋值为true, 用于结束循环
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 开启游标
OPEN contract_info;
-- 控制循环
clyLoop:LOOP
-- 将上边SQL查到的值, 赋值给全局变量
FETCH contract_info INTO p_contract_id,p_discount,v_discount,tax_rate,p_recive_date,p_lease_term;
-- 如果done=true, 结束循环
IF done THEN LEAVE clyLoop; END IF;
BEGIN
-- 定义当前代码块全局变量
DECLARE al_discount DECIMAL(22,2) DEFAULT 0.00; -- 已计提贴息金额
DECLARE r_discount DECIMAL(22,2) DEFAULT 0.00; -- 当期贴息金额
DECLARE r_list VARCHAR(10); --
DECLARE r_date VARCHAR(10); --
DECLARE bilv DECIMAL(22,6) DEFAULT 0.00; --
DECLARE subdone BOOLEAN DEFAULT FALSE; -- 用于判断下方循环是否结束
-- 定义游标
DECLARE rent_info CURSOR FOR SELECT
crm.formula,
crm.rent_list,
lrp.plan_date
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
WHERE
crm.contract_id =p_contract_id
ORDER BY
crm.contract_id,rent_list;
-- 判断上边SQL是否还有数据, 没有则变更subdone为true
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
-- 开启游标
OPEN rent_info;
-- 控制循环
subLoop:LOOP
-- 给全局变量赋值
FETCH rent_info INTO bilv,r_list,r_date;
-- 如果没数据了, 关闭循环
IF subdone THEN LEAVE subLoop; END IF;
BEGIN
-- 如果最后一期, 贴息金额等于总金额-已分摊的所有金额
IF r_list=p_lease_term THEN
UPDATE contract_rent_month SET discout_tax=p_discount-al_discount,discount=ROUND((p_discount-al_discount)/tax_rate,2),leftdiscount=0 WHERE contract_id=p_contract_id AND rent_list=r_list;
SET v_discount=v_discount-r_discount;
-- 导入之前的分摊金额都为0
ELSE IF DATE_FORMAT(r_date,'%Y%m%d')-DATE_FORMAT(p_recive_date,'%Y%m%d')<0 THEN
UPDATE contract_rent_month SET discout_tax=0,discount=0,leftdiscount=p_discount WHERE contract_id=p_contract_id AND rent_list=r_list;
SET r_discount=r_discount+ROUND(bilv*IFNULL(p_discount,0),2);
ELSE
-- 其他的每一期都按照一定的逻辑算
SET r_discount=r_discount+ROUND(bilv*IFNULL(p_discount,0),2);
UPDATE contract_rent_month SET discout_tax=r_discount,discount=ROUND(r_discount/tax_rate,2),leftdiscount=v_discount-r_discount WHERE contract_id=p_contract_id AND rent_list=r_list;
SET v_discount=v_discount-r_discount;
SET al_discount=al_discount+r_discount;
SET r_discount=0;
END IF;
END IF;
END;
END LOOP;
CLOSE rent_info;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,97 @@
create procedure proc_contract_rent_month()
BEGIN
DECLARE p_tax_rate DECIMAL(18,2) DEFAULT 1.06;
DECLARE p_interest DECIMAL(20,16);
DECLARE p_leas_form VARCHAR(32);
DECLARE n_interest DECIMAL(20,16);
DECLARE n_formula VARCHAR(32);
DECLARE l_formula VARCHAR(32);
DECLARE p_contract_id VARCHAR(32);
DECLARE p_payment_number VARCHAR(32);
DECLARE p_all_interest VARCHAR(32);
DECLARE p_handling_charge_money VARCHAR(32);
DECLARE p_remain_corpus VARCHAR(32);
DECLARE p_prev_plan_date VARCHAR(32);
DECLARE p_year_rate VARCHAR(32);
DECLARE p_day_rate VARCHAR(32);
DECLARE p_month_interest DECIMAL(20,16);
DECLARE income_number VARCHAR(32);
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE contract_info CURSOR FOR
SELECT lci.leas_form,lcc.contract_id p_contract_id,lcc.payment_number p_payment_number,IFNULL(lr.interest,0) p_all_interest,lcc.handling_charge_money/1.06 p_handling_charge_money,lcc.clean_lease_money p_remain_corpus,lcc.start_date p_prev_plan_date,lcc.year_rate p_year_rate,lcc.year_rate/100/360 p_day_rate,
CASE WHEN SIGN((ROUND(lcc.clean_lease_money*(lcc.year_rate/100/360),2)*(TIMESTAMPDIFF(DAY,DATE_FORMAT(lcc.start_date,'%Y/%m/%d'),LAST_DAY(DATE_FORMAT(lcc.start_date,'%Y/%m/%d')))))-0)=1 THEN lcc.clean_lease_money*(lcc.year_rate/100/360)*(TIMESTAMPDIFF(DAY,DATE_FORMAT(lcc.start_date,'%Y/%m/%d'),LAST_DAY(DATE_FORMAT(lcc.start_date,'%Y/%m/%d')))) ELSE 0 END AS p_month_interest,lcc.INCOME_NUMBER income_number FROM lc_calc_condition lcc LEFT JOIN lb_contract_info lci ON lci.id = lcc.contract_id LEFT JOIN (SELECT contract_id,SUM(interest/1.06) interest FROM lc_rent_plan GROUP BY contract_id) lr ON lr.contract_id = lcc.contract_id WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND nvl(lr.interest,0) > 0 AND lci.contract_status BETWEEN 31 AND 100 AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust) and lci.businesstype='1';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN contract_info;
clyLoop:LOOP
FETCH contract_info INTO p_leas_form,p_contract_id,p_payment_number, p_all_interest, p_handling_charge_money,p_remain_corpus,p_prev_plan_date,p_year_rate,p_day_rate,p_month_interest,income_number;
IF done THEN LEAVE clyLoop;
END IF;
BEGIN
DECLARE al_apport_handling_money DECIMAL(22,16) DEFAULT 0.00;
DECLARE rent_time_limit INT DEFAULT 0;
DECLARE hc_money DECIMAL(22,16) DEFAULT 0.00;
IF (p_leas_form ='01') THEN SET p_tax_rate=1.16 ;
END IF;
SET rent_time_limit=income_number;
SET n_interest =p_month_interest;
SET n_formula = '';
INSERT INTO contract_rent_month(id,rent_list,interest,fee,accrued_date,start_date,end_date,
formula,hand_formula,create_date,contract_id,payment_number)
VALUES(REPLACE(UUID(),'-',''),'0',ROUND(n_interest/p_tax_rate,2),
ROUND(CASE WHEN SIGN(p_handling_charge_money*ROUND(n_interest/p_tax_rate,2)-0)=1 THEN p_handling_charge_money*(n_interest/p_tax_rate)/p_all_interest ELSE 0 END,2),
DATE_FORMAT(p_prev_plan_date,'%Y/%m'),
DATE_ADD(p_prev_plan_date,INTERVAL -DAY(p_prev_plan_date)+1 DAY),
LAST_DAY(p_prev_plan_date),
n_formula,'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),p_contract_id,p_payment_number);
SET al_apport_handling_money=al_apport_handling_money+ROUND((CASE WHEN SIGN(p_handling_charge_money*ROUND(n_interest/p_tax_rate,2)-0)=1 THEN p_handling_charge_money*(n_interest/p_tax_rate)/p_all_interest ELSE 0 END),2);
SET n_formula = '';
BEGIN
DECLARE r_interest DECIMAL(20,16);
DECLARE r_all_remain_corpus DECIMAL(20,2);
DECLARE r_plan_date VARCHAR(32);
DECLARE r_plan_list VARCHAR(32);
DECLARE subdone BOOLEAN DEFAULT FALSE;
DECLARE rent_info CURSOR FOR
SELECT interest,all_remain_corpus,plan_date,plan_list FROM lc_rent_plan WHERE contract_id = p_contract_id ORDER BY contract_id,plan_list;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
OPEN rent_info;
subLoop:LOOP
FETCH rent_info INTO r_interest,r_all_remain_corpus,r_plan_date,r_plan_list;
IF subdone THEN LEAVE subLoop;
END IF;
BEGIN
SET p_interest = ((CASE WHEN r_interest = 0 THEN 0 ELSE r_interest END)-n_interest)/p_tax_rate;
SET n_interest = CASE WHEN ROUND(r_all_remain_corpus*p_day_rate,2)*(
TIMESTAMPDIFF(DAY,DATE_FORMAT(r_plan_date,'%Y/%m/%d'),LAST_DAY(DATE_FORMAT(r_plan_date,'%Y/%m/%d')))
) = 0 THEN 0 ELSE (r_all_remain_corpus*p_day_rate)*(TIMESTAMPDIFF(DAY,DATE_FORMAT(r_plan_date,'%Y/%m/%d'),LAST_DAY(DATE_FORMAT(r_plan_date,'%Y/%m/%d')))) END;
SET l_formula = '';
IF r_plan_list=rent_time_limit THEN
SET hc_money=p_handling_charge_money-al_apport_handling_money;
ELSE SET hc_money=ROUND((CASE WHEN SIGN(p_handling_charge_money*ROUND(p_interest+n_interest,2)-0)=1 THEN p_handling_charge_money*(p_interest+n_interest/p_tax_rate)/p_all_interest ELSE 0 END),2);
END IF;
INSERT INTO contract_rent_month(id,rent_list,interest,fee,accrued_date,start_date,end_date,formula,hand_formula,create_date,contract_id,payment_number)
VALUES(REPLACE(UUID(),'-',''),r_plan_list,ROUND(p_interest+n_interest/p_tax_rate,2),hc_money,
DATE_FORMAT(r_plan_date,'%Y/%m'),
DATE_ADD(r_plan_date,INTERVAL -DAY(r_plan_date)+1 DAY),
LAST_DAY(r_plan_date),
'','',DATE_FORMAT(NOW(),'%Y/%m/%d'),p_contract_id,p_payment_number);
SET n_formula = l_formula;
SET al_apport_handling_money=al_apport_handling_money+ROUND((CASE WHEN SIGN(p_handling_charge_money*ROUND(p_interest+n_interest,2)-0)=1 THEN p_handling_charge_money*(p_interest+n_interest/p_tax_rate)/p_all_interest ELSE 0 END),2);
END;
END LOOP;
CLOSE rent_info;
END;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,69 @@
create procedure proc_contract_rent_month_new()
BEGIN
DECLARE p_handl_tax_rate VARCHAR(32);
DECLARE p_rent_tax_rate VARCHAR(32);
DECLARE p_contid VARCHAR(32);
DECLARE p_paymentnum VARCHAR(32);
DECLARE p_handl_money DECIMAL(20,2);
DECLARE p_sum_interest DECIMAL(20,2);
DECLARE rent_time_limit DECIMAL(20);
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE contract_info CURSOR FOR
SELECT lci.id,lcc.payment_number,IF(lcc.HANDLING_CHARGE_MONEY_TYPE='0020',lcc.HANDLING_CHARGE_MONEY_TYPE,0) AS HANDLING_CHARGE_MONEY,getTax(lci.leas_form,'租息',lcc.start_date) AS zuxintax,getTax(lci.leas_form,'手续费',lcc.start_date) AS handlmoneytax,lr.interest,lcc.income_number FROM lb_contract_info lci LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id LEFT JOIN (SELECT lrp.contract_id,SUM(ROUND(interest/getTax(lci.leas_form,'租息',lcc.start_date),2)) interest FROM lc_rent_plan lrp LEFT JOIN lb_contract_info lci ON lci.id=lrp.contract_id LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id GROUP BY contract_id) lr ON lr.contract_id=lci.id WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND lr.interest>0 AND lci.contract_status BETWEEN 31 AND 100 AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN contract_info;
clyLoop:LOOP
FETCH contract_info INTO p_contid,p_paymentnum,p_handl_money,p_rent_tax_rate,p_handl_tax_rate,p_sum_interest,rent_time_limit;
IF done THEN LEAVE clyLoop;
END IF;
BEGIN
DECLARE al_handling_money DECIMAL(22,2) DEFAULT 0.00;
DECLARE al_interest_money DECIMAL(22,2) DEFAULT 0.00;
DECLARE al_sum_handl_money DECIMAL(22,2) DEFAULT 0.00;
DECLARE n_handlmoney DECIMAL(22,2) DEFAULT 0.00;
DECLARE n_interest DECIMAL(22,2) DEFAULT 0.00;
IF p_handl_money>0 THEN
SET al_handling_money=ROUND(p_handl_money/p_handl_tax_rate,2);
END IF;
BEGIN
DECLARE r_interest DECIMAL(20,2);
DECLARE r_plan_date VARCHAR(32);
DECLARE r_plan_list VARCHAR(32);
DECLARE subdone BOOLEAN DEFAULT FALSE;
DECLARE rent_info CURSOR FOR
SELECT ROUND(interest/p_rent_tax_rate,2),plan_date,plan_list FROM lc_rent_plan WHERE contract_id = p_contid ORDER BY contract_id,plan_list;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
OPEN rent_info;
subLoop:LOOP
FETCH rent_info INTO r_interest,r_plan_date,r_plan_list;
IF subdone THEN LEAVE subLoop;
END IF;
BEGIN
IF r_plan_list=rent_time_limit THEN
SET n_interest=p_sum_interest-al_interest_money;
SET n_handlmoney=al_handling_money-al_sum_handl_money;
ELSE SET n_interest=r_interest;
SET n_handlmoney=ROUND(al_handling_money*n_interest/p_sum_interest,2);
END IF;
INSERT INTO contract_rent_month(id,rent_list,interest,fee,accrued_date,start_date,end_date,formula,hand_formula,create_date,contract_id,payment_number)
VALUES(REPLACE(UUID(),'-',''),r_plan_list,n_interest,n_handlmoney,
DATE_FORMAT(r_plan_date,'%Y/%m'),
DATE_ADD(r_plan_date,INTERVAL -DAY(r_plan_date)+1 DAY),
LAST_DAY(r_plan_date),
'','',DATE_FORMAT(NOW(),'%Y/%m/%d'),p_contid,p_paymentnum);
SET al_interest_money = al_interest_money+n_interest;
SET al_sum_handl_money=al_sum_handl_money+n_handlmoney;
END;
END LOOP;
CLOSE rent_info;
END;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,183 @@
create procedure proc_contract_rent_month_temp()
BEGIN
/*
* --
*/
-- 定义全局变量
DECLARE sum_interest DECIMAL(22,2); -- 利息总金额
DECLARE p_contract_id VARCHAR(32); -- 合同id
DECLARE p_payment_number VARCHAR(32);-- 投放编号
DECLARE p_handling_charge_money DECIMAL(22,2) DEFAULT 0.00; -- 手续费金额
DECLARE income_number VARCHAR(32);-- 租金总期次
DECLARE p_start_date VARCHAR(32); -- 起租时间
DECLARE p_leas_form VARCHAR(32); -- 租赁类型
DECLARE p_tax_rate DECIMAL(18,2) DEFAULT 1.06; -- 利息税率
DECLARE done BOOLEAN DEFAULT FALSE;-- 用于判断循环是否执行
-- 定义游标
DECLARE contract_info CURSOR FOR SELECT
lci.id,
lcc.PAYMENT_NUMBER,
lrp.suminterest,
lcc.HANDLING_CHARGE_MONEY,
lcc.INCOME_NUMBER,
lcc.start_date,
lci.leas_form,
getTax(lci.leas_form,'租息',lcc.start_date)
FROM
lc_calc_condition lcc
INNER JOIN lb_contract_info lci ON lci.id=lcc.contract_id
LEFT JOIN
(SELECT
lrp.contract_id,
SUM(lrp.interest) suminterest
FROM
lc_rent_plan lrp
LEFT JOIN
lb_Contract_info lci ON lci.id=lrp.CONTRACT_ID
LEFT JOIN
lc_calc_condition lcc ON lcc.contract_id=lci.id
GROUP BY
lrp.contract_id
) lrp ON lrp.contract_id=lci.id
WHERE
NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id)
AND
lci.contract_status ='31'
and
lcc.INCOME_NUMBER_YEAR='income_1'
AND
lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust);
-- 游标中的SQL没有数据, 将done设置为true
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 开启游标
OPEN contract_info;
-- 嵌套循环
clyLoop:LOOP
-- 为变量赋值, 值为上边的SQL查询结果
FETCH contract_info INTO p_contract_id,p_payment_number,sum_interest,p_handling_charge_money,income_number,p_start_date,p_leas_form,p_tax_rate;
-- 如果done=true, 说明已经没有数据需要循环, 关闭循环
IF done THEN LEAVE clyLoop; END IF;
BEGIN
-- 定义当前代码块全局变量
DECLARE r_interest DECIMAL(22,2) DEFAULT 0.00; -- 利息
DECLARE r_fee DECIMAL(22,2) DEFAULT 0.00; -- 计提手续费
DECLARE interest_rate DECIMAL(22,6); -- 计提比率
DECLARE al_interest DECIMAL(22,2) DEFAULT 0.00; -- 当期以前前的利息总额
DECLARE al_fee DECIMAL(22,2) DEFAULT 0.00; -- 当期以前的手续费金额
DECLARE r_plan_date VARCHAR(32); -- 计划日期
DECLARE r_plan_list VARCHAR(32); -- 计划期次
DECLARE subdone BOOLEAN DEFAULT FALSE; -- 用于判断当前代码块中的循环是否结束
-- 创建游标
DECLARE rent_info CURSOR FOR SELECT
interest,
plan_date,
plan_list
FROM
lc_rent_plan
WHERE
contract_id = p_contract_id
ORDER BY contract_id,plan_list;
-- 如果上边的SQL查询结果为空, subdone改为true
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
-- 开启游标
OPEN rent_info;
-- 控制循环, 下方LEAVE subLoop表示结束循环
subLoop:LOOP
-- 将上边SQL查到的结果集赋值给当前代码块全局变量
FETCH rent_info INTO r_interest,r_plan_date,r_plan_list;
-- 如果上边的SQL查到的值为空, 结束循环
IF subdone THEN LEAVE subLoop; END IF;
BEGIN
-- 如果是最后一期执行此操作
IF r_plan_list=income_number THEN SET interest_rate=ROUND(r_interest/sum_interest,6);
SET r_fee=p_handling_charge_money-IFNULL(al_fee,0);
INSERT INTO contract_rent_month(
id,
rent_list,
interest_tax,
interest,
leftinterest,
fee_tax,
fee,
leftfee,
accrued_date,
start_date,
end_date,
formula,
hand_formula,
create_date,
contract_id,
payment_number)
VALUES(
REPLACE(UUID(),'-',''),
r_plan_list,
r_interest,
ROUND(r_interest/p_tax_rate,2),
sum_interest-IFNULL(al_interest,0),
r_fee,
ROUND(r_fee/p_tax_rate,2),
p_handling_charge_money-IFNULL(al_fee,0),
DATE_FORMAT(r_plan_date,'%Y/%m'),
DATE_ADD(r_plan_date,
INTERVAL -DAY(r_plan_date)+1 DAY),
LAST_DAY(r_plan_date),
interest_rate,
'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),
p_contract_id,
'');
SET al_interest=al_interest+r_interest;
SET al_fee=al_fee+r_fee;
ELSE
-- 不是最后一期执行此操作
SET interest_rate=ROUND(r_interest/sum_interest,6);
SET r_fee=ROUND(interest_rate*IFNULL(p_handling_charge_money,0),2);
INSERT INTO contract_rent_month(
id,
rent_list,
interest_tax,
interest,
leftinterest,
fee_tax,
fee,
leftfee,
accrued_date,
start_date,
end_date,
formula,
hand_formula,
create_date,
contract_id,
payment_number)
VALUES(
REPLACE(UUID(),'-',''),
r_plan_list,
r_interest,
ROUND(r_interest/p_tax_rate,2),
sum_interest-IFNULL(al_interest,0),
r_fee,
ROUND(r_fee/p_tax_rate,2),
p_handling_charge_money-IFNULL(al_fee,0),
DATE_FORMAT(r_plan_date,'%Y/%m'),
DATE_ADD(r_plan_date,INTERVAL -DAY(r_plan_date)+1 DAY),
LAST_DAY(r_plan_date),
interest_rate,
'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),
p_contract_id,
'');
SET al_interest=al_interest+r_interest;
SET al_fee=al_fee+r_fee;
END IF;
END;
END LOOP;
CLOSE rent_info;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,106 @@
create procedure proc_contract_rent_month_tradition()
BEGIN
DECLARE p_tax_rate DECIMAL(18,2) DEFAULT 1.06;
DECLARE p_interest DECIMAL(20,16);
DECLARE p_leas_form VARCHAR(32);
DECLARE n_interest DECIMAL(20,16);
DECLARE n_formula VARCHAR(32);
DECLARE l_formula VARCHAR(32);
DECLARE p_contract_id VARCHAR(32);
DECLARE p_payment_number VARCHAR(32);
DECLARE p_all_interest VARCHAR(32);
DECLARE p_handling_charge_money VARCHAR(32);
DECLARE p_remain_corpus VARCHAR(32);
DECLARE p_prev_plan_date VARCHAR(32);
DECLARE p_year_rate VARCHAR(32);
DECLARE p_day_rate VARCHAR(32);
DECLARE p_month_interest DECIMAL(20,16);
DECLARE income_number VARCHAR(32);
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE contract_info CURSOR FOR
SELECT
lci.leas_form,
lcc.contract_id ,
lcc.payment_number ,
IFNULL(lr.interest,0) ,
lcc.handling_charge_money/getTax(lci.leas_form,'手续费',lcc.start_date) ,
lcc.clean_lease_money ,
lcc.start_date ,
lcc.INCOME_NUMBER,
lrp.interest
FROM lc_calc_condition lcc
LEFT JOIN lb_contract_info lci ON lci.id = lcc.contract_id
left join (select lci.id,sum(round(nvl(lrp.interest,0)/getTax(lci.LEASE_FORM,'租息',lcc.START_DATE),2)) interest from lc_rent_plan lrp inner join lc_calc_condition lcc on lcc.contract_id=lrp.contract_id inner join lb_contract_info lci on lci.id=lrp.contract_id group by lci.id) lr on lr.id=lci.id
left join lc_rent_plan lrp on lrp.contract_id=lci.id and lrp.plan_list='1'
WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND nvl(lr.interest,0) > 0 AND lci.contract_status BETWEEN 31 AND 100 AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust) and lci.BUSINESSTYPE<>'1' and lcc.INCOME_NUMBER_YEAR='income_1';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN contract_info;
clyLoop:LOOP
FETCH contract_info INTO p_leas_form,p_contract_id,p_payment_number, p_all_interest, p_handling_charge_money,p_remain_corpus,p_prev_plan_date,income_number,p_month_interest;
IF done THEN LEAVE clyLoop;
END IF;
BEGIN
DECLARE al_apport_handling_money DECIMAL(22,16) DEFAULT 0.00;
DECLARE al_apport_interest_money DECIMAL(22,16) DEFAULT 0.00;
DECLARE rent_time_limit INT DEFAULT 0;
DECLARE hc_money DECIMAL(22,16) DEFAULT 0.00;
SET p_tax_rate=getTax(p_leas_form,'租息',p_prev_plan_date);
SET rent_time_limit=income_number;
set n_interest=round(p_month_interest/p_tax_rate,2)/30*datediff(last_day(p_prev_plan_date),p_prev_plan_date);
SET n_formula = '';
INSERT INTO contract_rent_month(id,rent_list,interest,fee,accrued_date,start_date,end_date,formula,hand_formula,create_date,contract_id,payment_number)
VALUES(REPLACE(UUID(),'-',''),'0',n_interest,
ROUND(CASE WHEN SIGN(p_handling_charge_money*n_interest-0)=1 THEN p_handling_charge_money*(n_interest/p_all_interest) ELSE 0 END,2),
DATE_FORMAT(p_prev_plan_date,'%Y/%m'),
DATE_ADD(p_prev_plan_date,INTERVAL -DAY(p_prev_plan_date)+1 DAY),
LAST_DAY(p_prev_plan_date),
n_formula,'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),p_contract_id,p_payment_number);
SET al_apport_handling_money=al_apport_handling_money+ROUND(CASE WHEN SIGN(p_handling_charge_money*hc_money-0)=1 THEN p_handling_charge_money*(hc_money/p_all_interest) ELSE 0 END,2);
set al_apport_interest_money=al_apport_interest_money+hc_money;
SET n_formula = '';
BEGIN
DECLARE r_interest1 DECIMAL(20,16);
DECLARE r_plan_date1 VARCHAR(32);
DECLARE r_plan_list1 VARCHAR(32);
DECLARE r_interest2 DECIMAL(20,16);
DECLARE r_plan_date2 VARCHAR(32);
DECLARE r_plan_list2 VARCHAR(32);
DECLARE subdone BOOLEAN DEFAULT FALSE;
DECLARE rent_info CURSOR FOR
SELECT lrp1.interest,lrp1.plan_date,lrp1.plan_list ,lrp2.interest,lrp2.plan_date,lrp2.plan_list
FROM lc_rent_plan lrp1 LEFT JOIN lc_rent_plan lrp2 ON lrp1.contract_id=lrp2.contract_Id AND lrp1.PLAN_LIST+1=lrp2.plan_list WHERE lrp1.contract_id = p_contract_id ORDER BY lrp1.contract_id,lrp1.plan_list;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
OPEN rent_info;
subLoop:LOOP
FETCH rent_info INTO r_interest1,r_plan_date1,r_plan_list1,r_interest2,r_plan_date2,r_plan_list2;
IF subdone THEN LEAVE subLoop;
END IF;
BEGIN
SET p_interest = round((CASE WHEN r_interest = 0 THEN 0 ELSE r_interest END)/p_tax_rate,2)-n_interest;
SET n_interest = round(CASE WHEN nvl(r_interest2,0) = 0 THEN 0 ELSE r_interest2/p_tax_rate/30*datediff(last_day(r_plan_date1),r_plan_date1) END,2);
SET l_formula = '';
IF r_plan_list=rent_time_limit THEN
SET hc_money=p_handling_charge_money-al_apport_handling_money;
ELSE SET hc_money=ROUND((CASE WHEN SIGN(p_handling_charge_money*ROUND(p_interest+n_interest,2)-0)=1 THEN p_handling_charge_money*(p_interest+n_interest)/p_all_interest ELSE 0 END),2);
END IF;
INSERT INTO contract_rent_month(id,rent_list,interest,fee,accrued_date,start_date,end_date,formula,hand_formula,create_date,contract_id,payment_number)
VALUES(REPLACE(UUID(),'-',''),r_plan_list,ROUND(p_interest+n_interest,2),hc_money,
DATE_FORMAT(r_plan_date,'%Y/%m'),
DATE_ADD(r_plan_date,INTERVAL -DAY(r_plan_date)+1 DAY),
LAST_DAY(r_plan_date),
'','',DATE_FORMAT(NOW(),'%Y/%m/%d'),p_contract_id,p_payment_number);
SET n_formula = l_formula;
SET al_apport_handling_money=al_apport_handling_money+ROUND((CASE WHEN SIGN(p_handling_charge_money*ROUND(p_interest+n_interest,2)-0)=1 THEN p_handling_charge_money*(p_interest+n_interest)/p_all_interest ELSE 0 END),2);
END;
END LOOP;
CLOSE rent_info;
END;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,215 @@
create procedure proc_contract_rent_month_tradition_temp()
BEGIN
/*
*
*/
DECLARE sum_interest DECIMAL(22,2); -- 利息总额
DECLARE p_contract_id VARCHAR(32); -- 合同id
DECLARE p_payment_number VARCHAR(32); -- 投放编号
DECLARE p_handling_charge_money DECIMAL(22,2) DEFAULT 0.00; -- 手续费
DECLARE income_number VARCHAR(32); -- 总期次
DECLARE p_start_date VARCHAR(32); -- 起租时间
DECLARE p_leas_form VARCHAR(32); -- 租赁类型
DECLARE p_tax_rate DECIMAL(18,2) DEFAULT 1.06; -- 利息税率
DECLARE done BOOLEAN DEFAULT FALSE; -- 用来判断clyLoop循环是否结束
-- 定义游标, 查询
DECLARE contract_info CURSOR FOR
SELECT
lci.id,
lcc.PAYMENT_NUMBER,
lrp.suminterest,
lcc.HANDLING_CHARGE_MONEY,
lcc.INCOME_NUMBER,
lcc.start_date,
lci.leas_form,
getTax(lci.leas_form,'租息',lcc.start_date)
FROM
lc_calc_condition lcc
INNER JOIN
lb_contract_info lci ON lci.id=lcc.contract_id
LEFT JOIN
(SELECT
lrp.contract_id,
SUM(lrp.interest) suminterest
FROM
lc_rent_plan lrp
LEFT JOIN
lb_Contract_info lci ON lci.id=lrp.CONTRACT_ID
LEFT JOIN
lc_calc_condition lcc ON lcc.contract_id=lci.id
GROUP BY
lrp.contract_id
) lrp ON lrp.contract_id=lci.id
WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND lci.contract_status ='31' AND INCOME_NUMBER_YEAR='income_3' AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust);
-- 如果上边SQL没有值, done=true
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 开启游标
OPEN contract_info;
-- 控制循环
clyLoop:LOOP
-- 将上边的SQL结果集赋值给全局变量
FETCH contract_info INTO p_contract_id,p_payment_number,sum_interest,p_handling_charge_money,income_number,p_start_date,p_leas_form,p_tax_rate;
-- 结束循环
IF done THEN LEAVE clyLoop; END IF;
BEGIN
-- 定义当前代码块全局变量
DECLARE r_interest DECIMAL(22,2) DEFAULT 0.00; -- 当期利息
DECLARE r_fee DECIMAL(22,2) DEFAULT 0.00; -- 手续费
DECLARE interest_rate DECIMAL(22,6); -- 费率
DECLARE al_interest DECIMAL(22,2) DEFAULT 0.00; -- 已计提利息
DECLARE al_fee DECIMAL(22,2) DEFAULT 0.00; -- 已计提手续费
DECLARE r_plan_date VARCHAR(32); -- 当期计划日期
DECLARE r_plan_list VARCHAR(32); -- 当期期次
DECLARE subdone BOOLEAN DEFAULT FALSE; -- 用于判断subLoop循环是否结束
-- 定义游标
DECLARE rent_info CURSOR FOR SELECT
interest,
plan_date,
plan_list
FROM
lc_rent_plan
WHERE
contract_id = p_contract_id
ORDER BY
contract_id,plan_list;
-- 如果上边SQL值为空, subdone=true
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
-- 开启游标
OPEN rent_info;
-- 控制循环
subLoop:LOOP
-- 将上边SQL结果集插入全局变量中
FETCH rent_info INTO r_interest,r_plan_date,r_plan_list;
-- 结束循环
IF subdone THEN LEAVE subLoop; END IF;
BEGIN
-- 第一个月
SET interest_rate=ROUND(r_interest/3/sum_interest,6);-- 费率
SET r_fee=ROUND(interest_rate*IFNULL(p_handling_charge_money,0),2);
INSERT INTO contract_rent_month
(id,
rent_list,
interest_tax,
interest,
leftinterest,
fee_tax,
fee,
leftfee,
accrued_date,
start_date,
end_date,
formula,
hand_formula,
create_date,
contract_id,
payment_number)
VALUES(REPLACE(UUID(),'-',''),
r_plan_list,
ROUND(r_interest/3,2),
ROUND(r_interest/3/p_tax_rate,2),
sum_interest-ifnull(al_interest,0),
r_fee,
ROUND(r_fee/p_tax_rate,2),
p_handling_charge_money-IFNULL(al_fee,0),
DATE_FORMAT(DATE_ADD(r_plan_date,INTERVAL -2 MONTH),'%Y/%m'),
DATE_ADD(DATE_ADD(r_plan_date,INTERVAL -2 MONTH),INTERVAL -DAY(DATE_ADD(r_plan_date,INTERVAL -2 MONTH))+1 DAY),
LAST_DAY(DATE_ADD(r_plan_date,INTERVAL -2 MONTH)),
interest_rate,
'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),
p_contract_id,
'');
-- SET al_interest=al_interest+r_interest;
SET al_interest=al_interest+ROUND(r_interest/3,2);
SET al_fee=al_fee+r_fee;
-- 第二个月
SET interest_rate=ROUND(r_interest/3/sum_interest,6);
SET r_fee=ROUND(interest_rate*IFNULL(p_handling_charge_money,0),2);
INSERT INTO contract_rent_month
(id,
rent_list,
interest_tax,
interest,
leftinterest,
fee_tax,
fee,
leftfee,
accrued_date,
start_date,
end_date,
formula,
hand_formula,
create_date,
contract_id,
payment_number)
VALUES(REPLACE(UUID(),'-',''),
r_plan_list,
ROUND(r_interest/3,2),
ROUND(r_interest/3/p_tax_rate,2),
sum_interest-al_interest,
r_fee,
ROUND(r_fee/p_tax_rate,2),
p_handling_charge_money-IFNULL(al_fee,0),
DATE_FORMAT(DATE_ADD(r_plan_date,INTERVAL -1 MONTH),'%Y/%m'),
DATE_ADD(DATE_ADD(r_plan_date,INTERVAL -1 MONTH),INTERVAL -DAY(DATE_ADD(r_plan_date,INTERVAL -1 MONTH))+1 DAY),
LAST_DAY(DATE_ADD(r_plan_date,INTERVAL -1 MONTH)),
interest_rate,
'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),
p_contract_id,
'');
SET al_interest=al_interest+ROUND(r_interest/3,2);
SET al_fee=al_fee+r_fee;
-- 第三个月
SET interest_rate=ROUND((r_interest-r_interest/3*2)/sum_interest,6);
SET r_fee=ROUND(interest_rate*IFNULL(p_handling_charge_money,0),2);
INSERT INTO contract_rent_month
(id,
rent_list,
interest_tax,
interest,
leftinterest,
fee_tax,
fee,
leftfee,
accrued_date,
start_date,
end_date,
formula,
hand_formula,
create_date,
contract_id,
payment_number)
VALUES(REPLACE(UUID(),'-',''),
r_plan_list,
r_interest-(ROUND(r_interest/3,2)*2),
ROUND((r_interest-(ROUND(r_interest/3,2)*2))/p_tax_rate,2),
sum_interest-al_interest,
r_fee,
ROUND(r_fee/p_tax_rate,2),
p_handling_charge_money-IFNULL(al_fee,0),
DATE_FORMAT(r_plan_date,'%Y/%m'),
DATE_ADD(r_plan_date,INTERVAL -DAY(r_plan_date)+1 DAY),
LAST_DAY(r_plan_date),
interest_rate,
'',
DATE_FORMAT(NOW(),'%Y/%m/%d'),
p_contract_id,
'');
SET al_interest=al_interest+r_interest-(ROUND(r_interest/3,2)*2);
SET al_fee=al_fee+r_fee;
END;
END LOOP;
CLOSE rent_info;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,60 @@
create procedure proc_copy_flow(IN oldflowno varchar(200), IN newflowno varchar(200), IN newflowname varchar(200))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
DECLARE CONTINUE HANDLER FOR NOT FOUND SET result_code = 2; -- 如果表中没有下一条数据则置为2
START TRANSACTION; -- 开始事务
insert into awe_menu_info (menuid,menuname,displayname,sortno,url,urlparam,target,style,isinuse,inputuserid,inputtime,updateuserid,updatetime,accesstype)
select cast( a.menuid as SIGNED INTEGER)+1,newflowname,newflowname,cast( a.sortno as SIGNED INTEGER)+1 ,a.url,CONCAT('ComponentName=' , newflowname , substr(replace(a.urlparam,replace(oldflowno,'Flow','Apply'),replace(newflowno,'Flow','Apply')),instr(a.urlparam,'&'))),
a.target,a.style,a.isinuse,a.inputuserid,a.inputtime,a.updateuserid,a.updatetime,a.accesstype
from awe_menu_info a where urlparam like CONCAT('%', replace(oldflowno,'Flow','Apply') ,'%');
insert into awe_role_menu select roleid, cast( menuid as SIGNED INTEGER)+1 from awe_role_menu
where menuid = (select menuid from awe_menu_info where urlparam like CONCAT('%', replace(oldflowno,'Flow','Apply') ,'%'));
insert into flow_catalog (flowno,flowname,flowtype,flowdescribe,initphase,viewfile,isinuse,version,baseflowno,graphjsondata,flowstate)
select newflowno,newflowname,replace(newflowno,'Flow','Apply'),newflowname,a.initphase,a.viewfile,a.isinuse,a.version,
newflowno,a.graphjsondata,a.flowstate from flow_catalog a where flowno=oldflowno;
insert into flow_model (flowno,phaseno,phasetype,phasename,prescript,initscript,choicedescribe,choicescript,actiondescribe,actionscript,
postscript,attribute1,attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,attribute8,attribute9,attribute10,aaenabled,
aapointinitscript,aapointcomp,aapointcompurl,standardtime1,standardtime2,costlob,strips,checklist,decisionscript,riskscanrule,buttonset2,
inputuser,inputtime,updateuser,updatetime,distributerule,id,type,xcoordinate,ycoordinate,width,height,version,swimlane,nodetype,
flowphasecontext,opinionsrequired,isreadonly,flowpageconfig,flowprocessclass,flowpagecheck,backstepnexttype,backscript,deletescript,
phasescript,loadproductcheck,nextsteps,flowtiptype,remindnoticttype,flowoverdate,overnoticetype,overnoticeuser)
select newflowno,a.phaseno,a.phasetype,a.phasename,a.prescript,a.initscript,a.choicedescribe,a.choicescript,a.actiondescribe,
a.actionscript,a.postscript,a.attribute1,a.attribute2,a.attribute3,a.attribute4,a.attribute5,a.attribute6,a.attribute7,a.attribute8,
a.attribute9,a.attribute10,a.aaenabled,a.aapointinitscript,a.aapointcomp,a.aapointcompurl,a.standardtime1,a.standardtime2,a.costlob,
a.strips,a.checklist,a.decisionscript,a.riskscanrule,a.buttonset2,a.inputuser,a.inputtime,a.updateuser,a.updatetime,a.distributerule,
a.id,a.type,a.xcoordinate,a.ycoordinate,a.width,a.height,a.version,a.swimlane,a.nodetype,a.flowphasecontext,a.opinionsrequired,a.isreadonly,
a.flowpageconfig,a.flowprocessclass,a.flowpagecheck,a.backstepnexttype,a.backscript,a.deletescript,a.phasescript,a.loadproductcheck,a.nextsteps,
a.flowtiptype,a.remindnoticttype,a.flowoverdate,a.overnoticetype,a.overnoticeuser from flow_model a where flowno=oldflowno;
insert into code_catalog (codeno,codetypeone,codename) select replace(newflowno,'Flow','ApplyMain'),codetypeone,replace(newflowno,'Flow','申请主树图') from code_catalog where codeno=replace(oldflowno,'Flow','ApplyMain');
insert into code_library(codeno,itemno,itemname,isinuse,itemdescribe,itemattribute,attribute2,attribute5,attribute8)
select codeno,replace(newflowno,'Flow','Apply'),newflowname,isinuse,replace(newflowno,'Flow','ApplyMain'),itemattribute,newflowno,attribute5,attribute8
from code_library a WHERE a.attribute2=oldflowno AND a.codeno='ApplyType';
insert into code_library (codeno,itemno,itemname,sortno,isinuse,itemdescribe,itemattribute,attribute1,attribute2,attribute4,attribute5,remark)
select replace(newflowno,'Flow','ApplyMain'),a.itemno,a.itemname,a.sortno,a.isinuse,a.itemdescribe,a.itemattribute,a.attribute1,a.attribute2,a.attribute4,
a.attribute5,a.remark from code_library a where codeno=replace(oldflowno,'Flow','ApplyMain');
-- 复制审批页面数据字典
insert into code_catalog (codeno,codetypeone,codename) select replace(newflowno,'Flow','ApproveMain'),codetypeone,replace(newflowno,'Flow','审批主树图') from code_catalog where codeno=replace(oldflowno,'Flow','ApproveMain');
insert into code_library(codeno,itemno,itemname,isinuse,itemdescribe,itemattribute,attribute2,attribute5,attribute8)
select codeno,replace(newflowno,'Flow','Approve'),replace(newflowname,'申请','审批'),isinuse,replace(newflowno,'Flow','ApproveMain'),itemattribute,newflowno,attribute5,attribute8
from code_library a WHERE a.attribute2=oldflowno AND a.codeno='ApproveType';
insert into code_library (codeno,itemno,itemname,sortno,isinuse,itemdescribe,itemattribute,attribute1,attribute2,attribute4,attribute5,remark)
select replace(newflowno,'Flow','ApproveMain'),a.itemno,a.itemname,a.sortno,a.isinuse,a.itemdescribe,a.itemattribute,a.attribute1,a.attribute2,a.attribute4,
a.attribute5,a.remark from code_library a where codeno=replace(oldflowno,'Flow','ApproveMain');
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
select result_code;
END;

View File

@ -0,0 +1,58 @@
create procedure proc_customer_tqjq()
BEGIN
DECLARE eb_id VARCHAR(32);
DECLARE eb_mayope_money DECIMAL(22,2);
DECLARE eb_client_name VARCHAR(200);
DECLARE eb_client_acc_number VARCHAR(200);
DECLARE eb_fact_date VARCHAR(32);
DECLARE eb_match VARCHAR(1000) DEFAULT '';
DECLARE ct INT DEFAULT 0;
DECLARE sql_error INT DEFAULT 0;
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE ebank_data CURSOR FOR SELECT id,mayope_money,client_name,client_acc_number,fact_date FROM lc_ebank WHERE invalid<>'Y' AND id NOT IN(SELECT ebank_number FROM lc_ebank_process);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET sql_error=1;
OPEN ebank_data;
myLoop:LOOP
FETCH ebank_data INTO eb_id,eb_mayope_money,eb_client_name,eb_client_acc_number,eb_fact_date;
IF done = TRUE THEN LEAVE myLoop;
END IF;
BEGIN
DECLARE eb_contract_id VARCHAR(50);
DECLARE eb_payment_number VARCHAR(50);
DECLARE eb_rent_list VARCHAR(50);
DECLARE num INT DEFAULT 0;
DECLARE flag BOOLEAN DEFAULT FALSE;
SELECT COUNT(*) num,MIN(lci.id),MIN(lr.PAYMENT_NUMBER),MIN(lr.PLAN_LIST)
INTO num,eb_contract_id,eb_payment_number,eb_rent_list
FROM LC_RENT_PLAN lr
LEFT JOIN lb_contract_info lci ON lci.ID=lr.CONTRACT_ID
LEFT JOIN(SELECT contract_id,client_acc_number FROM lb_tenantry_info WHERE client_acc_number=eb_client_acc_number) AS lti ON lci.id=lti.CONTRACT_ID
LEFT JOIN(SELECT contract_id,customer_name FROM lb_union_lessee WHERE customer_name=eb_client_name) AS lul ON lul.CONTRACT_ID=lci.ID
left join lc_calc_condition_status lccs on lccs.payment_number=lr.payment_number
WHERE (lr.payment_number,lr.plan_list) IN (
SELECT MIN(lrp.PAYMENT_NUMBER) payment_number,MIN(lrp.PLAN_LIST) plan_list FROM lc_rent_plan lrp
WHERE lrp.PAYMENT_NUMBER NOT IN
(SELECT payment_number FROM vi_lc_rent_plan WHERE fact_rent>0 AND fact_rent<rent)
AND lrp.ID NOT IN
(SELECT id FROM vi_lc_rent_plan WHERE fact_rent>=rent) GROUP BY payment_number)
AND lr.RENT=eb_mayope_money AND (CASE WHEN (lti.CLIENT_ACC_NUMBER IS NULL OR lti.CLIENT_ACC_NUMBER='') AND (lul.CUSTOMER_NAME IS NULL OR lul.CUSTOMER_NAME='') THEN FALSE ELSE TRUE END)
and lr.PAYMENT_NUMBER not in(select payment_number from lc_occupy_rent_list) and lccs.plan_status=31;
IF num=1 AND (eb_match LIKE CONCAT('%',eb_payment_number,eb_rent_list,'%'))=0 THEN
START TRANSACTION;
UPDATE lc_ebank SET contract_id=eb_contract_id,payment_number=eb_payment_number,rent_list_income=eb_rent_list WHERE id=eb_id;
INSERT INTO lc_ebank_process (ID,EBANK_NUMBER,PROCESS_MONEY,FLOW_NAME)
VALUES(REPLACE(UUID(),'-',''),eb_id,eb_mayope_money,'网银批量核销');
insert into lc_occupy_rent_list values(REPLACE(UUID(),'-',''),eb_payment_number,eb_rent_list,'网银批量核销','');
SELECT CONCAT(eb_match,',',eb_payment_number,eb_rent_list) INTO eb_match;
set ct = ct + 1;
END IF;
IF sql_error=1 THEN ROLLBACK;
ELSE COMMIT;
END IF;
END;
END LOOP myLoop;
CLOSE ebank_data;
SELECT ct FROM DUAL;
END;

View File

@ -0,0 +1,21 @@
create procedure proc_delete_DaiMaGuanLi(IN incodeno varchar(200))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CODE_CATALOG_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE Code_Library_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
-- 删除显示模板
select sum(1) a into CODE_CATALOG_number from CODE_CATALOG where codeno=incodeno;
DELETE FROM CODE_CATALOG where codeno=incodeno;
select sum(1) into Code_Library_number from Code_Library where codeno=incodeno;
DELETE FROM Code_Library WHERE codeno=incodeno;
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT result_code,CODE_CATALOG_number,Code_Library_number;
END;

View File

@ -0,0 +1,30 @@
create procedure proc_delete_FengXianYuJin(IN inscenarioid varchar(200))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE SCENARIO_CATALOG_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE SCENARIO_MODEL_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE SCENARIO_ARGS_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE SCENARIO_GROUP_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE SCENARIO_RELATIVE_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
-- 删除显示模板
SELECT SUM(1) a INTO SCENARIO_CATALOG_number FROM SCENARIO_CATALOG WHERE scenarioid=inscenarioid;
DELETE FROM SCENARIO_CATALOG WHERE scenarioid=inscenarioid;
SELECT SUM(1) INTO SCENARIO_MODEL_number FROM SCENARIO_MODEL WHERE scenarioid=inscenarioid;
DELETE FROM SCENARIO_MODEL WHERE scenarioid=inscenarioid;
SELECT SUM(1) INTO SCENARIO_ARGS_number FROM SCENARIO_ARGS WHERE scenarioid=inscenarioid;
DELETE FROM SCENARIO_ARGS WHERE scenarioid=inscenarioid;
SELECT SUM(1) INTO SCENARIO_GROUP_number FROM SCENARIO_GROUP WHERE scenarioid=inscenarioid;
DELETE FROM SCENARIO_GROUP WHERE scenarioid=inscenarioid;
SELECT SUM(1) INTO SCENARIO_RELATIVE_number FROM SCENARIO_RELATIVE WHERE scenarioid=inscenarioid;
DELETE FROM SCENARIO_RELATIVE WHERE scenarioid=inscenarioid;
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT result_code,SCENARIO_CATALOG_number,SCENARIO_MODEL_number,SCENARIO_ARGS_number,SCENARIO_GROUP_number,SCENARIO_RELATIVE_number;
END;

View File

@ -0,0 +1,24 @@
create procedure proc_delete_XianShiMoMan(IN indono varchar(200))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE AWE_DO_CATALOG_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE awe_do_library_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE AWE_DO_Group_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
-- 删除显示模板
select sum(1) a into AWE_DO_CATALOG_number from AWE_DO_CATALOG where dono=indono;
DELETE FROM AWE_DO_CATALOG where dono=indono;
select sum(1) into awe_do_library_number from awe_do_library where dono=indono;
DELETE FROM awe_do_library WHERE dono=indono;
select sum(1) into AWE_DO_Group_number from AWE_DO_Group where dono=indono;
DELETE FROM AWE_DO_Group WHERE dono=indono;
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT result_code,AWE_DO_CATALOG_number,awe_do_library_number,AWE_DO_Group_number;
END;

View File

@ -0,0 +1,18 @@
create procedure proc_delete_XuanZeDuiHuaKuang(IN inselname varchar(200))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE SELECT_CATALOG_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
-- 删除显示模板
select sum(1) a into SELECT_CATALOG_number from SELECT_CATALOG where selname=inselname;
DELETE FROM SELECT_CATALOG where selname=inselname;
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT result_code,SELECT_CATALOG_number;
END;

View File

@ -0,0 +1,25 @@
create procedure proc_delete_cronjob(IN injobname varchar(200), IN intriggername varchar(200))
BEGIN
-- 定义返回结果并赋初值0
DECLARE result_code INTEGER DEFAULT 0;
-- 在执行过程中出任何异常设置result_code为1
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1;
-- 开始事务
START TRANSACTION;
-- 1删除定时时间表
delete FROM qrtz_cron_triggers WHERE trigger_name=intriggername;
-- 2删除定时任务触发表
DELETE FROM qrtz_triggers WHERE trigger_name=intriggername;
-- 3删除定时任务任务表
DELETE FROM qrtz_job_details WHERE job_name=injobname;
-- 4删除短信模板配置表
DELETE FROM mSG_CONFIG WHERE jobname=injobname;
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT result_code, case when result_code=0 then '删除定时任务成功'
else '删除定时任务失败' end result ;
END;

View File

@ -0,0 +1,24 @@
create procedure proc_delete_xianshimoban(IN indono varchar(200))
BEGIN
DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE AWE_DO_CATALOG_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE awe_do_library_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE AWE_DO_Group_number INTEGER DEFAULT 0; -- 定义返回结果并赋初值0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET result_code=1; -- 在执行过程中出任何异常设置result_code为1
-- 删除显示模板
select sum(1) a into AWE_DO_CATALOG_number from AWE_DO_CATALOG where dono=indono;
DELETE FROM AWE_DO_CATALOG where dono=indono;
select sum(1) into awe_do_library_number from awe_do_library where dono=indono;
DELETE FROM awe_do_library WHERE dono=indono;
select sum(1) into AWE_DO_Group_number from AWE_DO_Group where dono=indono;
DELETE FROM AWE_DO_Group WHERE dono=indono;
IF result_code = 1 THEN -- 可以根据不同的业务逻辑错误返回不同的result_code这里只定义了1和0
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT result_code,AWE_DO_CATALOG_number,awe_do_library_number,AWE_DO_Group_number;
END;

View File

@ -0,0 +1,59 @@
create procedure proc_financial_interest()
BEGIN
DECLARE p_leas_form VARCHAR(32);
DECLARE p_contract_id VARCHAR(32);
DECLARE p_payment_number VARCHAR(32);
DECLARE p_all_interest VARCHAR(32);
DECLARE p_handling_charge_money VARCHAR(32);
DECLARE p_remain_corpus VARCHAR(32);
DECLARE p_prev_plan_date VARCHAR(32);
DECLARE p_year_rate VARCHAR(32);
DECLARE p_day_rate VARCHAR(32);
DECLARE p_month_interest DECIMAL(20,16);
DECLARE income_number VARCHAR(32);
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE contract_info CURSOR FOR
SELECT lci.leas_form,lcc.contract_id p_contract_id,lcc.payment_number p_payment_number,ROUND(lr.interest,2) AS interest,nvl(lcc.HANDLING_CHARGE_MONEY,0)/(CASE WHEN lci.leas_form='02' THEN 1.06 ELSE 1.16 END) AS HANDLING_CHARGE_MONEY FROM lc_calc_condition lcc LEFT JOIN lb_contract_info lci ON lci.id = lcc.contract_id LEFT JOIN (SELECT contract_id,SUM(interest/(CASE WHEN lci.leas_form='02' THEN 1.06 ELSE 1.16 END)) interest FROM lc_rent_plan lrp LEFT JOIN lb_contract_info lci ON lci.id=lrp.contract_id GROUP BY contract_id) lr ON lr.contract_id = lcc.contract_id WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND nvl(lr.interest,0) > 0 AND lci.contract_status BETWEEN 31 AND 100 AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN contract_info;
clyLoop:LOOP
FETCH contract_info INTO p_leas_form,p_contract_id,p_payment_number,p_all_interest,p_handling_charge_money;
IF done THEN LEAVE clyLoop;
END IF;
BEGIN
DECLARE r_cont_id VARCHAR(32);
DECLARE r_plan_date VARCHAR(32);
DECLARE r_plan_list VARCHAR(32);
DECLARE r_accrued_date VARCHAR(32);
DECLARE r_start_date VARCHAR(32);
DECLARE r_end_date VARCHAR(32);
DECLARE r_interest_month VARCHAR(32);
DECLARE subdone BOOLEAN DEFAULT FALSE;
DECLARE rent_info CURSOR FOR
SELECT * FROM (SELECT lci.id,'0' AS plan_list,ROUND(lrp.interest /DATEDIFF(lrp.plan_date,lcc.start_date)*DATEDIFF(LAST_DAY(lcc.start_date),lcc.start_date),2) AS money,DATE_FORMAT(lcc.start_date,'%Y/%m') accrued_date,lcc.start_date ,LAST_DAY(lcc.start_date) end_date FROM lc_calc_condition lcc LEFT JOIN lb_contract_info lci ON lci.id=lcc.contract_id LEFT JOIN (SELECT contract_id,plan_date,ROUND(interest/(CASE WHEN lci.leas_form='02' THEN 1.06 ELSE 1.16 END),2) AS interest FROM lc_rent_plan lrp LEFT JOIN lb_Contract_info lci ON lci.id=lrp.contract_id WHERE plan_list=1 ) lrp ON lrp.contract_id=lci.id UNION ALL SELECT lrp1.contract_id, lrp1.plan_list ,ROUND(lrp1.interest/(CASE WHEN lci.leas_form='02' THEN 1.06 ELSE 1.16 END),2)-ROUND((lrp1.interest/(CASE WHEN lci.leas_form='02' THEN 1.06 ELSE 1.16 END))/DATEDIFF(lrp1.plan_date,IFNULL(lrp3.plan_date,lcc.start_date))*DATEDIFF(LAST_DAY(IFNULL(lrp3.plan_date,lcc.start_date)),IFNULL(lrp3.plan_date,lcc.start_date)),2)+ ROUND(IFNULL((lrp2.interest/(CASE WHEN lci.leas_form='02' THEN 1.06 ELSE 1.16 END))/DATEDIFF(lrp2.plan_date,lrp1.plan_date)*DATEDIFF(LAST_DAY(lrp1.plan_date),lrp1.plan_date),0),2) AS money,DATE_FORMAT(lrp1.plan_date,'%Y/%m') accrued_date,DATE_ADD(lrp1.plan_date,INTERVAL -DAY(lrp1.plan_date)+1 DAY) start_date,LAST_DAY(lrp1.plan_date) end_date FROM lc_rent_plan lrp1 LEFT JOIN lc_rent_plan lrp2 ON lrp1.contract_id=lrp2.contract_id AND lrp1.plan_list+1 =lrp2.plan_list
LEFT JOIN lc_rent_plan lrp3 ON lrp1.contract_id=lrp3.contract_id AND lrp1.plan_list-1 =lrp3.plan_list LEFT JOIN lc_calc_condition lcc ON lcc.contract_id =lrp1.contract_id LEFT JOIN lb_contract_info lci ON lci.id=lcc.contract_id)A WHERE A.id =p_contract_id ORDER BY A.id,CAST(A.plan_list AS SIGNED INTEGER);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET subdone = TRUE;
OPEN rent_info;
subLoop:LOOP
FETCH rent_info INTO r_cont_id,r_plan_list,r_interest_month,r_accrued_date,r_start_date,r_end_date;
IF subdone THEN LEAVE subLoop;
END IF;
BEGIN
INSERT INTO contract_rent_month(id,rent_list,interest,fee,accrued_date,start_date,end_date,formula,hand_formula,create_date,contract_id,payment_number)
VALUES(REPLACE(UUID(),'-',''),r_plan_list,r_interest_month,ROUND(r_interest_month/p_all_interest*p_handling_charge_money,2),
r_accrued_date,
r_start_date,
r_end_date,
'','',DATE_FORMAT(NOW(),'%Y/%m/%d'),p_contract_id,p_payment_number);
END;
END LOOP;
CLOSE rent_info;
END;
END LOOP;
CLOSE contract_info;
END;

View File

@ -0,0 +1,13 @@
create procedure proc_get_copy_column(IN fromtablename varchar(100), IN totablename varchar(100))
BEGIN
DECLARE databaseName VARCHAR(200) DEFAULT 'tel6';
SELECT B.column_name talbeColumn FROM Information_schema.columns B WHERE LOWER(B.table_name)=LOWER(fromtablename)
AND B.TABLE_SCHEMA=databaseName AND EXISTS(SELECT * FROM Information_schema.columns A WHERE LOWER(A.table_name)=LOWER(totablename)
AND B.column_name=A.column_name AND A.TABLE_SCHEMA=databaseName );
END;

View File

@ -0,0 +1,161 @@
create procedure proc_insert_chengyongche()
BEGIN
-- 车品牌
insert into lb_cardata_brand (
ID,
brandid,
brandname,
brandinitial,
opertype,
modeltimestamp,
seriestimestamp,
brandtimestamp,
currentversion,
initialversion,
retainfield1,
retainfield2,
retainfield3,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime
) (
SELECT
REPLACE(UUID(),'-',''),
CONCAT('APCB',@rownum := @rownum + 1) a,
t.brand,
'' brandinitial,
'' opertype,
'' a1,
'' a2,
DATE_FORMAT(NOW(),'%Y/%m/%d %T') a11,
'' a3,
'1.0.001',
'' a4,
'' a5,
'' a6,
'administrator' ,
'8009001',
DATE_FORMAT(CURDATE(),'%Y/%m/%d'),
'' a7 ,
'' a8 ,
'' a9
FROM li_passenger_car t,(SELECT @rownum := IFNULL((SELECT COUNT(brandid) AS CON FROM lb_cardata_brand WHERE brandid LIKE 'APC%'),0)) r
WHERE T.brand NOT IN(SELECT brandname FROM lb_cardata_brand GROUP BY brandname) GROUP BY t.brand);
-- 车系 23
insert into lb_cardata_series (
id,
brandid,
brandname,
seriesid,
seriesname,
seriesgroupname,
levelname,
makertype,
opertype,
modeltimestamp,
seriestimestamp,
brandtimestamp,
currentversion,
initialversion,
retainfield1,
retainfield2,
retainfield3,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime
)(
SELECT a.id,lccb.brandid,a.brand,a.a,a.cars,a.seriesgroupname,a.levelname,a.makertype,a.opertype,a.modeltimestamp,
a.b1,a.brandtimestamp,a.currentversion,a.b2,a.b3,a.b4,a.b5,a.b6,a.b7,a.b8,
a.a7,a.a8,a.a9 FROM (
SELECT
REPLACE(UUID(),'-','') id,
'',
t.brand brand,
CONCAT('APDS',@rownum := @rownum + 1) a,
t.cars,
'' seriesgroupname,
'' levelname,
'' makertype,
'' opertype,
'' modeltimestamp,
DATE_FORMAT(NOW(),'%Y/%m/%d %T') b1,
'' brandtimestamp,
'' currentversion,
'1.0.001' b2,
'' b3,
'' b4,
'' b5,
'administrator' b6,
'8009001' b7,
DATE_FORMAT(CURDATE(),'%Y/%m/%d') b8,
'' a7 ,'' a8 ,'' a9
FROM (SELECT t1.* FROM li_passenger_car t1 GROUP BY t1.cars,t1.brand) t,( SELECT @rownum := ifnull((SELECT count(seriesid) as con FROM lb_cardata_series WHERE seriesid LIKE 'APD%'
),0)) r WHERE t.cars NOT IN(SELECT seriesname FROM lb_cardata_series GROUP BY seriesname)) a
LEFT JOIN lb_cardata_brand lccb ON a.brand=lccb.brandname);
-- 车型
insert into lb_cardata_model (
ID,
brandid,
brandname,
seriesid,
seriesname,
seriesgroupname,
modelid,
modelname,
price,
liter,
geartype,
modelyear,
makertype,
dischargestandard,
seatnumber,
minregyear,
maxregyear,
opertype,
modeltimestamp,
seriestimestamp,
brandtimestamp,
currentversion,
initialversion,
retainfield1,
retainfield2,
retainfield3,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime
)(
SELECT a.id,lccs.brandid,a.brand,lccs.seriesid,a.cars,a.seriesgroupname,a.a,a.models,a.b1,a.a12,a.a13,a.a14,a.a15,a.a16,a.a17,a.a18,a.a19,a.a20,a.a21,a.a22,
a.a23,a.a24,a.b2,a.a25,a.a26,a.a27,a.b6,a.b7,a.a28,a.a7,a.a8,a.a9 FROM (
SELECT
REPLACE(UUID(),'-','') id,
'' bbb,
t.brand,
'' aaa,
t.cars,
'' seriesgroupname,
CONCAT('APEM',@rownum := @rownum + 1) a,
t.models,
t.the_guided/10000 b1,
'' a12,'' a13,'' a14,'' a15,'' a16,'' a17,'' a18,'' a19,'' a20,
DATE_FORMAT(NOW(),'%Y/%m/%d %T') a21,'' a22,'' a23,'' a24,
'1.0.001' b2,'' a25,'' a26,'' a27,'administrator' b6,'8009001' b7,
DATE_FORMAT(CURDATE(),'%Y/%m/%d') a28,
'' a7,'' a8,'' a9
FROM (SELECT t1.* FROM li_passenger_car t1 GROUP BY t1.models,t1.cars,t1.brand) t,( SELECT @rownum := ifnull((SELECT count(modelid) as con FROM lb_cardata_model WHERE modelid LIKE 'APE%'),0)) r WHERE t.models NOT IN(SELECT modelname FROM lb_cardata_model GROUP BY modelname)
) a
LEFT JOIN lb_cardata_series lccs ON a.brand=lccs.brandname AND a.cars=lccs.seriesname
);
END;

View File

@ -0,0 +1,236 @@
create procedure proc_insert_hexiao(IN ln_contract_id varchar(200), IN ln_plan_date varchar(200), IN in_rent varchar(200), IN in_hire_list varchar(200), IN in_type varchar(2))
BEGIN
-- 如果in_type=1就是手工核销
IF in_type = 1 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number
)
(SELECT
REPLACE (UUID(), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
in_hire_list AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
vl.rent_over AS RENT,
vl.corpus_over AS CORPUS,
vl.interest_over AS INTEREST,
(
in_rent - vl.corpus_over - vl.interest_over
) AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
'光大银行',
'安鹏国际融资租赁(深圳)有限公司',
'35230188000138484'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_date = ln_plan_date ) ;
-- in_type = 2为银联卡口手动刷新核销数据
ELSEIF in_type = 2 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number
)
(SELECT
REPLACE (UUID (), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
in_hire_list AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.rent_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN in_rent-vl.penalty_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>vl.penalty_over THEN in_rent-vl.penalty_over
ELSE '0'
END RENT,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.corpus_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN in_rent-(vl.penalty_over+vl.interest_over)
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN '0'
ELSE '0'
END CORPUS,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.interest_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN vl.interest_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN in_rent-vl.penalty_over
ELSE '0'
END INTEREST,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.penalty_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN vl.penalty_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN vl.penalty_over
ELSE in_rent
END AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
'光大银行',
'安鹏国际融资租赁(深圳)有限公司',
'35230188000138484'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
WHERE O.id = vl.id
AND vl.contract_id = ln_contract_id
AND vl.plan_date = ln_plan_date ) ;
-- 如果in_type=3就是经销商保证金代偿in_hire_list为核销罚息金额
ELSEIF in_type = 3 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number
)
(SELECT
REPLACE (UUID(), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
'1' AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
vl.rent_over AS RENT,
vl.corpus_over AS CORPUS,
vl.interest_over AS INTEREST,
in_hire_list AS PENALTY,
'0' AS CORPUS_ADJUST,
penalty_over-in_hire_list AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
'光大银行',
'安鹏国际融资租赁(深圳)有限公司',
'35230188000138484'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_date = ln_plan_date ) ;
ELSE
SELECT 1;
END IF;
END;

View File

@ -0,0 +1,129 @@
create procedure proc_insert_init_cardata()
begin
-- 删除车品牌表,初始化表的时间为2018/06/17历史数据对应车品牌、车系、车型为tmp_10、tmp_14、tmp_12
delete from lb_cardata_brand where inputtime='2018/06/17';
INSERT INTO `apzl`.`lb_cardata_brand` (
`ID`,
`brandid`,
`brandname`,
`brandinitial`,
`opertype`,
`inputuserid`,
`inputorgid`,
`inputtime`,
`updateuserid`,
`updateorgid`,
`updatetime`
)
(SELECT
REPLACE(UUID(), '-', ''),
t.brand_id,
t.brand_name,
t.brand_initial,
'新增',
'administrator',
'8009001',
'2018/06/17', -- DATE_FORMAT(CURDATE(), '%Y/%m/%d'),后期可替换为系统当前日期
'',
'',
''
FROM
tmp_10 t
where t.brand_id not in (select brandid from lb_cardata_brand)
) ;
-- 删除车系表
delete from lb_cardata_series where inputtime='2018/06/17';
INSERT INTO `apzl`.`lb_cardata_series` (
`ID`,
`brandid`,
`brandname`,
`seriesid`,
`seriesname`,
`seriesgroupname`,
`levelname`,
`makertype`,
`opertype`,
`inputuserid`,
`inputorgid`,
`inputtime`,
`updateuserid`,
`updateorgid`,
`updatetime`
)
(SELECT
REPLACE(UUID(), '-', ''),
t.brand_id,
t.brand_name,
t.series_id,
t.series_name,
t.series_group_name,
t.level_name,
t.maker_type,
'新增',
'administrator',
'8009001',
'2018/06/17',
'',
'',
''
FROM tmp_14 t
WHERE t.series_id NOT IN (SELECT seriesid FROM lb_cardata_series)
) ;
-- 删除车型表
delete from lb_cardata_model where inputtime='2018/06/17';
INSERT INTO `apzl`.`lb_cardata_model` (
`ID`,
`brandid`,
`brandname`,
`seriesid`,
`seriesname`,
`seriesgroupname`,
`modelid`,
`modelname`,
`price`,
`liter`,
`geartype`,
`modelyear`,
`makertype`,
`dischargestandard`,
`seatnumber`,
`minregyear`,
`maxregyear`,
`opertype`,
`inputuserid`,
`inputorgid`,
`inputtime`,
`updateuserid`,
`updateorgid`,
`updatetime`
)
(SELECT
REPLACE(UUID(), '-', ''),
t.brand_id,
t.brand_name,
t.series_id,
t.series_name,
t.series_group_name,
t.model_id,
t.model_name,
t.price,
t.liter,
t.gear_type,
t.model_year,
t.maker_type,
t.discharge_standard,
t.seat_number,
t.min_reg_year,
t.max_reg_year,
'新增',
'administrator',
'8009001',
'2018/06/17',
'',
'',
'' FROM tmp_12 t WHERE t.model_id NOT IN (SELECT modelid FROM lb_cardata_model)
) ;
end;

View File

@ -0,0 +1,146 @@
create procedure proc_insert_jlyj_his(IN instart_date varchar(32), IN inend_date varchar(32))
BEGIN
WHILE instart_date<=inend_date
DO
SET instart_date = DATE_FORMAT(LAST_DAY(DATE_ADD(STR_TO_DATE(instart_date,'%Y/%m/%d'),INTERVAL 1 MONTH)),'%Y/%m/%d');
INSERT INTO `apzl`.`commission_interest` (
`ID`,
`distributor_name`,
`distri_relative`,
`telephone`,
`comm_months`,
`history_month`,
`loan_orders`,
`FIELD1`,
`FIELD2`,
`FIELD3`,
`FIELD4`,
`FIELD5`,
`INPUTUSERID`,
`INPUTORGID`,
`INPUTTIME`,
`UPDATEUSERID`,
`UPDATEORGID`,
`UPDATETIME`
) (
SELECT
REPLACE(UUID(), '-', ''),
t3.distributor_name,
t3.distributorer,
t3.distributor_tel,
t3.fact_date,
-- 统计月份统计数据未3月前数据
instart_date,
t3.danliang,
t3.fact_money,
t3.yuqinum,
t3.sumcorpus,
t3.yuqinum_jieqing,
t3.vtg,
'8009U00000002',
'8009001',
DATE_FORMAT(CURDATE(), '%Y/%m/%d'),
'',
'',
''
FROM (
SELECT
MAX(t.distributor_no) distributor_no,
MAX(t.distributor_name) distributor_name,
MAX(t.distributorer) distributorer,
MAX(t.distributor_tel) distributor_tel,
t.fact_date,
COUNT(1) danliang,
SUM(t.FACT_MONEY) FACT_MONEY,
SUM(IFNULL(t.yuqinum,0)) yuqinum,
CASE WHEN MAX(IFNULL(t.sumcorpus,0))=0 THEN 0 ELSE
SUM(t.FACT_MONEY-IFNULL(t.sumcorpus,0)) END sumcorpus,
SUM(IFNULL(t.yuqinum_jieqing,0)) yuqinum_jieqing,
(CASE WHEN MAX(IFNULL(t.sumcorpus,0))=0 THEN 0 ELSE
SUM(t.FACT_MONEY-IFNULL(t.sumcorpus,0)) END )/SUM(t.FACT_MONEY) vtg
FROM (
SELECT
lci.`CONTRACT_Number`,
lci.PRODUCT_ID,
SUBSTR(lci.`PROJECT_NAME`,10) cust_name,
LEFT(lfi.`FACT_DATE`,7) FACT_DATE,
lfi.`FACT_MONEY`,
di.distributor_no,
di.`distributor_name`,
di.`distributorer`,
di.`distributor_tel`,
vorp.yuqinum,
vorp.sumcorpus,
vorp.yuqinum_jieqing
FROM
lb_contract_info lci
LEFT JOIN distributor_info di ON lci.`distributor_id`=di.distributor_no
LEFT JOIN `lb_product_info` lpi ON lpi.PRODUCT_ID=lci.`PRODUCT_ID`
LEFT JOIN CONFIGURATE c ON lpi.`PRODUCT_ID`=c.`ATTR_ID` AND field5='产品佣金系数配置'
LEFT JOIN lc_fund_income lfi ON lfi.`CONTRACT_ID`=lci.`ID` AND lfi.`FEE_TYPE`='feetype10'
LEFT JOIN (
SELECT
v.contract_id,
-- 逾期30天及以上单量
CASE WHEN MAX(v.overdue_days)>=30
THEN 1 ELSE 0 END yuqinum,
-- 逾期30天及以上未偿本金总额
CASE WHEN MAX(v.overdue_days)>=30 THEN
SUM(v.fact_corpus) ELSE 0 END sumcorpus,
-- 逾期30天以上但已还款单量
CASE WHEN MAX(v.overdue_days)>=30 AND MAX(v.plan_status)<>'未结清'
THEN 1 ELSE 0 END yuqinum_jieqing
FROM (
-- 下面为逾期视图vi_overdue_rent_plan截止统计月份的逾期数据
SELECT
`lrp`.`ID` AS `ID`,
`lrp`.`QUOT_ID` AS `QUOT_ID`,
`lrp`.`CUST_ID` AS `CUST_ID`,
`lrp`.`PROJECT_ID` AS `PROJECT_ID`,
`lrp`.`PROJECT_PLAN_NUMBER` AS `PROJECT_PLAN_NUMBER`,
`lrp`.`CONTRACT_ID` AS `CONTRACT_ID`,
`lrp`.`CONTRACT_PLAN_NUMBER` AS `CONTRACT_PLAN_NUMBER`,
`lrp`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,
`lrp`.`PLAN_LIST` AS `PLAN_LIST`,
`lrp`.`PLAN_DATE` AS `PLAN_DATE`,
`lrp`.`RENT` AS `RENT`,
`lrp`.`CORPUS` AS `corpus`,
`income`.`hire_date` AS `HIRE_DATE`,
IFNULL(`income`.`fact_rent`,0) AS `fact_rent`,
IFNULL(`income`.`fact_corpus`,0) AS `fact_corpus`,
IFNULL(`income`.`fact_penalty`,0) AS `fact_penalty`,
(IFNULL(`lrp`.`RENT`,0) - IFNULL(`income`.`fact_rent`,0)) AS `overduerent`,
(CASE WHEN ((IFNULL(`income`.`fact_rent`,0) - IFNULL(`lrp`.`RENT`,0)) > 0) THEN (TO_DAYS(`income`.`hire_date`) - TO_DAYS(`lrp`.`PLAN_DATE`)) ELSE (TO_DAYS(instart_date) - TO_DAYS(`lrp`.`PLAN_DATE`)) END) AS `Overdue_days`,
(CASE WHEN ((IFNULL(`income`.`fact_rent`,0) - IFNULL(`lrp`.`RENT`,0)) > 0) THEN '已结清' ELSE '未结清' END) AS `PLAN_STATUS`
FROM (`apzl`.`lc_rent_plan` `lrp`
LEFT JOIN (SELECT
`apzl`.`lc_rent_income`.`PAYMENT_NUMBER` AS `payment_number`,
`apzl`.`lc_rent_income`.`PLAN_LIST` AS `plan_list`,
MAX(`apzl`.`lc_rent_income`.`HIRE_DATE`) AS `hire_date`,
IFNULL(SUM(`apzl`.`lc_rent_income`.`RENT`),0) AS `fact_rent`,
IFNULL(SUM(`apzl`.`lc_rent_income`.`CORPUS`),0) AS `fact_corpus`,
IFNULL(SUM(`apzl`.`lc_rent_income`.`INTEREST`),0) AS `fact_interest`,
IFNULL(SUM(`apzl`.`lc_rent_income`.`PENALTY`),0) AS `fact_penalty`
FROM `apzl`.`lc_rent_income`
WHERE (`apzl`.`lc_rent_income`.`PAYMENT_NUMBER` IS NOT NULL)
GROUP BY `apzl`.`lc_rent_income`.`PAYMENT_NUMBER`,`apzl`.`lc_rent_income`.`PLAN_LIST`) `income`
ON (((`lrp`.`PAYMENT_NUMBER` = `income`.`payment_number`)
AND (`lrp`.`PLAN_LIST` = `income`.`plan_list`))))
WHERE ((`lrp`.`PAYMENT_NUMBER` IS NOT NULL)
AND (`lrp`.`PLAN_DATE` <= instart_date
))
ORDER BY `lrp`.`PAYMENT_NUMBER`,`lrp`.`PLAN_LIST`
) v GROUP BY v.contract_id
) vorp ON vorp.contract_id=lci.id
-- 统计集团外经销商的激励佣金f_i_type02
WHERE lci.contract_status>=31 AND di.F_I_TYPE='f_i_type02'
) t
-- 统计数据为3月前数据
WHERE t.fact_date=LEFT(DATE_FORMAT(SUBDATE(instart_date,INTERVAL 3 MONTH),'%Y/%m'),7)
GROUP BY t.distributor_no,t.FACT_DATE ORDER BY t.FACT_DATE DESC,t.distributor_no
) t3);
END WHILE;
END;

View File

@ -0,0 +1,128 @@
create procedure proc_insert_shangyongche()
BEGIN
-- 记录试图vi_product备注
-- 导入车品牌
insert into lb_cardata_commercial_brand (
ID,
brand_id,
brand_name,
brand_initial,
initialversion,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime
)
(
SELECT a.* FROM (
SELECT
REPLACE(UUID(),'-',''),
CONCAT('APB',@rownum := @rownum + 1) a,
t.brand,
'' brand_initial,
'1.0.001',
'administrator' ,
'8009001',
DATE_FORMAT(CURDATE(),'%Y/%m/%d'),
'' a1 ,'' a2 ,'' a3
FROM li_cardata_commercial t,( SELECT @rownum := (SELECT MAX(CONVERT(SUBSTR(BRAND_id,4),SIGNED)) FROM lb_cardata_commercial_brand WHERE BRAND_id LIKE 'AP%'
)) r
GROUP BY t.brand
) a
LEFT JOIN lb_cardata_commercial_brand lccb ON a.brand =lccb.brand_name
WHERE lccb.id IS NULL
) ;
-- 导入车系
INSERT INTO lb_cardata_commercial_series
( ID,
series_id,
series_name,
brand_id,
brand_name,
car_type,
initialversion,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime
)(
SELECT a.id,a.a,a.cars,lccb.brand_id,a.brand,a.vehicle_type,a.b1,a.b2,a.b3,a.b4,a.a1,a.a2,a.a3 FROM (
SELECT
REPLACE(UUID(),'-','') id,
CONCAT('APS',@rownum := @rownum + 1) a,
t.cars,
'',
t.brand brand,
t.vehicle_type,
'1.0.001' b1,
'administrator' b2,
'8009001' b3,
DATE_FORMAT(CURDATE(),'%Y/%m/%d') b4,
'' a1 ,'' a2 ,'' a3
FROM (SELECT t1.* FROM li_cardata_commercial t1 GROUP BY t1.cars,t1.brand) t,( SELECT @rownum := (SELECT MAX(CONVERT(SUBSTR(series_id,4),SIGNED)) FROM lb_cardata_commercial_series WHERE series_id LIKE 'AP%'
)) r
GROUP BY t.cars,t.brand
) a
LEFT JOIN lb_cardata_commercial_series lccs ON a.cars =lccs.series_name AND a.brand=lccs.brand_name
LEFT JOIN lb_cardata_commercial_brand lccb ON a.brand=lccb.brand_name
WHERE lccs.id IS NULL
);
-- 导入车型
INSERT INTO lb_cardata_commercial_model
( ID,
model_id,
model_name,
series_id,
series_name,
brand_id,
brand_name,
price,
liter,
vehicle_type,
level,
initialversion,
inputuserid,
inputorgid,
inputtime,
updateuserid,
updateorgid,
updatetime
)(
SELECT a.id,a.a,a.models,lccs.series_id,a.cars,lccs.brand_id,a.brand,a.b1,a.a4,a.vehicle_type,a.level,a.b2,a.b3,a.b4,a.b5,a.a1,a.a2,a.a3 FROM (
SELECT
REPLACE(UUID(),'-','') id,
CONCAT('APM',@rownum := @rownum + 1) a,
t.models,
'' aaa,
t.cars,
'' bbb,
t.brand,
t.the_guided/10000 b1,
'' a4,
t.vehicle_type,
t.LEVEL,
'1.0.001' b2,
'administrator' b3,
'8009001' b4,
DATE_FORMAT(CURDATE(),'%Y/%m/%d') b5,
'' a1,'' a2 ,'' a3
FROM (SELECT t1.* FROM li_cardata_commercial t1 GROUP BY t1.models,t1.cars,t1.brand) t,( SELECT @rownum := (SELECT MAX(CONVERT(SUBSTR(model_id,4),SIGNED)) FROM lb_cardata_commercial_model WHERE model_id LIKE 'AP%') ) r
) a
LEFT JOIN lb_cardata_commercial_model lccm ON a.models =lccm.model_name AND a.cars=lccm.series_name AND a.brand=lccm.brand_name
LEFT JOIN lb_cardata_commercial_series lccs ON a.brand=lccs.brand_name AND a.cars=lccs.series_name
WHERE lccm.id IS NULL
)
;
END;

View File

@ -0,0 +1,65 @@
create procedure proc_paydoc_help()
begin
DECLARE incount int(10) DEFAULT 0;
declare attr_id varchar(32);
declare in_projid varchar(32);
declare in_figid varchar(200);
declare in_filename varchar(200);
declare out_filepath varchar(200);
declare out_fullpath varchar(200);
declare done boolean default false;
declare doc_data cursor for
SELECT attr.id,rel.proj_id,replace(fig.doc_relation_id,',','|'),attr.filename,attr.filepath,attr.fullpath
FROM lb_docattribute attr
LEFT JOIN lb_doclibrary lib ON attr.library_id=lib.id
LEFT JOIN LB_DOCCONFIG fig ON fig.id=lib.config_id
LEFT JOIN lb_docrelative rel ON rel.id= relative_id
WHERE SUBSTRING(attr.filepath,2,10)='2018/12/22'
AND LEFT(attr.fullpath,4)='Disk'
AND lib.doc_name IN (
'主借身份证明',
'融资租赁申请表',
'担保人身份证',
'还款卡(正反面)',
'共借身份证明'
);
declare continue handler for not found set done=true;
open doc_data;
myLoop:loop
fetch doc_data into
attr_id,
in_projid,
in_figid,
in_filename,
out_filepath,
out_fullpath;
if done then leave myLoop;
end if;
set out_filepath=
(SELECT max(attr.filepath) FROM lb_docattribute attr
LEFT JOIN lb_doclibrary lib ON attr.library_id=lib.id
LEFT JOIN LB_DOCCONFIG fig ON fig.id=lib.config_id
LEFT JOIN lb_docrelative rel ON rel.id= relative_id
WHERE
rel.proj_id=in_projid
AND fig.id
REGEXP in_figid
AND attr.filename=in_filename);
SET out_fullpath=
(SELECT MAX(attr.fullpath) FROM lb_docattribute attr
LEFT JOIN lb_doclibrary lib ON attr.library_id=lib.id
LEFT JOIN LB_DOCCONFIG fig ON fig.id=lib.config_id
LEFT JOIN lb_docrelative rel ON rel.id= relative_id
WHERE
rel.proj_id=in_projid
AND fig.id
REGEXP in_figid
AND attr.filename=in_filename);
update lb_docattribute set filepath=out_filepath, fullpath=out_fullpath where id=attr_id;
set incount=incount+1;
end loop myLoop;
close doc_data;
select incount;
end;

View File

@ -0,0 +1,394 @@
create procedure proc_terminate_bill_income(IN l_contract_id varchar(200), IN l_flowunid varchar(200), IN L_INPUTUSERID varchar(200), IN L_INPUTORGID varchar(200))
BEGIN
DECLARE l_bill_money DOUBLE (22, 2) ;
-- 可核销金额
DECLARE l_adjust_type VARCHAR (32) ;
-- 提前结清类型
DECLARE l_payday_adjust VARCHAR (32) ;
-- 提前结清日
DECLARE l_handling_charge DOUBLE (22, 2) ; -- 违约手续费
DECLARE l_SDHANDLING_CHARGE DOUBLE(22,2); -- 商定违约金
DECLARE l_SDNOMINAL_PRICE DOUBLE(22,2); -- 商定留购价
DECLARE l_FIST_CORPUS DOUBLE (22, 2) ;-- 一年内剩余利息
DECLARE l_caution_money DOUBLE (22, 2) ;-- 客户保证金
DECLARE l_OTHER_IN DOUBLE (22, 2) ;-- 其他应收
DECLARE l_AGREED_DATEPENALTY DOUBLE (22, 2); -- 还款日差利息
-- 本方银行、账户、账号、流水号
DECLARE l_acc_number VARCHAR (32) ;
DECLARE l_acc_bank VARCHAR (32) ;
DECLARE l_acc_name VARCHAR (32) ;
DECLARE l_ebank_sn VARCHAR (32) ;
-- 对方本方银行、账户、账号
DECLARE l_client_bank VARCHAR (32) ;
DECLARE l_client_account VARCHAR (32) ;
DECLARE l_client_accnum VARCHAR (32) ;
DECLARE l_hire_date VARCHAR (32) ; -- 核销网银日期
-- 查询可核销的挂账金额
-- DECLARE done BOOLEAN DEFAULT FALSE;
-- DECLARE cur CURSOR FOR
SELECT
bill.fact_date,
bill.had_money,
bill.ownacc_number,
bill.own_bank,
bill.own_account,
-- bill.ebank_sn,
bill.id,
bill.client_bank,
bill.client_account,
bill.client_acc_number
INTO
l_hire_date,
l_bill_money,
l_acc_number,
l_acc_bank,
l_acc_name,
l_ebank_sn,
l_client_bank,
l_client_account,
l_client_accnum
FROM
(SELECT
lcebank.id,
-- le.ebank_number,
-- le.mayope_money,
-- le.contract_id,
-- le.payment_number,
max(le.fact_date) fact_date,
MAX(le.ownacc_number) ownacc_number,
MAX(le.own_bank) own_bank,
MAX(le.own_account) own_account,
-- le.client_name,
-- le.client_bank,
-- le.client_account,
-- le.client_acc_number,
SUM(le.had_money ) had_money,
MAX(le.ebank_sn) ebank_sn,
MAX(le.client_bank) client_bank,
MAX(le.client_account) client_account,
MAX(le.client_acc_number) client_acc_number
FROM
lc_ebank_temp le LEFT JOIN lc_ebank lcebank ON le.ebank_sn=lcebank.ebank_sn
WHERE le.flowunid = l_flowunid
AND NOT EXISTS
(SELECT
1
FROM
lc_occupy_rent_list lorl,
lc_calc_condition_status lccs
WHERE lorl.payment_number = lccs.payment_number
AND lccs.contract_id = le.contract_id)
) bill ;
-- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;
-- 提前结清是完整的核销,如果合同项下有租金被占用,则不核销
-- 获取提前结清信息
SELECT lfra.adjust_type,
lfra.payday_adjust,
lfra.SDHANDLING_CHARGE,
lfra.FIST_CORPUS,
lfra.OTHER_IN,
lfra.AGREED_DATEPENALTY,
lfra.OTHER_OUT,
lfra.SDNOMINAL_PRICE
INTO l_adjust_type,
l_payday_adjust,
l_SDHANDLING_CHARGE,
l_FIST_CORPUS,
l_OTHER_IN,
l_AGREED_DATEPENALTY,
l_caution_money,
l_SDNOMINAL_PRICE
FROM lc_fund_rent_adjust_temp lfra
WHERE lfra.flowunid=l_flowunid;
-- 如果有保证金指其他应退,在资金计划实收表核销保证金抵扣
IF (l_caution_money > 0) THEN
INSERT INTO lc_fund_income
(id,
project_id,
project_plan_number,
contract_id,
contract_plan_number,
payment_number,
plan_id,
fee_type,
plan_list,
settle_method,
charge_list,
pay_type,
fact_date,
fact_money,
fee_adjust,
EBANK_NUMBER,
bank,
account,
acc_number,
client_bank,
client_account,
client_accnumber,
pay_status,
ROLL_BACK,
INPUTUSERID,
INPUTORGID,
inputtime,
DEDUCTION_ID
)(
SELECT REPLACE(UUID(),'-',''),
lfi.project_id,
lfi.project_plan_number,
lfi.contract_id,
lfi.contract_plan_number,
lfi.payment_number,
lfi.id,
lfi.fee_type,
lfi.plan_list,
'settlemethod7',
'1',
'pay_type_out',
l_payday_adjust,
lfi.plan_money,
IFNULL(lfi.fee_adjust,0),
l_ebank_sn,
l_acc_bank,
l_acc_name,
l_acc_number,
l_client_bank,
l_client_account,
l_client_accnum,
'have_paid',
'0',
L_INPUTUSERID,
L_INPUTORGID,
REPLACE(CURDATE(),'-','/'),
''
FROM lc_fund_plan lfi
WHERE (lfi.fee_type='feetype16' OR lfi.fee_type='feetype17') AND lfi.contract_id=l_contract_id AND lfi.plan_list=1
) ;
-- COMMIT;
END IF;
-- 如果有其他应收,在资金计划表加入其他应收资金计划
IF l_OTHER_IN > 0 THEN
INSERT INTO lc_fund_income
(id,
project_id,
project_plan_number,
contract_id,
contract_plan_number,
payment_number,
plan_id,
fee_type,
plan_list,
settle_method,
charge_list,
pay_type,
fact_date,
fact_money,
fee_adjust,
EBANK_NUMBER,
bank,
account,
acc_number,
client_bank,
client_account,
client_accnumber,
pay_status,
ROLL_BACK,
INPUTUSERID,
INPUTORGID,
inputtime,
DEDUCTION_ID
)(
SELECT REPLACE(UUID(),'-',''),
lfi.project_id,
lfi.project_plan_number,
lfi.contract_id,
lfi.contract_plan_number,
lfi.payment_number,
lfi.id,
lfi.fee_type,
lfi.plan_list,
'settlemethod11',
'1',
'pay_type_in',
l_payday_adjust,
lfi.plan_money,
IFNULL(lfi.fee_adjust,0),
l_ebank_sn,
l_acc_bank,
l_acc_name,
l_acc_number,
l_client_bank,
l_client_account,
l_client_accnum,
'have_paid',
'0',
L_INPUTUSERID,
L_INPUTORGID,
REPLACE(CURDATE(),'-','/'),
''
FROM lc_fund_plan lfi
WHERE lfi.fee_type='feetype1' AND lfi.contract_id=l_contract_id AND lfi.plan_list=1
AND lfi.id NOT IN (SELECT plan_id FROM lc_fund_income)
) ;
-- COMMIT;
END IF;
-- 核销商定留购价
IF l_SDNOMINAL_PRICE > 0 THEN
INSERT INTO lc_fund_income
(id,
project_id,
project_plan_number,
contract_id,
contract_plan_number,
payment_number,
plan_id,
fee_type,
plan_list,
settle_method,
charge_list,
pay_type,
fact_date,
fact_money,
fee_adjust,
EBANK_NUMBER,
bank,
account,
acc_number,
client_bank,
client_account,
client_accnumber,
pay_status,
ROLL_BACK,
INPUTUSERID,
INPUTORGID,
inputtime,
DEDUCTION_ID
)(
SELECT REPLACE(UUID(),'-',''),
lfi.project_id,
lfi.project_plan_number,
lfi.contract_id,
lfi.contract_plan_number,
lfi.payment_number,
lfi.id,
lfi.fee_type,
lfi.plan_list,
'settlemethod11',
'1',
'pay_type_in',
l_payday_adjust,
l_SDNOMINAL_PRICE,
lfi.plan_money-l_SDNOMINAL_PRICE,
l_ebank_sn,
l_acc_bank,
l_acc_name,
l_acc_number,
l_client_bank,
l_client_account,
l_client_accnum,
'have_paid',
'0',
L_INPUTUSERID,
L_INPUTORGID,
REPLACE(CURDATE(),'-','/'),
''
FROM lc_fund_plan lfi
WHERE lfi.fee_type='feetype4' AND lfi.contract_id=l_contract_id AND lfi.plan_list=1
AND lfi.id NOT IN (SELECT plan_id FROM lc_fund_income)
) ;
-- COMMIT;
END IF;
-- 核销租金计划
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number
)
(SELECT
REPLACE (UUID(), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
l_ebank_sn AS EBANK_NUMBER,
lrp.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
'1' AS HIRE_LIST,
DATE_FORMAT (l_hire_date,'%Y/%m/%d') AS HIRE_DATE,
o.rent AS RENT,
o.corpus AS CORPUS,
o.interest AS INTEREST,
'0' AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
l_client_accnum,
l_client_bank,
l_client_account,
l_acc_bank,
l_acc_name,
l_acc_number
FROM
LC_RENT_PLAN_temp O
LEFT JOIN lC_RENT_PLAN lrp ON o.contract_id=lrp.contract_id AND o.plan_list=lrp.plan_list
WHERE O.contract_id =l_contract_id
AND o.flowunid = l_flowunid
AND IFNULL(o.collect_status,'111')<>'手工收款'
AND IFNULL(o.collect_status,'111')<>'批量收款'
AND IFNULL(o.collect_status,'1111')<>'网银收款'
AND IFNULL(o.collect_status,'1111')<>'提前结清'
) ;
-- 更新租金计划表核销状态
UPDATE LC_RENT_PLAN_temp SET collect_status='提前结清',collect_msg='提前结清'
WHERE flowunid = l_flowunid
AND IFNULL(collect_status,'1111')<>'手工收款'
AND IFNULL(collect_status,'111')<>'批量收款'
AND IFNULL(collect_status,'1111')<>'网银收款'
AND IFNULL(collect_status,'1111')<>'提前结清'
;
-- 调试结果:参数赋值
SELECT '步骤1参数赋值','可核销金额',l_bill_money,'本方账号',l_acc_number,
'本分银行',l_acc_bank,'本分账户',l_acc_name,'应退保证金',l_caution_money,'违约金',l_SDHANDLING_CHARGE,'其他应收',l_OTHER_IN;
-- end loop myLoop;
-- close cur;
END;

View File

@ -0,0 +1,47 @@
create procedure proc_test_zyh()
BEGIN
-- 记录试图vi_product备注
SELECT
lpi.id lpiid,
lpi.`PRODUCT_ID` lpiproductid,
bt.typename, -- 产品名称
psl.SPECIFICname, -- 规格信息 一个产品信息 1n 规格信息,只有一个状态可用版本
psl.versionid, -- 版本信息
psl.`leasform`,-- 租赁类型
psl.equip_type,-- 车辆类型
psl.is_all_dealer,-- 产品适用所有经销商
psl.is_all_dealer_group,-- 产品适用所经销商集
psl.is_all_area,-- 产品适用所有区域
lpc.carid, -- 车型id
lcm.modelid, -- 车型编号
lcm.modelname, -- 车型名称
di.id diid, -- 经销商id
di.`distributor_no` didistributor_no, -- 经销商编号
di.`distributor_name` didistributor_name, -- 经销商名称
di.PROVINCES, -- 经销商省份
di.city, -- 经销商城市
lpdg.`id` lpdgid, -- 经销商集团id
lpdg.`distributgroupid` , -- 经销商集体编号
lpdg.`distributgroupname` , -- 经销商集团名称
di1.distributor_no di1distributor_no, -- 经销商集团下的经销商编号
di1.distributor_name di1distributor_name, -- 经销商集团下的经销商名称
di1.PROVINCES di1PROVINCES, -- 经销商集团下的经销商省份
di1.city di1city, -- 经销商集团下的经销商城市
lpd.`districtid`, -- 区域编号
lpd.`districtname`, -- 区域名称
ddr.`distributor_name` -- 省份名称
FROM (SELECT * FROM business_type WHERE LENGTH(sortno)>4 ) bt
LEFT JOIN lb_product_info lpi ON lpi.`PRODUCT_ID`=bt.typeno
LEFT JOIN prd_specific_library psl ON psl.`PRODUCTID`=lpi.`PRODUCT_ID` AND psl.status=1
LEFT JOIN LM_PRODUCT_CAR lpc ON lpc.`PRODUCTID`=lpi.`PRODUCT_ID` -- 产品nn 车型,
LEFT JOIN `lb_cardata_model` lcm ON lcm.id=lpc.`CARID`
LEFT JOIN LM_DISTRIBUTOR_TO_PRODUCT ltp ON ltp.product_id=lpi.`PRODUCT_ID`
LEFT JOIN `distributor_info` di ON ltp.`DISTRIBUTOR_ID`=di.id -- 产品 n:n 经销商
LEFT JOIN LM_PRODUCT_DISTRIBUTOR_GROUP lpdg ON lpdg.productid=lpi.`PRODUCT_ID`
LEFT JOIN DISTRIBUTOR_GROUP_RELATION dgr ON lpdg.`distributgroupid`=dgr.`group_id` -- 经销商集团 1n 经销商
LEFT JOIN distributor_info di1 ON di1.id=dgr.`distributor_id`
LEFT JOIN LM_PRODUCT_DISTRICT lpd ON lpd.`productid`=lpi.`PRODUCT_ID` -- 产品 nn 区域
LEFT JOIN DISTRICT_DISTRIBUTOR_RELATION ddr ON ddr.`DISTRict_code`=lpd.`districtid` -- 区域 1 n 省份
;
END;

View File

@ -0,0 +1,47 @@
create procedure proc_text_zyh()
BEGIN
-- 记录试图vi_product备注
SELECT
lpi.id lpiid,
lpi.`PRODUCT_ID` lpiproductid,
bt.typename, -- 产品名称
psl.SPECIFICname, -- 规格信息 一个产品信息 1n 规格信息,只有一个状态可用版本
psl.versionid, -- 版本信息
psl.`leasform`,-- 租赁类型
psl.equip_type,-- 车辆类型
psl.is_all_dealer,-- 产品适用所有经销商
psl.is_all_dealer_group,-- 产品适用所经销商集
psl.is_all_area,-- 产品适用所有区域
lpc.carid, -- 车型id
lcm.modelid, -- 车型编号
lcm.modelname, -- 车型名称
di.id diid, -- 经销商id
di.`distributor_no` didistributor_no, -- 经销商编号
di.`distributor_name` didistributor_name, -- 经销商名称
di.PROVINCES, -- 经销商省份
di.city, -- 经销商城市
lpdg.`id` lpdgid, -- 经销商集团id
lpdg.`distributgroupid` , -- 经销商集体编号
lpdg.`distributgroupname` , -- 经销商集团名称
di1.distributor_no di1distributor_no, -- 经销商集团下的经销商编号
di1.distributor_name di1distributor_name, -- 经销商集团下的经销商名称
di1.PROVINCES di1PROVINCES, -- 经销商集团下的经销商省份
di1.city di1city, -- 经销商集团下的经销商城市
lpd.`districtid`, -- 区域编号
lpd.`districtname`, -- 区域名称
ddr.`distributor_name` -- 省份名称
FROM (SELECT * FROM business_type WHERE LENGTH(sortno)>4 ) bt
LEFT JOIN lb_product_info lpi ON lpi.`PRODUCT_ID`=bt.typeno
LEFT JOIN prd_specific_library psl ON psl.`PRODUCTID`=lpi.`PRODUCT_ID` AND psl.status=1
LEFT JOIN LM_PRODUCT_CAR lpc ON lpc.`PRODUCTID`=lpi.`PRODUCT_ID` -- 产品nn 车型,
LEFT JOIN `lb_cardata_model` lcm ON lcm.id=lpc.`CARID`
LEFT JOIN LM_DISTRIBUTOR_TO_PRODUCT ltp ON ltp.product_id=lpi.`PRODUCT_ID`
LEFT JOIN `distributor_info` di ON ltp.`DISTRIBUTOR_ID`=di.id -- 产品 n:n 经销商
LEFT JOIN LM_PRODUCT_DISTRIBUTOR_GROUP lpdg ON lpdg.productid=lpi.`PRODUCT_ID`
LEFT JOIN DISTRIBUTOR_GROUP_RELATION dgr ON lpdg.`distributgroupid`=dgr.`group_id` -- 经销商集团 1n 经销商
LEFT JOIN distributor_info di1 ON di1.id=dgr.`distributor_id`
LEFT JOIN LM_PRODUCT_DISTRICT lpd ON lpd.`productid`=lpi.`PRODUCT_ID` -- 产品 nn 区域
LEFT JOIN DISTRICT_DISTRIBUTOR_RELATION ddr ON ddr.`DISTRict_code`=lpd.`districtid` -- 区域 1 n 省份
;
END;

View File

@ -0,0 +1,5 @@
create procedure test(IN oldflowno varchar(200))
BEGIN
SELECT oldflowno FROM DUAL;
END;

View File

@ -0,0 +1,11 @@
create procedure test_insert()
BEGIN
DECLARE y TINYINT DEFAULT 1;
WHILE y<31
DO
insert into code_library (codeno,itemno,itemname,sortno,isinuse) values('year',1991+y,1991+y|'',100+y,'1');
SET y=y+1;
END WHILE ;
commit;
END;

View File

@ -0,0 +1,9 @@
create view lb_union_lessee_f_transfer as SELECT LBU.CONTRACT_ID AS CONTRACT_ID, CI.CUSTOMERNAME AS CUSTOMERNAME
FROM (APZL.LB_UNION_LESSEE LBU
LEFT JOIN APZL.CUSTOMER_INFO CI ON ((LBU.CUSTOMER_ID = CI.CUSTOMERID)))
WHERE ((ifnull(LBU.CONTRACT_ID, 'e') <> 'e') AND (LBU.CONTRACT_ID <> '') AND (LBU.IS_MAIN = 'Y'));
-- comment on column lb_union_lessee_f_transfer.contract_id not supported: 合同编号
-- comment on column lb_union_lessee_f_transfer.customername not supported: 客户名称

View File

@ -0,0 +1,9 @@
create view lb_union_lessee_transfer as SELECT LBU.CONTRACT_ID AS CONTRACT_ID, CI.CUSTOMERNAME AS CUSTOMERNAME
FROM (APZL.LB_UNION_LESSEE LBU
LEFT JOIN APZL.CUSTOMER_INFO CI ON ((LBU.CUSTOMER_ID = CI.CUSTOMERID)))
WHERE ((ifnull(LBU.CONTRACT_ID, 'e') <> 'e') AND (LBU.CONTRACT_ID <> '') AND (LBU.IS_MAIN = 'Y'));
-- comment on column lb_union_lessee_transfer.contract_id not supported: 合同编号
-- comment on column lb_union_lessee_transfer.customername not supported: 客户名称

View File

@ -0,0 +1,6 @@
create view lc_ebank_process_transfer as SELECT APZL.LC_EBANK_PROCESS.EBANK_NUMBER AS EBANK_NUMBER, sum(APZL.LC_EBANK_PROCESS.PROCESS_MONEY) AS PROCESSMONEY
FROM APZL.LC_EBANK_PROCESS
GROUP BY APZL.LC_EBANK_PROCESS.EBANK_NUMBER;
-- comment on column lc_ebank_process_transfer.EBANK_NUMBER not supported: 网银编号

View File

@ -0,0 +1,6 @@
create view lc_fund_income_eb_transfer as SELECT APZL.LC_FUND_INCOME.EBANK_NUMBER AS EBANK_NUMBER, sum(APZL.LC_FUND_INCOME.FACT_MONEY) AS FUNDMONEY
FROM APZL.LC_FUND_INCOME
GROUP BY APZL.LC_FUND_INCOME.EBANK_NUMBER;
-- comment on column lc_fund_income_eb_transfer.EBANK_NUMBER not supported: 网银编号

View File

@ -0,0 +1,74 @@
create view lc_fund_income_temp_hxm as SELECT DI.DISTRIBUTOR_NO AS DISTRIBUTOR_NO,
LC.FLOWUNID AS FLOWUNID,
DI.DISTRIBUTOR_NAME AS DISTRIBUTOR_NAME,
DA.ACCOUNT AS DA_NAME,
DA.ACC_NUMBER AS AD_NUMBER,
DA.OPEN_BANK AS DA_BANK,
DA.PROVINCEINFO AS PROVINCEINFO,
DA.DISTRICT AS DISTRICT,
OA.ACC_BANK AS ACC_BANK,
OA.ACC_NAME AS ACC_NAME,
OA.ACC_NUMBER AS ACC_NUMBER,
LC.SMONEY AS SMONEY,
LC.SCOUNT AS SCOUNT,
CT.REQSTS AS REQSTS,
CT.RTNFLG AS RTNFLG,
CT.ERRTXT AS ERRTXT,
CT.RTNNAR AS RTNNAR,
LC.IS_FLOWING AS IS_FLOWING,
LC.PAYTYPE AS PAYTYPE
FROM ((((APZL.DISTRIBUTOR_INFO DI JOIN APZL.DISTRIBUTOR_ACCOUNT DA ON (((DI.DISTRIBUTOR_NO = DA.DISTRIBUTOR_ID) AND (DA.IS_MAIN = 'Y')))) JOIN (
SELECT APZL.OWN_ACCOUNT.ACC_BANK AS ACC_BANK, APZL.OWN_ACCOUNT.ACC_NAME AS ACC_NAME, APZL.OWN_ACCOUNT.ACC_NUMBER AS ACC_NUMBER
FROM (APZL.OWN_ACCOUNT
LEFT JOIN APZL.OWN_INFO OI ON ((APZL.OWN_ACCOUNT.OWN_ID = OI.OWN_NUMBER)))
WHERE ((APZL.OWN_ACCOUNT.STATE_ = '0010') AND (OI.OWN_NAME = '安鹏国际融资租赁(深圳)有限公司') AND (APZL.OWN_ACCOUNT.ACC_TYPE = '0010') AND
((APZL.OWN_ACCOUNT.ACCOUNT_TYPE = 'out_account') OR (APZL.OWN_ACCOUNT.ACCOUNT_TYPE = 'inAndOut_account')) AND
(APZL.OWN_ACCOUNT.FBSDK = 'Y') AND (APZL.OWN_ACCOUNT.MONEY_TYPE = '01'))
) OA) JOIN (
SELECT LFIT.FLOWUNID AS FLOWUNID,
LCI.DISTRIBUTOR_ID AS DISTRIBUTOR_ID,
LFIT.IS_FLOWING AS IS_FLOWING,
PSL.PAYTYPE AS PAYTYPE,
sum(LFIT.FACT_MONEY) AS SMONEY,
count(LFIT.CONTRACT_ID) AS SCOUNT
FROM ((APZL.LB_CONTRACT_INFO LCI LEFT JOIN APZL.PRD_SPECIFIC_LIBRARY PSL ON ((convert(LCI.PRODUCT_ID USING UTF8) = PSL.PRODUCTID)))
JOIN APZL.LC_FUND_INCOME_TEMP LFIT
ON (((LCI.ID = LFIT.CONTRACT_ID) AND (LFIT.PAY_TYPE = 'pay_type_out') AND (LFIT.PAY_STATUS = 'apply_pass') AND (LFIT.ROLL_BACK = '0'))))
GROUP BY LCI.DISTRIBUTOR_ID, LFIT.FLOWUNID
) LC ON ((DI.DISTRIBUTOR_NO = LC.DISTRIBUTOR_ID)))
LEFT JOIN APZL.LC_FUND_INCOME_CALLBACK_DETAIL_TEMP CT ON (((LC.FLOWUNID = CT.FLOWUNID) AND (LC.DISTRIBUTOR_ID = CT.DISTRIBUTOR_ID))));
-- comment on column lc_fund_income_temp_hxm.distributor_no not supported: 经销商编码
-- comment on column lc_fund_income_temp_hxm.FLOWUNID not supported: 流程编号
-- comment on column lc_fund_income_temp_hxm.distributor_name not supported: 经销商名称
-- comment on column lc_fund_income_temp_hxm.da_name not supported: 账户名称
-- comment on column lc_fund_income_temp_hxm.ad_number not supported: 银行帐号
-- comment on column lc_fund_income_temp_hxm.da_bank not supported: 开户银行
-- comment on column lc_fund_income_temp_hxm.provinceInfo not supported: 省份
-- comment on column lc_fund_income_temp_hxm.district not supported: 地区
-- comment on column lc_fund_income_temp_hxm.acc_bank not supported: 本方银行
-- comment on column lc_fund_income_temp_hxm.acc_name not supported: 本方银行账户
-- comment on column lc_fund_income_temp_hxm.acc_number not supported: 本方账号
-- comment on column lc_fund_income_temp_hxm.REQSTS not supported: 业务请求状态
-- comment on column lc_fund_income_temp_hxm.RTNFLG not supported: 业务处理结果
-- comment on column lc_fund_income_temp_hxm.ERRTXT not supported: 错误文本
-- comment on column lc_fund_income_temp_hxm.RTNNAR not supported: 结果摘要
-- comment on column lc_fund_income_temp_hxm.IS_FLOWING not supported: 是否流程中
-- comment on column lc_fund_income_temp_hxm.payType not supported: 放款方式

View File

@ -0,0 +1,19 @@
create view lc_fund_income_temp_transfer as SELECT LC.PAYMENT_NUMBER AS PAYMENT_NUMBER,
LC.PAY_TYPE AS PAY_TYPE,
LC.FEE_TYPE AS FEE_TYPE,
LC.PLAN_LIST AS PLAN_LIST,
sum(LC.FACT_MONEY) AS FACT_MONEY,
sum(LC.FEE_ADJUST) AS FEE_ADJUST
FROM APZL.LC_FUND_INCOME_TEMP LC
WHERE ((LC.IS_FLOWING = '0') AND (LC.ROLL_BACK = '0') AND
(CASE WHEN ((LC.PAY_TYPE = 'pay_type_out') AND (LC.PAY_STATUS IS NOT NULL)) THEN 0 ELSE 1 END))
GROUP BY LC.PAYMENT_NUMBER, LC.PAY_TYPE, LC.FEE_TYPE, LC.PLAN_LIST;
-- comment on column lc_fund_income_temp_transfer.payment_number not supported: 投放编号
-- comment on column lc_fund_income_temp_transfer.pay_type not supported: 收付类型
-- comment on column lc_fund_income_temp_transfer.fee_type not supported: 费用类型
-- comment on column lc_fund_income_temp_transfer.plan_list not supported: 计划期次

View File

@ -0,0 +1,19 @@
create view lc_fund_income_transfer as SELECT LC.PAYMENT_NUMBER AS PAYMENT_NUMBER,
LC.PAY_TYPE AS PAY_TYPE,
LC.FEE_TYPE AS FEE_TYPE,
LC.PLAN_LIST AS PLAN_LIST,
sum(LC.FACT_MONEY) AS FACT_MONEY,
sum(LC.FEE_ADJUST) AS FEE_ADJUST
FROM APZL.LC_FUND_INCOME LC
WHERE ((LC.PAY_STATUS = 'have_paid') OR
((CASE WHEN (LC.PAY_TYPE = 'pay_type_in') THEN ((LC.PAY_STATUS = 'apply_pass') OR isnull(LC.PAY_STATUS)) ELSE 0 END) AND (LC.ROLL_BACK = '0')))
GROUP BY LC.PAYMENT_NUMBER, LC.PAY_TYPE, LC.FEE_TYPE, LC.PLAN_LIST;
-- comment on column lc_fund_income_transfer.payment_number not supported: 投放编号
-- comment on column lc_fund_income_transfer.pay_type not supported: 收付类型
-- comment on column lc_fund_income_transfer.fee_type not supported: 费用类型
-- comment on column lc_fund_income_transfer.plan_list not supported: 计划期次

View File

@ -0,0 +1,6 @@
create view lc_rent_income_eb_transfer as SELECT APZL.LC_RENT_INCOME.EBANK_NUMBER AS EBANK_NUMBER, sum(APZL.LC_RENT_INCOME.RENT) AS RENT, sum(APZL.LC_RENT_INCOME.PENALTY) AS PENALTY
FROM APZL.LC_RENT_INCOME
GROUP BY APZL.LC_RENT_INCOME.EBANK_NUMBER;
-- comment on column lc_rent_income_eb_transfer.EBANK_NUMBER not supported: 网银编号

View File

@ -0,0 +1,17 @@
create view lc_rent_income_temp_transfer as SELECT APZL.LC_RENT_INCOME_TEMP.PAYMENT_NUMBER AS PAYMENT_NUMBER,
APZL.LC_RENT_INCOME_TEMP.PLAN_LIST AS PLAN_LIST,
sum(APZL.LC_RENT_INCOME_TEMP.RENT) AS RENT,
sum(APZL.LC_RENT_INCOME_TEMP.CORPUS) AS CORPUS,
sum(APZL.LC_RENT_INCOME_TEMP.INTEREST) AS INTEREST,
sum(APZL.LC_RENT_INCOME_TEMP.PENALTY) AS PENALTY,
sum(APZL.LC_RENT_INCOME_TEMP.CORPUS_ADJUST) AS CORPUS_ADJUST,
sum(APZL.LC_RENT_INCOME_TEMP.INTEREST_ADJUST) AS INTEREST_ADJUST,
sum(APZL.LC_RENT_INCOME_TEMP.PENALTY_ADJUST) AS PENALTY_ADJUST
FROM APZL.LC_RENT_INCOME_TEMP
WHERE ((APZL.LC_RENT_INCOME_TEMP.IS_FLOWING = 0) AND (APZL.LC_RENT_INCOME_TEMP.ROLL_BACK = '0'))
GROUP BY APZL.LC_RENT_INCOME_TEMP.PAYMENT_NUMBER, APZL.LC_RENT_INCOME_TEMP.PLAN_LIST;
-- comment on column lc_rent_income_temp_transfer.payment_number not supported: 投放编号
-- comment on column lc_rent_income_temp_transfer.plan_list not supported: 租金计划期次

View File

@ -0,0 +1,20 @@
create view lc_rent_income_transfer as SELECT APZL.LC_RENT_INCOME.PAYMENT_NUMBER AS PAYMENT_NUMBER,
APZL.LC_RENT_INCOME.PLAN_LIST AS PLAN_LIST,
APZL.LC_RENT_INCOME.PLAN_ID AS PLAN_ID,
sum(APZL.LC_RENT_INCOME.RENT) AS RENT,
sum(APZL.LC_RENT_INCOME.CORPUS) AS CORPUS,
sum(APZL.LC_RENT_INCOME.INTEREST) AS INTEREST,
sum(APZL.LC_RENT_INCOME.PENALTY) AS PENALTY,
sum(APZL.LC_RENT_INCOME.CORPUS_ADJUST) AS CORPUS_ADJUST,
sum(APZL.LC_RENT_INCOME.INTEREST_ADJUST) AS INTEREST_ADJUST,
sum(APZL.LC_RENT_INCOME.PENALTY_ADJUST) AS PENALTY_ADJUST
FROM APZL.LC_RENT_INCOME
WHERE (APZL.LC_RENT_INCOME.ROLL_BACK = '0')
GROUP BY APZL.LC_RENT_INCOME.PAYMENT_NUMBER, APZL.LC_RENT_INCOME.PLAN_LIST;
-- comment on column lc_rent_income_transfer.payment_number not supported: 投放编号
-- comment on column lc_rent_income_transfer.plan_list not supported: 租金计划期次
-- comment on column lc_rent_income_transfer.plan_id not supported: 计划id

View File

@ -0,0 +1,14 @@
create view pf_view_channel_interface as SELECT A.CHANNEL_ID AS CHANNEL_ID,
B.INTERFACE_ID AS INTERFACE_ID,
A.CHANNEL_NO AS CHANNEL_NO,
A.LEASING_CHANNEL_NO AS LEASING_CHANNEL_NO,
A.SECRET_KEY AS SECRET_KEY,
B.INTERFACE_NO AS INTERFACE_NO,
B.URL AS URL,
A.LEASING_MANAGER_NO AS LEASING_MANAGER_NO,
B.PUSH_TYPE AS PUSH_TYPE
FROM (APZL.PF_CHANNEL A
JOIN APZL.PF_INTERFACE B ON ((A.CHANNEL_ID = B.CHANNEL_ID)))
WHERE ((A.CHANNEL_STATUS = 'ENABLED') AND (B.INTERFACE_STATUS = 'ENABLED') AND (B.URL IS NOT NULL) AND (A.SECRET_KEY IS NOT NULL) AND
(A.LEASING_CHANNEL_NO IS NOT NULL));

View File

@ -0,0 +1,12 @@
create view right_info as SELECT APZL.AWE_RIGHT_INFO.RIGHTID AS RIGHTID,
APZL.AWE_RIGHT_INFO.RIGHTNAME AS RIGHTNAME,
APZL.AWE_RIGHT_INFO.RIGHTDESCRIBE AS RIGHTDESCRIBE,
APZL.AWE_RIGHT_INFO.RIGHTSTATUS AS RIGHTSTATUS,
APZL.AWE_RIGHT_INFO.INPUTORG AS INPUTORG,
APZL.AWE_RIGHT_INFO.INPUTUSER AS INPUTUSER,
APZL.AWE_RIGHT_INFO.INPUTTIME AS INPUTTIME,
APZL.AWE_RIGHT_INFO.UPDATEUSER AS UPDATEUSER,
APZL.AWE_RIGHT_INFO.UPDATETIME AS UPDATETIME,
APZL.AWE_RIGHT_INFO.REMARK AS REMARK
FROM APZL.AWE_RIGHT_INFO;

View File

@ -0,0 +1,44 @@
create view role_info as SELECT APZL.AWE_ROLE_INFO.ROLEID AS ROLEID,
APZL.AWE_ROLE_INFO.SORTNO AS SORTNO,
APZL.AWE_ROLE_INFO.ROLENAME AS ROLENAME,
APZL.AWE_ROLE_INFO.BELONGORG AS BELONGORG,
APZL.AWE_ROLE_INFO.ROLEATTRIBUTE AS ROLEATTRIBUTE,
APZL.AWE_ROLE_INFO.ROLEDESCRIBE AS ROLEDESCRIBE,
APZL.AWE_ROLE_INFO.ROLESTATUS AS ROLESTATUS,
APZL.AWE_ROLE_INFO.INPUTUSER AS INPUTUSER,
APZL.AWE_ROLE_INFO.INPUTORG AS INPUTORG,
APZL.AWE_ROLE_INFO.INPUTTIME AS INPUTTIME,
APZL.AWE_ROLE_INFO.UPDATEUSER AS UPDATEUSER,
APZL.AWE_ROLE_INFO.UPDATETIME AS UPDATETIME,
APZL.AWE_ROLE_INFO.REMARK AS REMARK,
APZL.AWE_ROLE_INFO.TASK_POOL AS TASK_POOL
FROM APZL.AWE_ROLE_INFO;
-- comment on column role_info.roleid not supported: 角色编号
-- comment on column role_info.sortno not supported: 排序
-- comment on column role_info.rolename not supported: 角色名
-- comment on column role_info.belongorg not supported: 所属机构
-- comment on column role_info.roleattribute not supported: 角色属性
-- comment on column role_info.roledescribe not supported: 角色描述
-- comment on column role_info.rolestatus not supported: 角色状态
-- comment on column role_info.inputuser not supported: 登记人
-- comment on column role_info.inputorg not supported: 登记部门
-- comment on column role_info.inputtime not supported: 登记时间
-- comment on column role_info.updateuser not supported: 更新人
-- comment on column role_info.updatetime not supported: 更新时间
-- comment on column role_info.remark not supported: 备注
-- comment on column role_info.task_pool not supported: 任务池

View File

@ -0,0 +1,10 @@
create view role_right as SELECT APZL.AWE_ROLE_RIGHT.ROLEID AS ROLEID,
APZL.AWE_ROLE_RIGHT.RIGHTID AS RIGHTID,
APZL.AWE_ROLE_RIGHT.REMARK AS REMARK,
APZL.AWE_ROLE_RIGHT.INPUTORG AS INPUTORG,
APZL.AWE_ROLE_RIGHT.INPUTUSER AS INPUTUSER,
APZL.AWE_ROLE_RIGHT.INPUTTIME AS INPUTTIME,
APZL.AWE_ROLE_RIGHT.UPDATEUSER AS UPDATEUSER,
APZL.AWE_ROLE_RIGHT.UPDATETIME AS UPDATETIME
FROM APZL.AWE_ROLE_RIGHT;

View File

@ -0,0 +1,78 @@
create view vi_actual_fund_plan as SELECT LCI.ID AS ID,
LCI.CONTRACT_NUMBER AS CONTRACT_NUMBER,
LCI.PRODUCT_ID AS PRODUCT_ID,
PSL.PAYTYPE AS PAYTYPE,
LUL.CUSTOMER_NAME AS CUSTOMER_NAME,
LFI.ID AS PLAN_ID,
LFI.PAYMENT_NUMBER AS PAYMENT_NUMBER,
(CASE WHEN (DR.ISRENTER = 'Y') THEN LUL.CUSTOMER_NAME ELSE DI.DISTRIBUTOR_NAME END) AS OBJECTNAME,
LFI.SETTLE_METHOD AS SETTLE_METHOD,
LFI.FACT_MONEY AS FACT_MONEY,
LFI.FACT_DATE AS FACT_DATE,
UI.USERNAME AS USERNAME,
OI.ORGNAME AS ORGNAME,
LCIOI.ORGNAME AS CHANNEL_NAME,
LFI.BANK AS BANK,
LFI.ACCOUNT AS ACCOUNT,
LFI.FACT_OBJECT AS FACT_OBJECT,
LFI.ACC_NUMBER AS ACC_NUMBER,
DA.OPEN_BANK AS CLIENT_BANK,
DA.ACCOUNT AS CLIENT_ACCOUNT,
DA.ACC_NUMBER AS CLIENT_ACCNUMBER,
LCI.PROJECT_ID AS PROJECT_ID,
(
SELECT sum(`nvl`(VLFP.OVERMONEY, 0)) FROM APZL.VI_LC_FUND_PLAN VLFP WHERE (VLFP.CONTRACT_ID = LCI.ID)
) AS OVERMONEY
FROM ((((((((((APZL.LB_CONTRACT_INFO LCI LEFT JOIN APZL.PRD_SPECIFIC_LIBRARY PSL ON ((convert(LCI.PRODUCT_ID USING UTF8) = PSL.PRODUCTID))) LEFT JOIN APZL.LB_UNION_LESSEE LUL ON (((LUL.CONTRACT_ID = LCI.ID) AND (LUL.IS_MAIN = 'Y')))) LEFT JOIN APZL.LC_FUND_INCOME LFI ON ((
(LFI.CONTRACT_ID = LCI.ID) AND (LFI.FEE_TYPE = 'feetype10') AND
(LFI.SETTLE_METHOD <> 'settlemethod11')))) LEFT JOIN APZL.DISTRIBUTOR_RECEIVABLES DR ON ((DR.CONTRACT_ID = LCI.ID))) LEFT JOIN APZL.DISTRIBUTOR_INFO DI ON (((DI.ID = LFI.FACT_OBJECT) AND ((CASE WHEN (DR.ISRENTER = 'Y') THEN 2 ELSE 1 END) = 1)))) LEFT JOIN APZL.CUSTOMER_INFO CI ON ((
(CI.CUSTOMERID = LFI.FACT_OBJECT) AND
((CASE WHEN (DR.ISRENTER = 'Y') THEN 2 ELSE 1 END) = 2)))) LEFT JOIN APZL.USER_INFO UI ON ((UI.USERID = LFI.APPLY_PERSON))) LEFT JOIN APZL.ORG_INFO OI ON ((OI.ORGID = LFI.APPLY_DEPT))) LEFT JOIN APZL.ORG_INFO LCIOI ON ((LCIOI.ORGID = LCI.INPUTORGID)))
LEFT JOIN APZL.DISTRIBUTOR_ACCOUNT DA ON ((if(isnull(LFI.DISTRIBUTOR_ID), LCI.DISTRIBUTOR_ID, LFI.DISTRIBUTOR_ID) = DA.DISTRIBUTOR_ID)))
WHERE ((LCI.CONTRACT_STATUS = '21') AND (LCI.BUSINESSTYPE = '1') AND (LFI.PAY_STATUS = 'apply_pass') AND (DA.IS_MAIN = 'Y') AND (NOT (exists(SELECT 1
FROM APZL.LC_FUND_INCOME_TEMP
WHERE ((APZL.LC_FUND_INCOME_TEMP.PLAN_ID = LFI.PLAN_ID) AND
(APZL.LC_FUND_INCOME_TEMP.IS_FLOWING = '0'))))));
-- comment on column vi_actual_fund_plan.id not supported: 编号
-- comment on column vi_actual_fund_plan.contract_number not supported: 业务合同号
-- comment on column vi_actual_fund_plan.product_id not supported: 产品ID
-- comment on column vi_actual_fund_plan.payType not supported: 放款方式
-- comment on column vi_actual_fund_plan.customer_name not supported: 承租人名称
-- comment on column vi_actual_fund_plan.plan_id not supported: 标识
-- comment on column vi_actual_fund_plan.payment_number not supported: 投放编号
-- comment on column vi_actual_fund_plan.settle_method not supported: 结算方式
-- comment on column vi_actual_fund_plan.fact_money not supported: 收支金额
-- comment on column vi_actual_fund_plan.fact_date not supported: 收支日期
-- comment on column vi_actual_fund_plan.username not supported: 用户姓名
-- comment on column vi_actual_fund_plan.orgname not supported: 机构名称
-- comment on column vi_actual_fund_plan.channel_name not supported: 机构名称
-- comment on column vi_actual_fund_plan.bank not supported: 银行名称
-- comment on column vi_actual_fund_plan.ACCOUNT not supported: 帐户名称
-- comment on column vi_actual_fund_plan.FACT_OBJECT not supported: 收支对象
-- comment on column vi_actual_fund_plan.ACC_NUMBER not supported: 银行帐号
-- comment on column vi_actual_fund_plan.CLIENT_BANK not supported: 开户银行
-- comment on column vi_actual_fund_plan.CLIENT_ACCOUNT not supported: 账户名称
-- comment on column vi_actual_fund_plan.CLIENT_ACCNUMBER not supported: 银行帐号
-- comment on column vi_actual_fund_plan.project_id not supported: 项目编号

View File

@ -0,0 +1,9 @@
create view vi_autodistribute as SELECT O.ID AS ID, VO.OVER_DAYS AS OVER_DAYS, O.PROJECT_MANAGE AS PROJECT_MANAGE
FROM ((((APZL.LB_CONTRACT_INFO O LEFT JOIN APZL.LB_UNION_LESSEE LUL ON ((LUL.CONTRACT_ID = O.ID))) LEFT JOIN APZL.OVERDUE_DUNNING_INFO ODI ON ((ODI.CONTRACT_ID = O.ID))) LEFT JOIN APZL.USER_INFO UI ON ((UI.USERID = ODI.PART_DEPT)))
LEFT JOIN APZL.VI_OVERDUE_RENT_PLAN_SUM VO ON ((VO.CONTRACT_ID = O.ID)))
WHERE ((LUL.IS_MAIN = 'Y') AND (O.CONTRACT_STATUS = '31') AND (O.BUSINESSTYPE = '1') AND (VO.OVER_MONEY > 0));
-- comment on column vi_autodistribute.id not supported: 编号
-- comment on column vi_autodistribute.PROJECT_MANAGE not supported: 项目经理

View File

@ -0,0 +1,280 @@
create view vi_business_affinfo as SELECT O.DISTRIBUTOR_ID AS DISTRIBUTOR_ID,
O.ID AS ID,
O.CONTRACT_NO AS CONTRACT_NO,
O.CONTRACT_NUMBER AS CONTRACT_NUMBER,
O.CONTRACT_STATUS AS CONTRACT_STATUS,
O.PRODUCT_NAME AS PRODUCT_NAME,
O.PRODUCT_ID AS PRODUCT_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_DATE AS PROJECT_DATE,
O.PROJECT_NAME AS PROJECT_NAME,
O.PROJECT_TYPE AS PROJECT_TYPE,
O.RENT_METHOD AS RENT_METHOD,
O.PROJECT_SOURCE AS PROJECT_SOURCE,
O.PROJECT_INDUSTRY AS PROJECT_INDUSTRY,
O.LEAS_FORM AS LEAS_FORM,
O.LEASE_FORM AS LEASE_FORM,
O.PROJECT_DEPT AS PROJECT_DEPT,
O.PROJECT_REGISTRAR AS PROJECT_REGISTRAR,
O.PROJECT_MANAGE AS PROJECT_MANAGE,
O.PROJECT_ASSIST AS PROJECT_ASSIST,
O.END_DATE AS END_DATE,
O.START_DATE AS START_DATE,
O.ACTUAL_START_DATE AS ACTUAL_START_DATE,
O.ACTUAL_END_DATE AS ACTUAL_END_DATE,
O.ACCOUNTING_START_DATE AS ACCOUNTING_START_DATE,
O.FIVE_CATALOG AS FIVE_CATALOG,
O.FIVE_CATALOG_DATE AS FIVE_CATALOG_DATE,
O.FIVE_CATALOG_MEMO AS FIVE_CATALOG_MEMO,
O.SIGN_PLACE AS SIGN_PLACE,
O.SIGN_DATE AS SIGN_DATE,
O.SIGN_PEOPLE AS SIGN_PEOPLE,
O.OTHER_CONDITION AS OTHER_CONDITION,
O.FLOWUNID AS FLOWUNID,
O.INPUTUSERID AS INPUTUSERID,
O.INPUTORGID AS INPUTORGID,
O.INPUTTIME AS INPUTTIME,
O.UPDATEUSERID AS UPDATEUSERID,
O.UPDATEORGID AS UPDATEORGID,
O.UPDATETIME AS UPDATETIME,
O.DATA_STATE AS DATA_STATE,
O.MODIFY_REASON AS MODIFY_REASON,
O.ISFILEARCHIVED AS ISFILEARCHIVED,
O.IS_PRINT AS IS_PRINT,
O.ASSET_TYPE AS ASSET_TYPE,
O.RENT_INVOICE_TYPE AS RENT_INVOICE_TYPE,
O.INVOICE_MEMO AS INVOICE_MEMO,
O.CONTRACT_INVOICE_STATUS AS CONTRACT_INVOICE_STATUS,
O.SEAL_TYPE AS SEAL_TYPE,
O.MORTGAGE_AGENT AS MORTGAGE_AGENT,
O.VERSIONID AS VERSIONID,
O.BUSINESSTYPE AS BUSINESSTYPE,
O.AREA_CODE AS AREA_CODE,
O.CAR_TYPE AS CAR_TYPE,
O.LENDING_TYPE AS LENDING_TYPE,
O.INPUTNAME AS INPUTNAME,
O.INPUTTEL AS INPUTTEL,
O.HAVECOMMISSION AS HAVECOMMISSION,
O.IS_NETCAR AS IS_NETCAR,
O.IS_OPERATION AS IS_OPERATION,
O.IS_AFFILIATED AS IS_AFFILIATED,
O.IS_OPERATION_QUALIFICATION AS IS_OPERATION_QUALIFICATION,
O.TRANSPORTCERTID AS TRANSPORTCERTID,
O.AFFILIATEDNAME AS AFFILIATEDNAME,
O.NETCERTNAME AS NETCERTNAME,
O.LEGALPERSONNAME AS LEGALPERSONNAME,
O.AFFILIATEDDATE AS AFFILIATEDDATE,
O.AFFILIATEDENDDATE AS AFFILIATEDENDDATE,
O.REGISTEREDMONEY AS REGISTEREDMONEY,
O.AFFILIATEDACTUALADDRESS AS AFFILIATEDACTUALADDRESS,
O.AFFILIATEDADDRESS AS AFFILIATEDADDRESS,
O.TRANSPORTDATE AS TRANSPORTDATE,
O.NETCERTID AS NETCERTID,
O.LEGALPERSONID AS LEGALPERSONID,
O.ASSETTRANSFERER AS ASSETTRANSFERER,
O.TRANSFERDATE AS TRANSFERDATE,
O.TURNOUTREMARKS AS TURNOUTREMARKS,
O.HAS_GPS AS HAS_GPS,
LPI.PROJECT_DEPT_DETAIL AS PROJECT_DEPT_DETAIL,
CL.ITEMNAME AS ITEMNAME,
LUL.CUSTOMER_NAME AS CUSTOMER_NAME,
LEC.FRAME_NUMBER AS FRAME_NUMBER,
LPI.PROJECT_NO AS PROJECT_NO,
CP.MOBILE AS MOBILE,
CF.NAME AS NAME,
LEC.VNDR_NAME AS VNDR_NAME,
LFI.APPLYPAY_DATE AS APPLYPAY_DATE,
(CASE WHEN (O.CONTRACT_STATUS = '21') THEN (LCC.START_DATE = NULL) ELSE LCC.START_DATE END) AS START_DATE_NEW,
CLL.ITEMNAME AS CONTRACT_STAT
FROM ((((((((((APZL.LB_CONTRACT_INFO O LEFT JOIN APZL.LB_PROJECT_INFO LPI ON ((convert(O.PROJECT_ID USING UTF8) = LPI.ID))) LEFT JOIN APZL.LB_UNION_LESSEE LUL ON ((O.PROJECT_ID = LUL.PROJECT_ID))) LEFT JOIN APZL.CUSTOMER_PERSON CP ON ((CP.CUSTOMERID = LUL.CUSTOMER_ID))) LEFT JOIN APZL.CUSTOMER_FAMILY CF ON (((O.PROJECT_ID = CF.PROJECT_ID) AND (CF.PARTNER_ = 'Y')))) LEFT JOIN APZL.LB_EQUIPMENT_CAR LEC ON ((convert(O.PROJECT_ID USING UTF8) = LEC.PROJECT_ID))) LEFT JOIN (
SELECT APZL.LC_FUND_INCOME.CONTRACT_ID AS CONTRACT_ID,
min(APZL.LC_FUND_INCOME.PROJECT_ID) AS PROJECT_ID,
max(APZL.LC_FUND_INCOME.APPLYPAY_DATE) AS APPLYPAY_DATE,
APZL.LC_FUND_INCOME.FACT_DATE AS FACT_DATE
FROM APZL.LC_FUND_INCOME
WHERE ((APZL.LC_FUND_INCOME.FEE_TYPE = 'feetype10') AND (APZL.LC_FUND_INCOME.SETTLE_METHOD = 'settlemethod11'))
GROUP BY APZL.LC_FUND_INCOME.CONTRACT_ID
) LFI ON ((O.PROJECT_ID = LFI.PROJECT_ID))) LEFT JOIN APZL.LC_CALC_CONDITION LCC ON ((O.ID = LCC.CONTRACT_ID))) LEFT JOIN APZL.PRD_SPECIFIC_LIBRARY PSL ON ((LPI.PRODUCT_ID = PSL.PRODUCTID))) LEFT JOIN APZL.CODE_LIBRARY CL ON (((convert(CL.ITEMNO USING UTF8) = PSL.OPERATIONTYPE) AND (CL.CODENO = 'operationType'))))
LEFT JOIN (
SELECT BS.CONTRACT_NUMBER AS CONTRACT_NUMBER, BS.INPUTTIME AS INPUTTIME, CL.ITEMNAME AS ITEMNAME
FROM (APZL.BUSINESS_STATUS BS
LEFT JOIN APZL.CODE_LIBRARY CL ON (((CL.ITEMNO = BS.BUSINESS_STATUS) AND (CL.CODENO = 'BusinessStatus'))))
WHERE ((length(BS.CONTRACT_NUMBER) > 13) AND BS.INPUTTIME IN (
SELECT max(B.INPUTTIME)
FROM APZL.BUSINESS_STATUS B
WHERE ((B.CONTRACT_NUMBER IS NOT NULL) AND (B.CONTRACT_NUMBER <> '') AND (length(B.CONTRACT_NUMBER) > 13) AND
(B.CONTRACT_NUMBER = BS.CONTRACT_NUMBER))
GROUP BY B.CONTRACT_NUMBER
))
GROUP BY BS.CONTRACT_NUMBER
) CLL ON ((CLL.CONTRACT_NUMBER = O.CONTRACT_NO)))
WHERE (O.BUSINESSTYPE = 1);
-- comment on column vi_business_affinfo.distributor_id not supported: 经销商IDid
-- comment on column vi_business_affinfo.ID not supported: 编号
-- comment on column vi_business_affinfo.CONTRACT_NO not supported: 合同号
-- comment on column vi_business_affinfo.CONTRACT_NUMBER not supported: 业务合同号
-- comment on column vi_business_affinfo.CONTRACT_STATUS not supported: 合同状态
-- comment on column vi_business_affinfo.PRODUCT_NAME not supported: 产品名称
-- comment on column vi_business_affinfo.PRODUCT_ID not supported: 产品ID
-- comment on column vi_business_affinfo.PROJECT_ID not supported: 项目编号
-- comment on column vi_business_affinfo.PROJECT_DATE not supported: 项目日期
-- comment on column vi_business_affinfo.PROJECT_NAME not supported: 项目名称
-- comment on column vi_business_affinfo.PROJECT_TYPE not supported: 项目类型
-- comment on column vi_business_affinfo.RENT_METHOD not supported: 起租方式
-- comment on column vi_business_affinfo.PROJECT_SOURCE not supported: 项目来源
-- comment on column vi_business_affinfo.PROJECT_INDUSTRY not supported: 内部行业
-- comment on column vi_business_affinfo.LEAS_FORM not supported: 业务形式
-- comment on column vi_business_affinfo.LEASE_FORM not supported: 租赁形式
-- comment on column vi_business_affinfo.PROJECT_DEPT not supported: 出单部门
-- comment on column vi_business_affinfo.PROJECT_REGISTRAR not supported: 经办人
-- comment on column vi_business_affinfo.PROJECT_MANAGE not supported: 项目经理
-- comment on column vi_business_affinfo.PROJECT_ASSIST not supported: 项目协办
-- comment on column vi_business_affinfo.END_DATE not supported: 预计结束日期
-- comment on column vi_business_affinfo.START_DATE not supported: 起租日
-- comment on column vi_business_affinfo.ACTUAL_START_DATE not supported: 实际起租日
-- comment on column vi_business_affinfo.ACTUAL_END_DATE not supported: 实际结束日
-- comment on column vi_business_affinfo.ACCOUNTING_START_DATE not supported: 财务起租日
-- comment on column vi_business_affinfo.FIVE_CATALOG not supported: 五级分类
-- comment on column vi_business_affinfo.FIVE_CATALOG_DATE not supported: 五级分类日期
-- comment on column vi_business_affinfo.FIVE_CATALOG_MEMO not supported: 五级分类说明
-- comment on column vi_business_affinfo.SIGN_PLACE not supported: 签约地点
-- comment on column vi_business_affinfo.SIGN_DATE not supported: 签约日期
-- comment on column vi_business_affinfo.SIGN_PEOPLE not supported: 签约人
-- comment on column vi_business_affinfo.OTHER_CONDITION not supported: 其他商务条件
-- comment on column vi_business_affinfo.FLOWUNID not supported: 流程标识
-- comment on column vi_business_affinfo.INPUTUSERID not supported: 登记人
-- comment on column vi_business_affinfo.INPUTORGID not supported: 登记部门
-- comment on column vi_business_affinfo.INPUTTIME not supported: 登记时间
-- comment on column vi_business_affinfo.UPDATEUSERID not supported: 更新人
-- comment on column vi_business_affinfo.UPDATEORGID not supported: 更新部门
-- comment on column vi_business_affinfo.UPDATETIME not supported: 更新日期
-- comment on column vi_business_affinfo.DATA_STATE not supported: 数据状态
-- comment on column vi_business_affinfo.MODIFY_REASON not supported: 修改原因
-- comment on column vi_business_affinfo.ISFILEARCHIVED not supported: 是否归档
-- comment on column vi_business_affinfo.IS_PRINT not supported: 导出状态(打印快递单)
-- comment on column vi_business_affinfo.ASSET_TYPE not supported: 资产类型
-- comment on column vi_business_affinfo.RENT_INVOICE_TYPE not supported: 租金开票类型
-- comment on column vi_business_affinfo.INVOICE_MEMO not supported: 开票说明
-- comment on column vi_business_affinfo.CONTRACT_INVOICE_STATUS not supported: 合同开票状态
-- comment on column vi_business_affinfo.seal_type not supported: 印章类型
-- comment on column vi_business_affinfo.mortgage_agent not supported: 抵押代理人
-- comment on column vi_business_affinfo.VERSIONID not supported: 版本号
-- comment on column vi_business_affinfo.BUSINESSTYPE not supported: 业务类型
-- comment on column vi_business_affinfo.AREA_CODE not supported: 车牌号对应所在区号
-- comment on column vi_business_affinfo.CAR_TYPE not supported: 车辆类型
-- comment on column vi_business_affinfo.LENDING_TYPE not supported: 保单放款方法
-- comment on column vi_business_affinfo.inputName not supported: 报单人姓名
-- comment on column vi_business_affinfo.inputTel not supported: 报单人电话
-- comment on column vi_business_affinfo.IS_NETCAR not supported: 是否网约车
-- comment on column vi_business_affinfo.IS_OPERATION not supported: 车辆是否为营运性质
-- comment on column vi_business_affinfo.IS_AFFILIATED not supported: 是否挂靠/上牌在第三方名下
-- comment on column vi_business_affinfo.IS_OPERATION_QUALIFICATION not supported: 承租人/挂靠方是否已取得车辆营运资质
-- comment on column vi_business_affinfo.TRANSPORTCERTID not supported: 道路运输许可证照号码
-- comment on column vi_business_affinfo.AFFILIATEDNAME not supported: 挂靠方名称
-- comment on column vi_business_affinfo.NETCERTNAME not supported: 证照名称
-- comment on column vi_business_affinfo.LEGALPERSONNAME not supported: 法定代表人/经营者名称
-- comment on column vi_business_affinfo.AFFILIATEDDATE not supported: 挂靠方注册成立时间
-- comment on column vi_business_affinfo.AFFILIATEDENDDATE not supported: 经营期限至
-- comment on column vi_business_affinfo.REGISTEREDMONEY not supported: 注册资本
-- comment on column vi_business_affinfo.AFFILIATEDACTUALADDRESS not supported: 挂靠方实际经营地址
-- comment on column vi_business_affinfo.AFFILIATEDADDRESS not supported: 挂靠方注册地址
-- comment on column vi_business_affinfo.TRANSPORTDATE not supported: 道路运输许可证照有效期
-- comment on column vi_business_affinfo.NETCERTID not supported: 证照号码
-- comment on column vi_business_affinfo.LEGALPERSONID not supported: 法定代表人/经营者身份证号
-- comment on column vi_business_affinfo.ASSETTRANSFERER not supported: 资产转出方
-- comment on column vi_business_affinfo.TRANSFERDATE not supported: 转出日期
-- comment on column vi_business_affinfo.TURNOUTREMARKS not supported: 转出备注
-- comment on column vi_business_affinfo.has_gps not supported: 是否已安装GPS
-- comment on column vi_business_affinfo.PROJECT_DEPT_DETAIL not supported: 部门层级名称
-- comment on column vi_business_affinfo.CUSTOMER_NAME not supported: 承租人名称
-- comment on column vi_business_affinfo.FRAME_NUMBER not supported: 车架号
-- comment on column vi_business_affinfo.PROJECT_NO not supported: 项目编号
-- comment on column vi_business_affinfo.mobile not supported: 手机号
-- comment on column vi_business_affinfo.NAME not supported: 姓名
-- comment on column vi_business_affinfo.VNDR_NAME not supported: 供应商
-- comment on column vi_business_affinfo.APPLYPAY_DATE not supported: 申请支付日期

View File

@ -0,0 +1,92 @@
create view vi_business_approval as SELECT LUNT.FLOWUNID AS FLOWUNID,
ifnull(CPT.FULLNAME, CPT1.ENTERPRISENAME) AS FULLNAME,
CPT.SEX AS SEX,
ifnull(CPT.CERTTYPE, CPT1.CERTTYPE) AS CERTTYPE,
ifnull(CPT.CERTID, CPT1.CERTID) AS CERTID,
ifnull(CPT.WORKCORP, CPT1.COMPANY_NAME) AS WORKCORP,
ifnull(CPT.WORKADD, CPT1.REG_ADDRESS) AS WORKADD,
ifnull(CPT.ENTRYTIME, CPT1.ESTABLISH_DATE) AS ENTRYTIME,
CPT.FORMALEMP AS FORMALEMP,
LPIT.PRODUCT_NAME AS PRODUCTNAME,
LPIT.PROJECT_NO AS PROJECT_NO,
LPIT.CAR_TYPE AS CAR_TYPE,
LPIT.LEAS_FORM AS LEAS_FORM,
LCCT.CLEAN_LEASE_MONEY AS CLEANLEASEMONEY,
LCCT.LEASE_TERM AS LEASETERM,
LCCT.INCOME_NUMBER_YEAR AS INCOMENUMBERYEAR,
FO1.PHASECHOICE AS FIRSTCHOICE,
FO1.PHASEOPINION AS FIRSTOPINION,
FO1.INTEROPINION1 AS INTEROPINION1,
FO1.DISTRIOPINION1 AS DISTRIOPINION1,
FO2.PHASECHOICE AS SECONDCHOICE,
FO2.PHASEOPINION AS SECONDOPINION,
FO2.INTEROPINION2 AS INTEROPINION2,
FO2.DISTRIOPINION2 AS DISTRIOPINION2,
FO3.PHASECHOICE AS THIRDCHOICE,
FO3.PHASEOPINION AS THIRDOPINION,
FO3.INTEROPINION3 AS INTEROPINION3,
FO3.DISTRIOPINION3 AS DISTRIOPINION3,
FO4.PHASECHOICE AS FOURCHOICE,
FO4.PHASEOPINION AS FOUROPINION,
FO4.INTEROPINION4 AS INTEROPINION4,
FO4.DISTRIOPINION4 AS DISTRIOPINION4
FROM ((((((((((((APZL.LB_PROJECT_INFO_TEMP LPIT LEFT JOIN APZL.LB_UNION_LESSEE_TEMP LUNT ON ((LPIT.FLOWUNID = convert(LUNT.FLOWUNID USING UTF8)))) LEFT JOIN APZL.CUSTOMER_PERSON_TEMP CPT ON (((CPT.CUSTOMERID = LUNT.CUSTOMER_ID) AND (LUNT.FLOWUNID = CPT.FLOWUNID)))) LEFT JOIN APZL.CUSTOMER_COMPANY_TEMP CPT1 ON (((CPT1.CUSTOMERID = LUNT.CUSTOMER_ID) AND (LUNT.FLOWUNID = CPT1.FLOWUNID)))) LEFT JOIN APZL.LC_CALC_CONDITION_TEMP LCCT ON ((convert(LCCT.FLOWUNID USING UTF8) = LPIT.FLOWUNID))) LEFT JOIN APZL.FLOW_TASK FT1 ON ((
(convert(FT1.OBJECTNO USING UTF8) = LPIT.FLOWUNID) AND (FT1.PHASENO = '0030') AND
(FT1.RELATIVEOBJECTNO IS NOT NULL)))) LEFT JOIN APZL.FLOW_OPINION FO1 ON ((FT1.RELATIVEOBJECTNO = FO1.SERIALNO))) LEFT JOIN APZL.FLOW_TASK FT2 ON ((
(convert(FT2.OBJECTNO USING UTF8) = LPIT.FLOWUNID) AND (FT2.PHASENO = '0040') AND
(FT2.RELATIVEOBJECTNO IS NOT NULL)))) LEFT JOIN APZL.FLOW_OPINION FO2 ON ((FT2.RELATIVEOBJECTNO = FO2.SERIALNO))) LEFT JOIN APZL.FLOW_TASK FT3 ON ((
(convert(FT3.OBJECTNO USING UTF8) = LPIT.FLOWUNID) AND (FT3.PHASENO = '0050') AND
(FT3.RELATIVEOBJECTNO IS NOT NULL)))) LEFT JOIN APZL.FLOW_OPINION FO3 ON ((FT3.RELATIVEOBJECTNO = FO3.SERIALNO))) LEFT JOIN APZL.FLOW_TASK FT4 ON ((
(convert(FT4.OBJECTNO USING UTF8) = LPIT.FLOWUNID) AND (FT4.PHASENO = '0020') AND (FT4.RELATIVEOBJECTNO IS NOT NULL))))
LEFT JOIN APZL.FLOW_OPINION FO4 ON ((FT4.RELATIVEOBJECTNO = FO4.SERIALNO)));
-- comment on column vi_business_approval.FLOWUNID not supported: 流程编号
-- comment on column vi_business_approval.SEX not supported: 性别
-- comment on column vi_business_approval.FORMALEMP not supported: 正式员工
-- comment on column vi_business_approval.PRODUCTNAME not supported: 产品名称
-- comment on column vi_business_approval.PROJECT_NO not supported: 项目编号
-- comment on column vi_business_approval.LEAS_FORM not supported: 租赁形式
-- comment on column vi_business_approval.CLEANLEASEMONEY not supported: 融资额
-- comment on column vi_business_approval.LEASETERM not supported: 租赁期限
-- comment on column vi_business_approval.INCOMENUMBERYEAR not supported: 还款间隔
-- comment on column vi_business_approval.firstchoice not supported: 阶段意见
-- comment on column vi_business_approval.firstopinion not supported: 意见详情
-- comment on column vi_business_approval.InterOpinion1 not supported: 内部意见1
-- comment on column vi_business_approval.DistriOpinion1 not supported: 经销商意见1
-- comment on column vi_business_approval.secondchoice not supported: 阶段意见
-- comment on column vi_business_approval.secondopinion not supported: 意见详情
-- comment on column vi_business_approval.InterOpinion2 not supported: 内部意见2
-- comment on column vi_business_approval.DistriOpinion2 not supported: 经销商意见2
-- comment on column vi_business_approval.thirdchoice not supported: 阶段意见
-- comment on column vi_business_approval.thirdopinion not supported: 意见详情
-- comment on column vi_business_approval.InterOpinion3 not supported: 内部意见3
-- comment on column vi_business_approval.DistriOpinion3 not supported: 经销商意见3
-- comment on column vi_business_approval.fourchoice not supported: 阶段意见
-- comment on column vi_business_approval.fouropinion not supported: 意见详情
-- comment on column vi_business_approval.InterOpinion4 not supported: 内部意见4
-- comment on column vi_business_approval.DistriOpinion4 not supported: 经销商意见4

View File

@ -0,0 +1,50 @@
create view vi_business_query as SELECT FT.RELATIVESERIALNO AS RELATIVESERIALNO,
FT.SERIALNO AS SERIALNO,
FB.CONTRACT_ID AS CONTRACT_ID,
FB.PROJ_ID AS PROJ_ID,
FB.FLOW_UNID AS FLOW_UNID,
O.PHASENO AS PHASENO,
O.FLOWNAME AS FLOWNAME,
O.APPLYTYPE AS APPLYTYPE,
O.PHASETYPE AS PHASETYPE,
O.OBJECTNO AS OBJECTNO,
O.OBJECTTYPE AS OBJECTTYPE,
FT.USERID AS USERID,
O.FLOWNO AS FLOWNO,
FB.FLOW_KEY AS FLOW_KEY,
LUL.CUSTOMER_NAME AS CUSTOMER_NAME,
DI.DISTRIBUTOR_NAME AS DISTRIBUTOR_NAME,
(CASE O.PHASENAME WHEN '结束' THEN '审批通过' WHEN '通过' THEN '审批通过' WHEN '否决' THEN '审批不通过' WHEN '经销商发起' THEN '退回经销商' ELSE '审批中' END) AS PHASENAME,
FT.USERNAME AS USERNAME,
max(FT.BEGINTIME) AS BEGINTIME,
FT.ENDTIME AS ENDTIME
FROM (((((APZL.FLOW_OBJECT O LEFT JOIN APZL.FLOW_BUSSINESS_OBJECT FB ON ((O.OBJECTNO = FB.FLOW_UNID))) LEFT JOIN APZL.FLOW_TASK FT ON (((FT.OBJECTNO = O.OBJECTNO) AND (FT.PHASENO = O.PHASENO)))) LEFT JOIN APZL.LB_PROJECT_INFO_TEMP LPI ON ((LPI.ID = convert(FB.PROJ_ID USING UTF8)))) LEFT JOIN APZL.DISTRIBUTOR_INFO DI ON ((DI.DISTRIBUTOR_NO = LPI.DISTRIBUTOR_ID)))
LEFT JOIN APZL.LB_UNION_LESSEE_TEMP LUL ON ((convert(LUL.PROJECT_ID USING UTF8) = LPI.ID)))
WHERE ((LPI.BUSINESSTYPE = '1') AND (O.FLOWNO = 'BusinessApplyFlow') AND (FT.RELATIVESERIALNO IS NOT NULL))
GROUP BY FB.FLOW_UNID
UNION ALL
SELECT FT.RELATIVESERIALNO AS RELATIVESERIALNO,
FT.SERIALNO AS SERIALNO,
FB.CONTRACT_ID AS CONTRACT_ID,
FB.PROJ_ID AS PROJ_ID,
FB.FLOW_UNID AS FLOW_UNID,
O.PHASENO AS PHASENO,
O.FLOWNAME AS FLOWNAME,
O.APPLYTYPE AS APPLYTYPE,
O.PHASETYPE AS PHASETYPE,
O.OBJECTNO AS OBJECTNO,
O.OBJECTTYPE AS OBJECTTYPE,
FT.USERID AS USERID,
O.FLOWNO AS FLOWNO,
FB.FLOW_KEY AS FLOW_KEY,
LUL.CUSTOMER_NAME AS CUSTOMER_NAME,
DI.DISTRIBUTOR_NAME AS DISTRIBUTOR_NAME,
(CASE O.PHASENAME WHEN '结束' THEN '审批通过后撤销' ELSE NULL END) AS PHASENAME,
FT.USERNAME AS USERNAME,
max(FT.BEGINTIME) AS BEGINTIME,
FT.ENDTIME AS ENDTIME
FROM (((((APZL.FLOW_OBJECT O LEFT JOIN APZL.FLOW_BUSSINESS_OBJECT FB ON ((O.OBJECTNO = FB.FLOW_UNID))) LEFT JOIN APZL.FLOW_TASK FT ON (((FT.OBJECTNO = O.OBJECTNO) AND (FT.PHASENO = O.PHASENO)))) LEFT JOIN APZL.LB_PROJECT_INFO_TEMP LPI ON ((LPI.ID = convert(FB.PROJ_ID USING UTF8)))) LEFT JOIN APZL.DISTRIBUTOR_INFO DI ON ((DI.DISTRIBUTOR_NO = LPI.DISTRIBUTOR_ID)))
LEFT JOIN APZL.LB_UNION_LESSEE_TEMP LUL ON ((convert(LUL.PROJECT_ID USING UTF8) = LPI.ID)))
WHERE ((LPI.BUSINESSTYPE = '1') AND (O.FLOWNO = 'BusinessCancelFlow') AND (FT.RELATIVESERIALNO IS NOT NULL) AND (O.PHASENAME = '结束'))
GROUP BY FB.FLOW_UNID;

View File

@ -0,0 +1,105 @@
create view vi_business_summary as SELECT O.ID AS ID,
T.ITEMNAME AS CONTRACT_STATUS,
LPI.PROJECT_NO AS PROJECT_NO,
O.CONTRACT_NO AS CONTRACT_NO,
O.CONTRACT_NUMBER AS CONTRACT_NUMBER,
LUL.CUSTOMER_NAME AS CUSTOMER_NAME,
LEC.FRAME_NUMBER AS FRAME_NUMBER,
CP.MOBILE AS MOBILE,
CF.NAME AS NAME,
LEC.VNDR_NAME AS VNDR_NAME,
LFI.APPLYPAY_DATE AS APPLYPAY_DATE,
(CASE WHEN (O.CONTRACT_STATUS = '21') THEN (LCC.START_DATE = NULL) ELSE LCC.START_DATE END) AS START_DATE,
X.OBJECTTYPE AS OBJECTTYPE,
X.OBJECTNO AS OBJECTNO,
X.PHASETYPE AS PHASETYPE,
X.APPLYTYPE AS APPLYTYPE,
X.FLOWNO AS FLOWNO,
X.FLOWNAME AS FLOWNAME,
X.PHASENO AS PHASENO,
BO.INPUTTIME AS INPUTTIME
FROM ((((((((((APZL.LB_CONTRACT_INFO O LEFT JOIN APZL.LB_PROJECT_INFO LPI ON ((convert(O.PROJECT_ID USING UTF8) = LPI.ID))) LEFT JOIN (
SELECT max(BO.INPUTTIME) AS INPUTTIME, BO.CONTRACT_ID AS CONTRACT_ID
FROM APZL.FLOW_BUSSINESS_OBJECT BO
WHERE (BO.FLOW_NAME = '付款申请(汽车)')
GROUP BY BO.CONTRACT_ID
) BO ON ((BO.CONTRACT_ID = O.ID))) LEFT JOIN APZL.LB_UNION_LESSEE LUL ON ((convert(O.PROJECT_ID USING UTF8) = convert(LUL.PROJECT_ID USING UTF8)))) LEFT JOIN APZL.CUSTOMER_PERSON CP ON ((CP.CUSTOMERID = LUL.CUSTOMER_ID))) LEFT JOIN APZL.CUSTOMER_FAMILY CF ON ((
(convert(O.PROJECT_ID USING UTF8) = convert(CF.PROJECT_ID USING UTF8)) AND
(CF.PARTNER_ = 'Y')))) LEFT JOIN APZL.LB_EQUIPMENT_CAR LEC ON ((convert(O.PROJECT_ID USING UTF8) = LEC.PROJECT_ID))) LEFT JOIN (
SELECT APZL.LC_FUND_INCOME.CONTRACT_ID AS CONTRACT_ID,
min(APZL.LC_FUND_INCOME.PROJECT_ID) AS PROJECT_ID,
max(APZL.LC_FUND_INCOME.APPLYPAY_DATE) AS APPLYPAY_DATE,
APZL.LC_FUND_INCOME.FACT_DATE AS FACT_DATE
FROM APZL.LC_FUND_INCOME
WHERE ((APZL.LC_FUND_INCOME.FEE_TYPE = 'feetype10') AND (APZL.LC_FUND_INCOME.SETTLE_METHOD = 'settlemethod11'))
GROUP BY APZL.LC_FUND_INCOME.CONTRACT_ID
) LFI ON ((convert(O.PROJECT_ID USING UTF8) = convert(LFI.PROJECT_ID USING UTF8)))) LEFT JOIN APZL.LC_CALC_CONDITION LCC ON ((convert(O.ID USING UTF8) = convert(LCC.CONTRACT_ID USING UTF8)))) LEFT JOIN (
SELECT FB.PROJ_ID AS PROJ_ID,
FO.OBJECTTYPE AS OBJECTTYPE,
FO.OBJECTNO AS OBJECTNO,
FO.PHASETYPE AS PHASETYPE,
FO.APPLYTYPE AS APPLYTYPE,
FO.FLOWNO AS FLOWNO,
FO.FLOWNAME AS FLOWNAME,
FO.PHASENO AS PHASENO,
FB.INPUTTIME AS INPUTTIME
FROM (APZL.FLOW_OBJECT FO
LEFT JOIN APZL.FLOW_BUSSINESS_OBJECT FB ON ((FO.OBJECTNO = FB.FLOW_UNID)))
WHERE FO.OBJECTNO IN (
SELECT max(F.OBJECTNO)
FROM (APZL.FLOW_OBJECT F
LEFT JOIN APZL.FLOW_BUSSINESS_OBJECT B ON ((F.OBJECTNO = B.FLOW_UNID)))
GROUP BY B.PROJ_ID
)
) X ON ((convert(X.PROJ_ID USING UTF8) = LPI.ID)))
LEFT JOIN (
SELECT BS.CONTRACT_NUMBER AS CONTRACT_NUMBER, BS.INPUTTIME AS INPUTTIME, CL.ITEMNAME AS ITEMNAME
FROM (APZL.BUSINESS_STATUS BS
LEFT JOIN APZL.CODE_LIBRARY CL ON (((CL.ITEMNO = BS.BUSINESS_STATUS) AND (CL.CODENO = 'BusinessStatus'))))
WHERE ((length(BS.CONTRACT_NUMBER) > 13) AND BS.INPUTTIME IN (
SELECT max(B.INPUTTIME)
FROM APZL.BUSINESS_STATUS B
WHERE ((B.CONTRACT_NUMBER IS NOT NULL) AND (B.CONTRACT_NUMBER <> '') AND (length(B.CONTRACT_NUMBER) > 13))
GROUP BY B.CONTRACT_NUMBER
))
GROUP BY BS.CONTRACT_NUMBER
) T ON ((convert(T.CONTRACT_NUMBER USING UTF8) = convert(O.CONTRACT_NUMBER USING UTF8))))
WHERE (O.BUSINESSTYPE = 1)
ORDER BY T.INPUTTIME DESC;
-- comment on column vi_business_summary.ID not supported: 编号
-- comment on column vi_business_summary.PROJECT_NO not supported: 项目编号
-- comment on column vi_business_summary.CONTRACT_NO not supported: 合同号
-- comment on column vi_business_summary.CONTRACT_NUMBER not supported: 业务合同号
-- comment on column vi_business_summary.CUSTOMER_NAME not supported: 承租人名称
-- comment on column vi_business_summary.FRAME_NUMBER not supported: 车架号
-- comment on column vi_business_summary.mobile not supported: 手机号
-- comment on column vi_business_summary.NAME not supported: 姓名
-- comment on column vi_business_summary.VNDR_NAME not supported: 供应商
-- comment on column vi_business_summary.APPLYPAY_DATE not supported: 申请支付日期
-- comment on column vi_business_summary.OBJECTTYPE not supported: 对象类型
-- comment on column vi_business_summary.OBJECTNO not supported: 对象编号
-- comment on column vi_business_summary.PHASETYPE not supported: 阶段类型
-- comment on column vi_business_summary.APPLYTYPE not supported: 申请类型
-- comment on column vi_business_summary.FLOWNO not supported: 当前流程号
-- comment on column vi_business_summary.FLOWNAME not supported: 当前流程名称
-- comment on column vi_business_summary.PHASENO not supported: 当前阶段号
-- comment on column vi_business_summary.inputTime not supported: 创建时间

View File

@ -0,0 +1,28 @@
create view vi_car_data as SELECT APZL.LB_CARDATA_MODEL.ID AS ID,
APZL.LB_CARDATA_MODEL.BRANDID AS BRANDID,
APZL.LB_CARDATA_MODEL.BRANDNAME AS BRANDNAME,
APZL.LB_CARDATA_MODEL.SERIESID AS SERIESID,
APZL.LB_CARDATA_MODEL.SERIESNAME AS SERIESNAME,
APZL.LB_CARDATA_MODEL.MODELID AS MODELID,
APZL.LB_CARDATA_MODEL.MODELNAME AS MODELNAME,
APZL.LB_CARDATA_MODEL.PRICE AS PRICE,
APZL.LB_CARDATA_MODEL.LITER AS LITER,
APZL.LB_CARDATA_MODEL.GEARTYPE AS GEARTYPE,
APZL.LB_CARDATA_MODEL.MODELYEAR AS MODELYEAR,
'乘用车' AS CARTYPE
FROM APZL.LB_CARDATA_MODEL
UNION ALL
SELECT APZL.LB_CARDATA_COMMERCIAL_MODEL.ID AS ID,
APZL.LB_CARDATA_COMMERCIAL_MODEL.BRAND_ID AS BRAND_ID,
APZL.LB_CARDATA_COMMERCIAL_MODEL.BRAND_NAME AS BRAND_NAME,
APZL.LB_CARDATA_COMMERCIAL_MODEL.SERIES_ID AS SERIES_ID,
APZL.LB_CARDATA_COMMERCIAL_MODEL.SERIES_NAME AS SERIES_NAME,
APZL.LB_CARDATA_COMMERCIAL_MODEL.MODEL_ID AS MODEL_ID,
APZL.LB_CARDATA_COMMERCIAL_MODEL.MODEL_NAME AS MODEL_NAME,
APZL.LB_CARDATA_COMMERCIAL_MODEL.PRICE AS PRICE,
APZL.LB_CARDATA_COMMERCIAL_MODEL.LITER AS LITER,
'' AS MODELYEAR,
'' AS NAME_EXP_18,
'商用车' AS CARTYPE
FROM APZL.LB_CARDATA_COMMERCIAL_MODEL;

View File

@ -0,0 +1,72 @@
create view vi_card_deduct_data as (
SELECT LCDD.SERIALNO AS SERIALNO,
VLRP.ID AS CONTRACT_ID,
LCDD.ID AS CARDDEDUCT_ID,
LCDD.DEDUCT_DOCID AS DEDUCT_DOCID,
VLRP.CONTRACT_NUMBER AS CONTRACT_NUMBER,
LCDD.PAYMENT_NUMBER AS PAYMENT_NUMBER,
VLRP.CUSTOMERNAME AS CUSTOMERNAME,
LLI.LEASE_ACC_BANK AS LEASE_ACC_BANK,
LCDD.OWNACC_NUMBER AS OWNACC_NUMBER,
LCDD.OWN_ACCOUNT AS OWN_ACCOUNT,
LCDD.CLIENT_BANK AS CLIENT_BANK,
LCDD.CLIENT_ACCOUNT AS CLIENT_ACCOUNT,
LCDD.CLIENT_ACC_NUMBER AS CLIENT_ACC_NUMBER,
VLRP.PLAN_DATE AS PLAN_DATE,
LCDD.PLAN_LIST AS PLAN_LIST,
LCDD.FEE_TYPE AS FEE_TYPE,
LCDD.ENDDATE AS ENDDATE,
LCDD.ACTUAL_DEBIT_AMT AS ACTUAL_DEBIT_AMT,
(CASE WHEN (LCDD.FEE_TYPE = '租金') THEN VLRP.RENT_OVER ELSE VLRP.PENALTY_OVER END) AS OVER_MONEY,
LCDD.TRANSTATUS AS TRANSTATUS,
LCDD.RESULTDESC AS RESULTDESC,
LR.CARDDEDUCT_STATUS AS CARDDEDUCT_STATUS
FROM (((APZL.LC_CARD_DEDUCT_DATA LCDD LEFT JOIN APZL.VI_LC_RENT_PLAN VLRP ON (((VLRP.PAYMENT_NUMBER = LCDD.PAYMENT_NUMBER) AND (VLRP.PLAN_LIST = LCDD.PLAN_LIST)))) LEFT JOIN (
SELECT LRI.CARDDEDUCT_ID AS CARDDEDUCT_ID, LRI.CARDDEDUCT_STATUS AS CARDDEDUCT_STATUS
FROM APZL.LC_RENT_INCOME LRI
WHERE (LRI.ROLL_BACK = '0')
UNION
SELECT LRIT.CARDDEDUCT_ID AS CARDDEDUCT_ID, LRIT.CARDDEDUCT_STATUS AS CARDDEDUCT_STATUS
FROM APZL.LC_RENT_INCOME_TEMP LRIT
WHERE ((LRIT.ROLL_BACK = '0') AND (LRIT.IS_FLOWING = '0'))
) LR ON ((LR.CARDDEDUCT_ID = LCDD.ID)))
LEFT JOIN APZL.LB_LESSOR_INFO LLI ON ((LLI.CONTRACT_ID = VLRP.ID))));
-- comment on column vi_card_deduct_data.serialno not supported: 序号
-- comment on column vi_card_deduct_data.contract_id not supported: 标识
-- comment on column vi_card_deduct_data.carddeduct_id not supported: 标识
-- comment on column vi_card_deduct_data.deduct_docid not supported: 卡扣文件编号
-- comment on column vi_card_deduct_data.contract_number not supported: 业务合同号
-- comment on column vi_card_deduct_data.payment_number not supported: 投放编号
-- comment on column vi_card_deduct_data.lease_acc_bank not supported: 开户银行(甲方)
-- comment on column vi_card_deduct_data.ownacc_number not supported: 本方账号
-- comment on column vi_card_deduct_data.own_account not supported: 本方账户
-- comment on column vi_card_deduct_data.client_bank not supported: 对方银行
-- comment on column vi_card_deduct_data.client_account not supported: 对方账户
-- comment on column vi_card_deduct_data.client_acc_number not supported: 对方账号
-- comment on column vi_card_deduct_data.plan_date not supported: 计划日期
-- comment on column vi_card_deduct_data.plan_list not supported: 期次
-- comment on column vi_card_deduct_data.fee_type not supported: 费用类型
-- comment on column vi_card_deduct_data.enddate not supported: 扣款日期
-- comment on column vi_card_deduct_data.actual_debit_amt not supported: 到账金额
-- comment on column vi_card_deduct_data.transtatus not supported: 交易状态
-- comment on column vi_card_deduct_data.resultdesc not supported: 交易结果

View File

@ -0,0 +1,58 @@
create view vi_chargebackvoucherdetail as SELECT LRP.ID AS ID,
LCI.CONTRACT_NO AS CONTRACT_NO,
CIF.CUSTOMER_NUM AS CUSTOMER_NUM,
CIF.CUSTOMERNAME AS CUSTOMERNAME,
LRI.PLAN_LIST AS PLAN_LIST,
LRI.HIRE_DATE AS HIRE_DATE,
LRI.RENT AS RENT,
LRI.CORPUS AS CORPUS,
LRI.INTEREST AS INTEREST,
LRI.PENALTY AS PENALTY,
LRI.OWN_NUMBER AS OWN_NUMBER,
(ifnull(LRI.RENT, 0) + ifnull(LRI.PENALTY, 0)) AS SUMMONEY,
CA.BANK_NAME AS BANK_NAME,
CA.ACCOUNT AS ACCOUNT,
CA.ACC_NUMBER AS ACC_NUMBER,
LRI.ACCOUNTING_DATE AS ACCOUNTING_DATE,
LRI.ID AS INCOME_ID,
LCI.DISTRIBUTOR_ID AS DISTRIBUTORID,
(CASE WHEN (LRP.COLLECT_STATUS = '批量收款') THEN '广州银联' ELSE '其它' END) AS CHANNEL,
VSS.ACHIEVED_DATE AS ACHIEVED_DATE
FROM ((((((APZL.LC_RENT_PLAN LRP LEFT JOIN APZL.LC_RENT_INCOME LRI ON (((LRI.CONTRACT_ID = LRP.CONTRACT_ID) AND (LRI.PLAN_LIST = LRP.PLAN_LIST)))) LEFT JOIN APZL.LB_CONTRACT_INFO LCI ON ((LCI.ID = LRI.CONTRACT_ID))) LEFT JOIN APZL.LB_UNION_LESSEE LUL ON ((LUL.CONTRACT_ID = LCI.ID))) LEFT JOIN APZL.CUSTOMER_INFO CIF ON ((CIF.CUSTOMERID = LUL.CUSTOMER_ID))) LEFT JOIN APZL.CUSTOMER_ACCOUNT CA ON (((CA.CONTRACT_ID = LCI.ID) AND (CA.ACC_TYPE = 'Debit'))))
LEFT JOIN APZL.VERIFICATIONSPARE VSS ON ((VSS.SPARE_BATCH_NO = convert(LRI.SPARE_BATCH_NO USING UTF8))))
WHERE ((LRP.COLLECT_STATUS IN ('手工收款', '批量收款', '网银收款')) AND ((LRI.EBANK_NUMBER = '') OR isnull(LRI.EBANK_NUMBER)));
-- comment on column vi_chargebackvoucherdetail.ID not supported: 标识
-- comment on column vi_chargebackvoucherdetail.CONTRACT_NO not supported: 合同号
-- comment on column vi_chargebackvoucherdetail.CUSTOMER_NUM not supported: 客户编码
-- comment on column vi_chargebackvoucherdetail.CUSTOMERNAME not supported: 客户名称
-- comment on column vi_chargebackvoucherdetail.PLAN_LIST not supported: 租金计划期次
-- comment on column vi_chargebackvoucherdetail.HIRE_DATE not supported: 核销日期
-- comment on column vi_chargebackvoucherdetail.RENT not supported: 回笼租金
-- comment on column vi_chargebackvoucherdetail.CORPUS not supported: 回笼本金
-- comment on column vi_chargebackvoucherdetail.INTEREST not supported: 回笼租息
-- comment on column vi_chargebackvoucherdetail.PENALTY not supported: 回笼罚息
-- comment on column vi_chargebackvoucherdetail.own_number not supported: 本方银行帐号
-- comment on column vi_chargebackvoucherdetail.BANK_NAME not supported: 开户银行
-- comment on column vi_chargebackvoucherdetail.ACCOUNT not supported: 帐户名称
-- comment on column vi_chargebackvoucherdetail.ACC_NUMBER not supported: 银行账号
-- comment on column vi_chargebackvoucherdetail.ACCOUNTING_DATE not supported: 会计处理日
-- comment on column vi_chargebackvoucherdetail.income_ID not supported: 标识
-- comment on column vi_chargebackvoucherdetail.distributorid not supported: 经销商IDid

View File

@ -0,0 +1,37 @@
create view vi_chargebackvouchertotal as SELECT LRP.ID AS ID,
LSC.SUBJECTS_CODE AS SUBJECTS_CODE,
LRI.OWN_NUMBER AS OWN_NUMBER,
LRP.COLLECT_STATUS AS COLLECT_STATUS,
OI.OWN_NAME AS OWN_NAME,
LRI.SPARE_BATCH_NO AS SPARE_BATCH_NO,
LRI.SPARE_BATCH_NO AS SPARE_BATCH_NO_DATA,
(CASE WHEN (LRP.COLLECT_STATUS = '批量收款') THEN '广州银联' ELSE '其它' END) AS CHANNEL,
LRI.HIRE_DATE AS HIRE_DATE,
VSS.ACHIEVED_DATE AS ACHIEVED_DATE,
LRI.OWN_BANK AS OWN_BANK,
(sum(LRI.RENT) + sum(LRI.PENALTY)) AS CHARGEBACK_MONEY_S,
count(LRI.CONTRACT_ID) AS CHARGEBACK_QTY_S,
(CASE WHEN (isnull(VS.CHARGEBACK_STATUS) OR (VS.CHARGEBACK_STATUS = '')) THEN '未核销' ELSE '核销成功' END) AS CHARGEBACK_STATUS
FROM ((((((APZL.LC_RENT_PLAN LRP LEFT JOIN APZL.LC_RENT_INCOME LRI ON (((LRI.CONTRACT_ID = LRP.CONTRACT_ID) AND (LRI.PLAN_LIST = LRP.PLAN_LIST)))) LEFT JOIN APZL.OWN_ACCOUNT OA ON ((LRI.OWN_NUMBER = OA.ACC_NUMBER))) LEFT JOIN APZL.OWN_INFO OI ON ((OA.OWN_ID = OI.OWN_NUMBER))) LEFT JOIN APZL.VERIFICATIONSPARE VS ON ((VS.SPARE_BATCH_NO = convert(LRI.SPARE_BATCH_NO USING UTF8)))) LEFT JOIN APZL.LV_STACTS_CONFIG LSC ON ((LSC.ID = OA.ACC_TITLE)))
LEFT JOIN APZL.VERIFICATIONSPARE VSS ON ((VSS.SPARE_BATCH_NO = convert(LRI.SPARE_BATCH_NO USING UTF8))))
WHERE ((LRP.COLLECT_STATUS IN ('手工收款', '批量收款', '网银收款')) AND ((LRI.EBANK_NUMBER = '') OR isnull(LRI.EBANK_NUMBER)))
GROUP BY LRI.HIRE_DATE, LRI.OWN_NUMBER, LRP.COLLECT_STATUS;
-- comment on column vi_chargebackvouchertotal.id not supported: 标识
-- comment on column vi_chargebackvouchertotal.subjects_code not supported: 科目编号
-- comment on column vi_chargebackvouchertotal.own_number not supported: 本方银行帐号
-- comment on column vi_chargebackvouchertotal.COLLECT_STATUS not supported: 收款状态
-- comment on column vi_chargebackvouchertotal.OWN_NAME not supported: 出租人
-- comment on column vi_chargebackvouchertotal.SPARE_BATCH_NO not supported: 扣款批次号
-- comment on column vi_chargebackvouchertotal.SPARE_BATCH_NO_DATA not supported: 扣款批次号
-- comment on column vi_chargebackvouchertotal.HIRE_DATE not supported: 核销日期
-- comment on column vi_chargebackvouchertotal.OWN_BANK not supported: 本方银行

View File

@ -0,0 +1,7 @@
create view vi_contract_cust as (
SELECT FLOW.FLOW_UNID AS FLOWUNID, (CASE WHEN isnull(LESSEE.ID) THEN LESSEE2.CUSTOMER_ID ELSE LESSEE.CUSTOMER_ID END) AS CUSTOMER_ID
FROM ((APZL.FLOW_BUSSINESS_OBJECT FLOW LEFT JOIN APZL.LB_UNION_LESSEE_TEMP LESSEE ON (((FLOW.FLOW_UNID = LESSEE.FLOWUNID) AND (LESSEE.IS_MAIN = 'Y'))))
LEFT JOIN APZL.LB_UNION_LESSEE LESSEE2 ON (((FLOW.CONTRACT_ID = LESSEE2.CONTRACT_ID) AND (LESSEE2.IS_MAIN = 'Y')))));
-- comment on column vi_contract_cust.flowunid not supported: 流程编号

View File

@ -0,0 +1,22 @@
create view vi_contract_overdue as SELECT VRPS.CONTRACT_ID AS CONTRACT_ID,
LCI.CONTRACT_NUMBER AS CONTRACT_NUMBER,
LCI.CONTRACT_STATUS AS CONTRACT_STATUS,
VRPS.OVER_LIST AS OVER_LIST,
VRPS.OVER_DAYS AS OVER_DAYS,
VRPS.OVER_MONEY AS OVER_MONEY,
VRPS.OVER_PENALTY AS OVER_PENALTY
FROM (APZL.VI_OVERDUE_RENT_PLAN_SUM VRPS
LEFT JOIN APZL.LB_CONTRACT_INFO LCI ON ((LCI.ID = VRPS.CONTRACT_ID)))
WHERE ((VRPS.OVER_DAYS > 0) AND (VRPS.OVER_MONEY > 0) AND (LCI.CONTRACT_STATUS = '31') AND (NOT (LCI.CONTRACT_NUMBER IN (
SELECT BS.CONTRACT_NUMBER
FROM APZL.BUSINESS_STATUS BS
WHERE ((BS.BUSINESS_STATUS = '46') AND (BS.OVER_DAYS = VRPS.OVER_DAYS) AND
(left(BS.INPUTTIME, 10) = convert(date_format(sysdate(), '%Y/%m/%d') USING GBK)))
))));
-- comment on column vi_contract_overdue.contract_id not supported: 合同编号
-- comment on column vi_contract_overdue.contract_number not supported: 业务合同号
-- comment on column vi_contract_overdue.CONTRACT_STATUS not supported: 合同状态

View File

@ -0,0 +1,70 @@
create view vi_contract_penalty as SELECT L.PAYMENT_NUMBER AS PAYMENT_NUMBER,
L.PLAN_LIST AS PLAN_LIST,
L.PLAN_DATE AS PLAN_DATE,
round(sum((CASE
WHEN ((str_to_date(L.PLAN_DATE, '%Y/%m/%d') + C.ATTR_VALUE) <= if((LL.HIRE_DATE > curdate()), curdate(), LL.HIRE_DATE)) THEN (
((LCC.PENA_RATE / 10000) *
(to_days(if((LL.HIRE_DATE > curdate()), curdate(), LL.HIRE_DATE)) - to_days(str_to_date(L.PLAN_DATE, '%Y/%m/%d')))) *
ifnull(LL.RENT, 0))
ELSE 0 END)), 2) AS PLAN_PENALTY,
round(sum((ifnull(LL.PENALTY, 0) + ifnull(LL.PENALTY_ADJUST, 0))), 2) AS INCOME_PENALTY,
round((sum((CASE
WHEN ((str_to_date(L.PLAN_DATE, '%Y/%m/%d') + C.ATTR_VALUE) <= if((LL.HIRE_DATE > curdate()), curdate(), LL.HIRE_DATE)) THEN (
((LCC.PENA_RATE / 10000) *
(to_days(if((LL.HIRE_DATE > curdate()), curdate(), LL.HIRE_DATE)) - to_days(str_to_date(L.PLAN_DATE, '%Y/%m/%d')))) *
ifnull(LL.RENT, 0))
ELSE 0 END)) - sum((ifnull(LL.PENALTY, 0) + ifnull(LL.PENALTY_ADJUST, 0)))), 2) AS PENALTY
FROM ((((APZL.LC_CALC_CONDITION LCC LEFT JOIN APZL.LC_CALC_CONDITION_STATUS LCCS ON ((LCC.PAYMENT_NUMBER = LCCS.PAYMENT_NUMBER))) LEFT JOIN APZL.CONFIGURATE C ON (((1 = 1) AND (C.ATTR_ID = '免罚息天数配置') AND (C.FIELD1 = '汽车')))) LEFT JOIN APZL.LC_RENT_PLAN L ON ((LCCS.PAYMENT_NUMBER = L.PAYMENT_NUMBER)))
LEFT JOIN (
SELECT LRI.PAYMENT_NUMBER AS PAYMENT_NUMBER,
LRI.PLAN_LIST AS PLAN_LIST,
LRI.RENT AS RENT,
LRI.PENALTY AS PENALTY,
LRI.PENALTY_ADJUST AS PENALTY_ADJUST,
str_to_date(LRI.HIRE_DATE, '%Y/%m/%d') AS HIRE_DATE
FROM APZL.LC_RENT_INCOME LRI
WHERE (LRI.ROLL_BACK = '0')
UNION ALL
SELECT LRIT.PAYMENT_NUMBER AS PAYMENT_NUMBER,
LRIT.PLAN_LIST AS PLAN_LIST,
LRIT.RENT AS RENT,
LRIT.PENALTY AS PENALTY,
LRIT.PENALTY_ADJUST AS PENALTY_ADJUST,
str_to_date(LRIT.HIRE_DATE, '%Y/%m/%d') AS HIRE_DATE
FROM APZL.LC_RENT_INCOME_TEMP LRIT
WHERE ((LRIT.ROLL_BACK = '0') AND (LRIT.IS_FLOWING = '0'))
UNION ALL
SELECT LRP.PAYMENT_NUMBER AS PAYMENT_NUMBER,
LRP.PLAN_LIST AS PLAN_LIST,
((LRP.RENT - ifnull(LR.SRENT, 0)) - ifnull(LRT.SRENT, 0)) AS RENT,
0 AS `0`,
0 AS `0`,
curdate() AS HIRE_DATE
FROM ((APZL.LC_RENT_PLAN LRP LEFT JOIN (
SELECT APZL.LC_RENT_INCOME.PAYMENT_NUMBER AS PAYMENT_NUMBER,
APZL.LC_RENT_INCOME.PLAN_LIST AS PLAN_LIST,
sum(APZL.LC_RENT_INCOME.RENT) AS SRENT
FROM APZL.LC_RENT_INCOME
WHERE (APZL.LC_RENT_INCOME.ROLL_BACK = '0')
GROUP BY APZL.LC_RENT_INCOME.PAYMENT_NUMBER, APZL.LC_RENT_INCOME.PLAN_LIST
) LR ON (((LR.PAYMENT_NUMBER = LRP.PAYMENT_NUMBER) AND (LR.PLAN_LIST = LRP.PLAN_LIST))))
LEFT JOIN (
SELECT APZL.LC_RENT_INCOME_TEMP.PAYMENT_NUMBER AS PAYMENT_NUMBER,
APZL.LC_RENT_INCOME_TEMP.PLAN_LIST AS PLAN_LIST,
sum(APZL.LC_RENT_INCOME_TEMP.RENT) AS SRENT
FROM APZL.LC_RENT_INCOME_TEMP
WHERE ((APZL.LC_RENT_INCOME_TEMP.ROLL_BACK = '0') AND (APZL.LC_RENT_INCOME_TEMP.IS_FLOWING = '0'))
GROUP BY APZL.LC_RENT_INCOME_TEMP.PAYMENT_NUMBER, APZL.LC_RENT_INCOME_TEMP.PLAN_LIST
) LRT ON (((LRT.PAYMENT_NUMBER = LRP.PAYMENT_NUMBER) AND (LRT.PLAN_LIST = LRP.PLAN_LIST))))
WHERE (((LRP.RENT - ifnull(LR.SRENT, 0)) - ifnull(LRT.SRENT, 0)) > 0)
) LL ON (((LL.PAYMENT_NUMBER = L.PAYMENT_NUMBER) AND (LL.PLAN_LIST = L.PLAN_LIST))))
WHERE ((LCCS.PLAN_STATUS = '31') AND (L.PAYMENT_NUMBER IS NOT NULL))
GROUP BY L.PAYMENT_NUMBER, L.PLAN_LIST, L.PLAN_DATE
ORDER BY L.PAYMENT_NUMBER, L.PLAN_LIST;
-- comment on column vi_contract_penalty.PAYMENT_NUMBER not supported: 投放编号
-- comment on column vi_contract_penalty.PLAN_LIST not supported: 期次
-- comment on column vi_contract_penalty.PLAN_DATE not supported: 计划日期

View File

@ -0,0 +1,69 @@
create view vi_contractinfoallview as SELECT O.ID AS ID,
CL2.ITEMNAME AS CONTRACT_STATUS,
LUL.CUSTOMER_NAME AS CUSTOMER_NAME,
LPI.PROJECT_NO AS PROJECT_NO,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_DATE AS PROJECT_DATE,
O.PROJECT_NAME AS PROJECT_NAME,
O.CONTRACT_NO AS CONTRACT_NO,
O.CONTRACT_NUMBER AS CONTRACT_NUMBER,
O.LEAS_FORM AS LEAS_FORM,
LEC.FRAME_NUMBER AS FRAME_NUMBER,
CP.MOBILE AS MOBILE,
CF.NAME AS NAME,
LEC.VNDR_NAME AS VNDR_NAME,
LFI.APPLYPAY_DATE AS APPLYPAY_DATE,
LCC.START_DATE AS START_DATE,
CL1.ITEMNAME AS ITEMNAME,
O.PRODUCT_ID AS PRODUCT_ID,
O.FLOWUNID AS FLOWUNID,
UI.USERNAME AS PROJECT_MANAGENAME
FROM ((((((((((((APZL.LB_CONTRACT_INFO O LEFT JOIN APZL.LB_UNION_LESSEE LUL ON (((LUL.CONTRACT_ID = O.ID) AND (LUL.IS_MAIN = 'Y')))) LEFT JOIN APZL.CUSTOMER_PERSON CP ON ((CP.CUSTOMERID = LUL.CUSTOMER_ID))) LEFT JOIN APZL.LB_PROJECT_INFO LPI ON ((LPI.ID = convert(LUL.PROJECT_ID USING UTF8)))) LEFT JOIN APZL.LB_EQUIPMENT_CAR LEC ON ((LEC.PROJECT_ID = LPI.ID))) LEFT JOIN APZL.CUSTOMER_FAMILY CF ON (((convert(CF.PROJECT_ID USING UTF8) = LPI.ID) AND (CF.PARTNER_ = 'Y')))) LEFT JOIN APZL.LC_CALC_CONDITION LCC ON ((LCC.CONTRACT_ID = LUL.CONTRACT_ID))) LEFT JOIN (
SELECT APZL.LC_FUND_INCOME.CONTRACT_ID AS CONTRACT_ID, APZL.LC_FUND_INCOME.APPLYPAY_DATE AS APPLYPAY_DATE
FROM APZL.LC_FUND_INCOME
WHERE ((APZL.LC_FUND_INCOME.FEE_TYPE = 'feetype10') AND (APZL.LC_FUND_INCOME.SETTLE_METHOD = 'settlemethod11'))
GROUP BY APZL.LC_FUND_INCOME.CONTRACT_ID
) LFI ON ((LFI.CONTRACT_ID = LUL.CONTRACT_ID))) LEFT JOIN APZL.PRD_SPECIFIC_LIBRARY PSL ON ((LPI.PRODUCT_ID = PSL.PRODUCTID))) LEFT JOIN APZL.CODE_LIBRARY CL1 ON (((convert(CL1.ITEMNO USING UTF8) = PSL.OPERATIONTYPE) AND (CL1.CODENO = 'operationType')))) LEFT JOIN (
SELECT APZL.BUSINESS_STATUS.CONTRACT_NUMBER AS CONTRACT_NUMBER, max(APZL.BUSINESS_STATUS.BUSINESS_STATUS) AS BUSINESS_STATUS
FROM APZL.BUSINESS_STATUS
GROUP BY APZL.BUSINESS_STATUS.CONTRACT_NUMBER
) BS ON ((BS.CONTRACT_NUMBER = O.CONTRACT_NUMBER))) LEFT JOIN APZL.CODE_LIBRARY CL2 ON (((CL2.ITEMNO = BS.BUSINESS_STATUS) AND (CL2.CODENO = 'BusinessStatus'))))
LEFT JOIN APZL.USER_INFO UI ON ((UI.USERID = O.PROJECT_MANAGE)))
WHERE (O.BUSINESSTYPE = '1');
-- comment on column vi_contractinfoallview.ID not supported: 编号
-- comment on column vi_contractinfoallview.CUSTOMER_NAME not supported: 承租人名称
-- comment on column vi_contractinfoallview.PROJECT_NO not supported: 项目编号
-- comment on column vi_contractinfoallview.project_id not supported: 项目编号
-- comment on column vi_contractinfoallview.project_date not supported: 项目日期
-- comment on column vi_contractinfoallview.project_name not supported: 项目名称
-- comment on column vi_contractinfoallview.contract_no not supported: 合同号
-- comment on column vi_contractinfoallview.CONTRACT_NUMBER not supported: 业务合同号
-- comment on column vi_contractinfoallview.leas_form not supported: 业务形式
-- comment on column vi_contractinfoallview.FRAME_NUMBER not supported: 车架号
-- comment on column vi_contractinfoallview.mobile not supported: 手机号
-- comment on column vi_contractinfoallview.NAME not supported: 姓名
-- comment on column vi_contractinfoallview.VNDR_NAME not supported: 供应商
-- comment on column vi_contractinfoallview.APPLYPAY_DATE not supported: 申请支付日期
-- comment on column vi_contractinfoallview.START_DATE not supported: 起租日
-- comment on column vi_contractinfoallview.PRODUCT_ID not supported: 产品ID
-- comment on column vi_contractinfoallview.FLOWUNID not supported: 流程标识
-- comment on column vi_contractinfoallview.project_managename not supported: 用户姓名

View File

@ -0,0 +1,36 @@
create view vi_contractmakeprintlist as SELECT PI.ID AS ID,
LDC.DOC_NAME AS DOCNAME,
LDC.CUSTOMERNAME AS CUSTOMERNAME,
LDC.LIBRARY_ID AS LIBID,
PI.PRODUCT_ID AS PRODUCTID,
PI.PROJECT_STATUS AS STATUS,
LDC.ATTRIBUTE_ID AS ATTRIBUTE_ID,
LDC.TELEPHONE AS TELEPHONE,
LDC.SIGN_TYPE AS SIGN_TYPE,
LDC.SENDPROCESS AS SENDPROCESS,
LDC.FLOW_UNID AS FLOWUNID
FROM (APZL.LB_DOC_CONTRACT_LIST LDC
LEFT JOIN APZL.LB_PROJECT_INFO PI ON (((convert(LDC.PROJECT_ID USING UTF8) = PI.ID) AND (LDC.FILE_FLAG = 'yes'))));
-- comment on column vi_contractmakeprintlist.id not supported: 标识
-- comment on column vi_contractmakeprintlist.docname not supported: 资料名称
-- comment on column vi_contractmakeprintlist.customername not supported: 客户名称
-- comment on column vi_contractmakeprintlist.libid not supported: 资料清单标识
-- comment on column vi_contractmakeprintlist.productid not supported: 产品ID
-- comment on column vi_contractmakeprintlist.STATUS not supported: 项目状态
-- comment on column vi_contractmakeprintlist.ATTRIBUTE_ID not supported: 附件明细表标识
-- comment on column vi_contractmakeprintlist.telephone not supported: 电话号码
-- comment on column vi_contractmakeprintlist.sign_type not supported: 签约状态
-- comment on column vi_contractmakeprintlist.sendprocess not supported: 契约锁发送过程
-- comment on column vi_contractmakeprintlist.flowunid not supported: 流程id

View File

@ -0,0 +1,183 @@
create view vi_cust_person as (
SELECT DISTINCT INFO.CUSTOMERID AS CUSTOMERID,
INFO.CUSTOMERNAME AS CUSTOMERNAME,
INFO.CUSTOMERTYPE AS CUSTOMERTYPE,
INFO.CERTTYPE AS CERTTYPE,
INFO.CERTID AS CERTID,
PERSON.SEX AS SEX,
PERSON.MOBILE AS MOBILE,
PERSON.LICENSENAME AS LICENSENAME,
CO.ITEMNAME AS LICENSENAMENAME,
PERSON.WORKCORP AS WORKCORP,
PERSON.WORKADD AS WORKADD,
PERSON.WORKTEL AS WORKTEL,
PERSON.ENTRYTIME AS ENTRYTIME,
PERSON.MAILING_ADDRESS AS MAILING_ADDRESS,
PERSON.NATIVEPLACE AS NATIVEPLACE,
PERSON.EMERGENCY_CONTACT_PERSON AS EMERGENCY_CONTACT_PERSON,
PERSON.EMPLOYRECORD AS EMPLOYRECORD,
PERSON.EMERGENCY_CONTACT_TEL AS EMERGENCY_CONTACT_TEL,
PERSON.INTRO AS INTRO,
PERSON.EDUDEGREE AS EDUDEGREE,
PERSON.REMARK AS REMARK,
PERSON.MARRIAGE AS MARRIAGE,
CO1.ITEMNAME AS MARRIAGENAME,
PERSON.POPULATION AS POPULATION,
PERSON.CHILDRENS_NUMBER AS CHILDRENS_NUMBER,
PERSON.TELEPHONE AS TELEPHONE,
PERSON.EDUEXPERIENCE AS EDUEXPERIENCE,
CO2.ITEMNAME AS EDUEXPERIENCENAME,
PERSON.PROPERTY_TYPE AS PROPERTY_TYPE,
CO3.ITEMNAME AS PROPERTY_TYPENAME,
PERSON.UNIT_NATURE AS UNIT_NATURE,
CO4.ITEMNAME AS UNIT_NATURENAME,
PERSON.OCCUPATION AS OCCUPATION,
PERSON.MAIN_INCOME AS MAIN_INCOME,
CO5.ITEMNAME AS MAIN_INCOMENAME,
PERSON.BEFORE_UNIT_NAME AS BEFORE_UNIT_NAME,
PERSON.FAMILYMONTHINCOME AS FAMILYMONTHINCOME,
PERSON.OTHER_INCOME AS OTHER_INCOME,
ADDRESS.FULLADDRESS AS FULLADDRESS,
CTYPE.CUSTTYPE AS CUSTTYPE,
CO6.ITEMNAME AS CUSTTYPENAME,
FAMILYP.NAME AS PARTNER_NAME,
FAMILYP.ASSURE_RELATION AS PARTNER_ASSURE_RELATION,
FAMILYP.CERTID AS PARTNER_CERTID,
FAMILYP.SEX AS PARTNER_SEX,
FAMILYP.TEL AS PARTNER_TEL,
FAMILYP.SHUKOU AS PARTNER_SHUKOU,
FAMILYP.SUNAME AS PARTNER_SUNAME,
FAMILYP.SUPHONE AS PARTNER_SUPHONE,
FAMILYP.SPOSITION AS PARTNER_SPOSITION,
FAMILYP.SMINCOME AS PARTNER_SMINCOME,
FAMILYP.WORKUNIT AS PARTNER_WORKUNIT,
FAMILYW.NAME AS SPOUSE_NAME,
FAMILYW.CERTID AS SPOUSE_CERTID,
FAMILYW.SEX AS SPOUSE_SEX,
FAMILYW.TEL AS SPOUSE_TEL,
FAMILYW.PARTNER_ AS SPOUSE_PARTNER,
FAMILYW.SHUKOU AS SPOUSE_SHUKOU,
CO7.ITEMNAME AS SPOUSE_SHUKOUNAME,
FAMILYW.SUNAME AS SPOUSE_SUNAME,
FAMILYW.SUPHONE AS SPOUSE_SUPHONE,
FAMILYW.SPOSITION AS SPOUSE_SPOSITION,
FAMILYW.SMINCOME AS SPOUSE_SMINCOME,
FAMILYW.WORKUNIT AS SPOUSE_WORKUNIT
FROM ((((((((((((((((APZL.CUSTOMER_INFO INFO LEFT JOIN APZL.CUSTOMER_PERSON PERSON ON ((INFO.CUSTOMERID = PERSON.CUSTOMERID))) LEFT JOIN APZL.CUSTOMER_ADDRESS ADDRESS ON ((ADDRESS.CUSTOMERID = convert(INFO.CUSTOMERID USING UTF8)))) LEFT JOIN APZL.CUSTOMER_CERT CERT ON ((CERT.CUSTOMERID = INFO.CUSTOMERID))) LEFT JOIN APZL.CUSTOMER_TYPE CTYPE ON ((CTYPE.CUSTOMERID = INFO.CUSTOMERID))) LEFT JOIN APZL.LB_UNION_LESSEE LUL ON ((LUL.CUSTOMER_ID = INFO.CUSTOMERID))) LEFT JOIN APZL.LB_PROJECT_INFO LPI ON ((LPI.ID = convert(LUL.PROJECT_ID USING UTF8)))) LEFT JOIN APZL.CUSTOMER_FAMILY FAMILYP ON ((
(convert(FAMILYP.PROJECT_ID USING UTF8) = LPI.ID) AND (FAMILYP.PARTNER_ = 'Y') AND
isnull(FAMILYP.SPOUSE_)))) LEFT JOIN APZL.CUSTOMER_FAMILY FAMILYW ON (((convert(FAMILYW.PROJECT_ID USING UTF8) = LPI.ID) AND (FAMILYW.SPOUSE_ = 'Y')))) LEFT JOIN APZL.CODE_LIBRARY CO ON (((CO.CODENO = 'customer_driver') AND (CO.ITEMNO = PERSON.LICENSENAME)))) LEFT JOIN APZL.CODE_LIBRARY CO1 ON (((CO1.CODENO = 'marry') AND (CO1.ITEMNO = PERSON.MARRIAGE)))) LEFT JOIN APZL.CODE_LIBRARY CO2 ON (((CO2.CODENO = 'Education') AND (CO2.ITEMNO = PERSON.EDUEXPERIENCE)))) LEFT JOIN APZL.CODE_LIBRARY CO3 ON (((CO3.CODENO = 'Property_type') AND (CO3.ITEMNO = PERSON.PROPERTY_TYPE)))) LEFT JOIN APZL.CODE_LIBRARY CO4 ON (((CO4.CODENO = 'Unit_nature') AND (CO4.ITEMNO = PERSON.UNIT_NATURE)))) LEFT JOIN APZL.CODE_LIBRARY CO5 ON (((CO5.CODENO = 'main_income') AND (CO5.ITEMNO = PERSON.MAIN_INCOME)))) LEFT JOIN APZL.CODE_LIBRARY CO6 ON (((CO6.CODENO = 'CustomerType') AND (CO6.ITEMNO = CTYPE.CUSTTYPE))))
LEFT JOIN APZL.CODE_LIBRARY CO7 ON (((CO7.CODENO = 'spouse_hukou') AND (CO7.ITEMNO = FAMILYW.SHUKOU))))
WHERE (INFO.CUSTOMERTYPE = '03'));
-- comment on column vi_cust_person.customerid not supported: 客户编号
-- comment on column vi_cust_person.customername not supported: 客户名称
-- comment on column vi_cust_person.customertype not supported: 客户类别
-- comment on column vi_cust_person.certtype not supported: 证件类型
-- comment on column vi_cust_person.certid not supported: 证件号
-- comment on column vi_cust_person.sex not supported: 性别
-- comment on column vi_cust_person.mobile not supported: 手机号
-- comment on column vi_cust_person.LICENSENAME not supported: 驾驶证姓名
-- comment on column vi_cust_person.WORKCORP not supported: 单位名称
-- comment on column vi_cust_person.WORKADD not supported: 单位地址
-- comment on column vi_cust_person.WORKTEL not supported: 单位电话
-- comment on column vi_cust_person.ENTRYTIME not supported: 入职时间
-- comment on column vi_cust_person.Mailing_Address not supported: 邮寄地址
-- comment on column vi_cust_person.NATIVEPLACE not supported: 户籍地址
-- comment on column vi_cust_person.EMERGENCY_CONTACT_PERSON not supported: 紧急联系人
-- comment on column vi_cust_person.EMPLOYRECORD not supported: 工作履历
-- comment on column vi_cust_person.EMERGENCY_CONTACT_TEL not supported: 紧急联系电话
-- comment on column vi_cust_person.INTRO not supported: 个人情况简介
-- comment on column vi_cust_person.EDUDEGREE not supported: 最高学位
-- comment on column vi_cust_person.REMARK not supported: 备注
-- comment on column vi_cust_person.MARRIAGE not supported: 婚姻状况
-- comment on column vi_cust_person.POPULATION not supported: 家庭人口数
-- comment on column vi_cust_person.childrens_number not supported: 子女人数
-- comment on column vi_cust_person.telephone not supported: 固定电话
-- comment on column vi_cust_person.EDUEXPERIENCE not supported: 最高学历
-- comment on column vi_cust_person.Property_type not supported: 房产类型
-- comment on column vi_cust_person.Unit_nature not supported: 单位性质
-- comment on column vi_cust_person.OCCUPATION not supported: 职业
-- comment on column vi_cust_person.main_income not supported: 主要收入
-- comment on column vi_cust_person.before_unit_name not supported: 前工作单位名称
-- comment on column vi_cust_person.FAMILYMONTHINCOME not supported: 家庭月收入
-- comment on column vi_cust_person.other_income not supported: 其他收入
-- comment on column vi_cust_person.fulladdress not supported: 地址全名
-- comment on column vi_cust_person.custtype not supported: 客户类别
-- comment on column vi_cust_person.Partner_name not supported: 姓名
-- comment on column vi_cust_person.Partner_ASSURE_RELATION not supported: 关系
-- comment on column vi_cust_person.Partner_certid not supported: 证件号码
-- comment on column vi_cust_person.Partner_SEX not supported: 性别
-- comment on column vi_cust_person.Partner_tel not supported: 联系电话
-- comment on column vi_cust_person.Partner_shukou not supported: 户口-配偶
-- comment on column vi_cust_person.Partner_suname not supported: 单位名称-配偶
-- comment on column vi_cust_person.Partner_suphone not supported: 单位电话-配偶
-- comment on column vi_cust_person.Partner_sposition not supported: 职位—配偶
-- comment on column vi_cust_person.Partner_smincome not supported: 月收入——配偶
-- comment on column vi_cust_person.Partner_workunit not supported: 工作单位
-- comment on column vi_cust_person.SPOUSE_name not supported: 姓名
-- comment on column vi_cust_person.SPOUSE_certid not supported: 证件号码
-- comment on column vi_cust_person.SPOUSE_SEX not supported: 性别
-- comment on column vi_cust_person.SPOUSE_tel not supported: 联系电话
-- comment on column vi_cust_person.SPOUSE_Partner not supported: 是否共同申请人
-- comment on column vi_cust_person.SPOUSE_shukou not supported: 户口-配偶
-- comment on column vi_cust_person.SPOUSE_suname not supported: 单位名称-配偶
-- comment on column vi_cust_person.SPOUSE_suphone not supported: 单位电话-配偶
-- comment on column vi_cust_person.SPOUSE_sposition not supported: 职位—配偶
-- comment on column vi_cust_person.SPOUSE_smincome not supported: 月收入——配偶
-- comment on column vi_cust_person.SPOUSE_workunit not supported: 工作单位

View File

@ -0,0 +1,192 @@
create view vi_cust_tenant as (
SELECT LB.ID AS PROJECT_ID,
LC.ID AS CONTRACT_ID,
CUST.CUSTOMERID AS CUSTOMERID,
CUST.CUSTOMERNAME AS CUSTOMERNAME,
CUST.CUSTOMERTYPE AS CUSTOMERTYPE,
CUST.CERTTYPE AS CERTTYPE,
CUST.CERTID AS CERTID,
CUST.SEX AS SEX,
CUST.MOBILE AS MOBILE,
CUST.LICENSENAME AS LICENSENAME,
CUST.LICENSENAMENAME AS LICENSENAMENAME,
CUST.WORKCORP AS WORKCORP,
CUST.WORKADD AS WORKADD,
CUST.WORKTEL AS WORKTEL,
CUST.ENTRYTIME AS ENTRYTIME,
CUST.MAILING_ADDRESS AS MAILING_ADDRESS,
CUST.NATIVEPLACE AS NATIVEPLACE,
CUST.EMERGENCY_CONTACT_PERSON AS EMERGENCY_CONTACT_PERSON,
CUST.EMPLOYRECORD AS EMPLOYRECORD,
CUST.EMERGENCY_CONTACT_TEL AS EMERGENCY_CONTACT_TEL,
CUST.INTRO AS INTRO,
CUST.EDUDEGREE AS EDUDEGREE,
CUST.REMARK AS REMARK,
CUST.MARRIAGE AS MARRIAGE,
CUST.MARRIAGENAME AS MARRIAGENAME,
CUST.POPULATION AS POPULATION,
CUST.CHILDRENS_NUMBER AS CHILDRENS_NUMBER,
CUST.TELEPHONE AS TELEPHONE,
CUST.EDUEXPERIENCE AS EDUEXPERIENCE,
CUST.EDUEXPERIENCENAME AS EDUEXPERIENCENAME,
CUST.PROPERTY_TYPE AS PROPERTY_TYPE,
CUST.PROPERTY_TYPENAME AS PROPERTY_TYPENAME,
CUST.UNIT_NATURE AS UNIT_NATURE,
CUST.UNIT_NATURENAME AS UNIT_NATURENAME,
CUST.OCCUPATION AS OCCUPATION,
CUST.MAIN_INCOME AS MAIN_INCOME,
CUST.MAIN_INCOMENAME AS MAIN_INCOMENAME,
CUST.BEFORE_UNIT_NAME AS BEFORE_UNIT_NAME,
CUST.FAMILYMONTHINCOME AS FAMILYMONTHINCOME,
CUST.OTHER_INCOME AS OTHER_INCOME,
CUST.FULLADDRESS AS FULLADDRESS,
CUST.CUSTTYPE AS CUSTTYPE,
CUST.CUSTTYPENAME AS CUSTTYPENAME,
CUST.PARTNER_NAME AS PARTNER_NAME,
CUST.PARTNER_ASSURE_RELATION AS PARTNER_ASSURE_RELATION,
CUST.PARTNER_CERTID AS PARTNER_CERTID,
CUST.PARTNER_SEX AS PARTNER_SEX,
CUST.PARTNER_TEL AS PARTNER_TEL,
CUST.PARTNER_SHUKOU AS PARTNER_SHUKOU,
CUST.PARTNER_SUNAME AS PARTNER_SUNAME,
CUST.PARTNER_SUPHONE AS PARTNER_SUPHONE,
CUST.PARTNER_SPOSITION AS PARTNER_SPOSITION,
CUST.PARTNER_SMINCOME AS PARTNER_SMINCOME,
CUST.PARTNER_WORKUNIT AS PARTNER_WORKUNIT,
CUST.SPOUSE_NAME AS SPOUSE_NAME,
CUST.SPOUSE_CERTID AS SPOUSE_CERTID,
CUST.SPOUSE_SEX AS SPOUSE_SEX,
CUST.SPOUSE_TEL AS SPOUSE_TEL,
CUST.SPOUSE_PARTNER AS SPOUSE_PARTNER,
CUST.SPOUSE_SHUKOU AS SPOUSE_SHUKOU,
CUST.SPOUSE_SHUKOUNAME AS SPOUSE_SHUKOUNAME,
CUST.SPOUSE_SUNAME AS SPOUSE_SUNAME,
CUST.SPOUSE_SUPHONE AS SPOUSE_SUPHONE,
CUST.SPOUSE_SPOSITION AS SPOUSE_SPOSITION,
CUST.SPOUSE_SMINCOME AS SPOUSE_SMINCOME,
CUST.SPOUSE_WORKUNIT AS SPOUSE_WORKUNIT,
LU.INPUTTIME AS INPUTTIME
FROM (((APZL.LB_PROJECT_INFO LB LEFT JOIN APZL.LB_CONTRACT_INFO LC ON ((convert(LC.PROJECT_ID USING UTF8) = LB.ID))) LEFT JOIN APZL.LB_UNION_LESSEE LU ON ((convert(LU.PROJECT_ID USING UTF8) = LB.ID)))
LEFT JOIN APZL.VI_CUST_PERSON CUST ON ((CUST.CUSTOMERID = LU.CUSTOMER_ID)))
WHERE (NOT (exists(
SELECT 1 FROM APZL.CUST_PERSON_HIS PHIS WHERE ((PHIS.CUSTTYPE = 'cust_type.cust') AND (convert(PHIS.PROJECT_ID USING UTF8) = LB.ID)))))
ORDER BY LU.INPUTTIME);
-- comment on column vi_cust_tenant.project_id not supported: 标识
-- comment on column vi_cust_tenant.contract_id not supported: 编号
-- comment on column vi_cust_tenant.customerid not supported: 客户编号
-- comment on column vi_cust_tenant.customername not supported: 客户名称
-- comment on column vi_cust_tenant.customertype not supported: 客户类别
-- comment on column vi_cust_tenant.certtype not supported: 证件类型
-- comment on column vi_cust_tenant.certid not supported: 证件号
-- comment on column vi_cust_tenant.sex not supported: 性别
-- comment on column vi_cust_tenant.mobile not supported: 手机号
-- comment on column vi_cust_tenant.LICENSENAME not supported: 驾驶证姓名
-- comment on column vi_cust_tenant.WORKCORP not supported: 单位名称
-- comment on column vi_cust_tenant.WORKADD not supported: 单位地址
-- comment on column vi_cust_tenant.WORKTEL not supported: 单位电话
-- comment on column vi_cust_tenant.ENTRYTIME not supported: 入职时间
-- comment on column vi_cust_tenant.Mailing_Address not supported: 邮寄地址
-- comment on column vi_cust_tenant.NATIVEPLACE not supported: 户籍地址
-- comment on column vi_cust_tenant.EMERGENCY_CONTACT_PERSON not supported: 紧急联系人
-- comment on column vi_cust_tenant.EMPLOYRECORD not supported: 工作履历
-- comment on column vi_cust_tenant.EMERGENCY_CONTACT_TEL not supported: 紧急联系电话
-- comment on column vi_cust_tenant.INTRO not supported: 个人情况简介
-- comment on column vi_cust_tenant.EDUDEGREE not supported: 最高学位
-- comment on column vi_cust_tenant.REMARK not supported: 备注
-- comment on column vi_cust_tenant.MARRIAGE not supported: 婚姻状况
-- comment on column vi_cust_tenant.POPULATION not supported: 家庭人口数
-- comment on column vi_cust_tenant.childrens_number not supported: 子女人数
-- comment on column vi_cust_tenant.telephone not supported: 固定电话
-- comment on column vi_cust_tenant.EDUEXPERIENCE not supported: 最高学历
-- comment on column vi_cust_tenant.Property_type not supported: 房产类型
-- comment on column vi_cust_tenant.Unit_nature not supported: 单位性质
-- comment on column vi_cust_tenant.OCCUPATION not supported: 职业
-- comment on column vi_cust_tenant.main_income not supported: 主要收入
-- comment on column vi_cust_tenant.before_unit_name not supported: 前工作单位名称
-- comment on column vi_cust_tenant.FAMILYMONTHINCOME not supported: 家庭月收入
-- comment on column vi_cust_tenant.other_income not supported: 其他收入
-- comment on column vi_cust_tenant.fulladdress not supported: 地址全名
-- comment on column vi_cust_tenant.custtype not supported: 客户类别
-- comment on column vi_cust_tenant.Partner_name not supported: 姓名
-- comment on column vi_cust_tenant.Partner_ASSURE_RELATION not supported: 关系
-- comment on column vi_cust_tenant.Partner_certid not supported: 证件号码
-- comment on column vi_cust_tenant.Partner_SEX not supported: 性别
-- comment on column vi_cust_tenant.Partner_tel not supported: 联系电话
-- comment on column vi_cust_tenant.Partner_shukou not supported: 户口-配偶
-- comment on column vi_cust_tenant.Partner_suname not supported: 单位名称-配偶
-- comment on column vi_cust_tenant.Partner_suphone not supported: 单位电话-配偶
-- comment on column vi_cust_tenant.Partner_sposition not supported: 职位—配偶
-- comment on column vi_cust_tenant.Partner_smincome not supported: 月收入——配偶
-- comment on column vi_cust_tenant.Partner_workunit not supported: 工作单位
-- comment on column vi_cust_tenant.SPOUSE_name not supported: 姓名
-- comment on column vi_cust_tenant.SPOUSE_certid not supported: 证件号码
-- comment on column vi_cust_tenant.SPOUSE_SEX not supported: 性别
-- comment on column vi_cust_tenant.SPOUSE_tel not supported: 联系电话
-- comment on column vi_cust_tenant.SPOUSE_Partner not supported: 是否共同申请人
-- comment on column vi_cust_tenant.SPOUSE_shukou not supported: 户口-配偶
-- comment on column vi_cust_tenant.SPOUSE_suname not supported: 单位名称-配偶
-- comment on column vi_cust_tenant.SPOUSE_suphone not supported: 单位电话-配偶
-- comment on column vi_cust_tenant.SPOUSE_sposition not supported: 职位—配偶
-- comment on column vi_cust_tenant.SPOUSE_smincome not supported: 月收入——配偶
-- comment on column vi_cust_tenant.SPOUSE_workunit not supported: 工作单位
-- comment on column vi_cust_tenant.inputtime not supported: 登记时间

View File

@ -0,0 +1,31 @@
create view vi_customer_info as SELECT APZL.LB_GUARANTEE_UNIT_TEMP.CERTID AS CERTID,
APZL.LB_GUARANTEE_UNIT_TEMP.FULLNAME AS NAME,
APZL.LB_GUARANTEE_UNIT_TEMP.MOBILE AS PHONE,
'assuror' AS CUSTTYPE,
'担保人' AS TYPENAME,
APZL.LB_GUARANTEE_UNIT_TEMP.FLOWUNID AS FLOWUNID,
APZL.LB_GUARANTEE_UNIT_TEMP.PROJECT_ID AS PROJECTID
FROM APZL.LB_GUARANTEE_UNIT_TEMP
WHERE (APZL.LB_GUARANTEE_UNIT_TEMP.CERTTYPE = 'Ind01')
UNION
SELECT CFT.CERTID AS CERTID,
CFT.NAME AS NAME,
CFT.TEL AS PHONE,
'unionlessee' AS CUSTTYPE,
'共同申请人' AS TYPENAME,
CFT.FLOWUNID AS FLOWUNID,
LULT.PROJECT_ID AS PROJECTID
FROM (APZL.CUSTOMER_FAMILY_TEMP CFT
LEFT JOIN APZL.LB_UNION_LESSEE_TEMP LULT ON ((CFT.FLOWUNID = LULT.FLOWUNID)))
WHERE (CFT.PARTNER_ = 'Y')
UNION
SELECT CPT.CERTID AS CERTID,
CPT.FULLNAME AS NAME,
CPT.MOBILE AS PHONE,
'lessee' AS CUSTTYPE,
'承租人' AS TYPENAME,
CPT.FLOWUNID AS FLOWUNID,
LULT.PROJECT_ID AS PROJECTID
FROM (APZL.CUSTOMER_PERSON_TEMP CPT
LEFT JOIN APZL.LB_UNION_LESSEE_TEMP LULT ON ((CPT.FLOWUNID = LULT.FLOWUNID)));

Some files were not shown because too many files have changed in this diff Show More