Преглед на файлове

把合同状态从互斥改为并列

Ping преди 1 година
родител
ревизия
82ec3cfbae
променени са 1 файла, в които са добавени 35 реда и са изтрити 40 реда
  1. 35 40
      合同业务主表.sql

+ 35 - 40
合同业务主表.sql

@@ -5,44 +5,22 @@ select
     crc.id '合同ID', crc.contract_no '合同编号', crc.maintainer_id '合同维护人ID', mt_emp.name '合同维护人',
     cri.name '租客姓名', crc.begin_time '合同开始日期', crc.end_time '合同结束日期', DATEDIFF(crc.end_time, crc.begin_time)+1 '签约天数',
     crc.`type` '合同类型', crc.sign_type '成交方式',
-                (CASE -- 11-待处理
-           WHEN crc.contract_status = 1 AND crc.contract_sub_status = 1 THEN 11
-               -- 12-待租客签字
-           WHEN crc.contract_status = 1 AND crc.contract_sub_status = 2
-                 and crc.sign_status = 1  THEN 12
-               -- 18-带租客实名
-           WHEN  crc.contract_status = 1 AND crc.contract_sub_status=2
-                 and crc.sign_status = 0    THEN 18
-               -- 21-待付款
-           WHEN crc.contract_status = 2 AND crc.transition_type != 1 AND
-                LENGTH(trim(crc.`down_payment_info`)) > 1 AND
-                JSON_EXTRACT(crc.`down_payment_info`, '$.status') = 0 THEN 21
-               -- 22-待租客确认
-           WHEN crc.contract_status = 2 AND crc.transition_type != 1 AND crc.is_sync_tenant = 1 THEN 22
-               -- 23-即将搬入
-           WHEN crc.contract_status = 2 AND crc.transition_type != 1 AND DATE(NOW()) < crc.begin_time THEN 23
-               -- 24-租约中
-           WHEN crc.contract_status = 2 AND crc.transition_type != 1 AND
-                LENGTH(trim(crc.`down_payment_info`)) > 1 AND
-                (JSON_EXTRACT(crc.`down_payment_info`, '$.status') = 1 AND DATE(NOW()) >= crc.begin_time AND
-                DATE(NOW()) < DATE_ADD(DATE(crc.end_time), INTERVAL 30 DAY) ) THEN 24
-               -- 25-即将到期
-           WHEN crc.contract_status = 2 AND crc.transition_type != 1 AND crc.`begin_time` <= DATE(NOW()) AND
-                 DATE(NOW()) >= DATE_ADD(DATE(crc.end_time), INTERVAL 30 DAY)
-                AND DATE(NOW())< DATE(crc.end_time)THEN 25
-               -- 26-已到期
-           WHEN crc.contract_status = 2 AND crc.transition_type != 1 AND DATE(NOW()) >= DATE(crc.end_time) THEN 26
-               -- 27-已续约
-           WHEN crc.contract_status = 2 AND crc.transition_type = 1 THEN 27
-               -- 31-正常退
-           WHEN crc.contract_status = 3 AND crc.terminate_type = 1 THEN 31
-               -- 32-违约退
-           WHEN crc.contract_status = 3 AND crc.terminate_type = 2 THEN 32
-               -- 41-已作废
-           WHEN crc.contract_status = 4 AND crc.invalid_type = 1 THEN 41
-               -- 42-已拒绝
-           WHEN crc.contract_status = 4 AND crc.invalid_type = 2 THEN 42
-               END) '合同状态',
+        TRIM(TRAILING ',' FROM CONCAT(
+            IF(crc.contract_status = 1 AND crc.contract_sub_status = 1, '待处理,', ''),
+            IF(crc.contract_status = 1 AND crc.contract_sub_status = 2 AND crc.sign_status = 1, '待租客签字,', ''),
+            IF(crc.contract_status = 1 AND crc.contract_sub_status = 2 AND crc.sign_status = 0, '带租客实名,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type != 1 AND LENGTH(trim(crc.`down_payment_info`)) > 1 AND JSON_EXTRACT(crc.`down_payment_info`, '$.status') = 0, '待付款,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type != 1 AND crc.is_sync_tenant = 1, '待租客确认,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type != 1 AND DATE(NOW()) < crc.begin_time, '即将搬入,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type != 1 AND LENGTH(trim(crc.`down_payment_info`)) > 1 AND (JSON_EXTRACT(crc.`down_payment_info`, '$.status') = 1 AND DATE(NOW()) >= crc.begin_time AND DATE(NOW()) < DATE_ADD(DATE(crc.end_time), INTERVAL 30 DAY) ), '租约中,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type != 1 AND crc.`begin_time` <= DATE(NOW()) AND DATE(NOW()) >= DATE_ADD(DATE(crc.end_time), INTERVAL 30 DAY) AND DATE(NOW())< DATE(crc.end_time), '即将到期,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type != 1 AND DATE(NOW()) >= DATE(crc.end_time), '已到期,', ''),
+            IF(crc.contract_status = 2 AND crc.transition_type = 1, '已续约,', ''),
+            IF(crc.contract_status = 3 AND crc.terminate_type = 1, '正常退,', ''),
+            IF(crc.contract_status = 3 AND crc.terminate_type = 2, '违约退,', ''),
+            IF(crc.contract_status = 4 AND crc.invalid_type = 1, '已作废,', ''),
+            IF(crc.contract_status = 4 AND crc.invalid_type = 2, '已拒绝,', '')
+        )) '合同状态',
     crc.approval_status '审批状态',
     0 'splitter',
     IF((_deposit.应付-_deposit.已付), (_deposit.应付-_deposit.已付), 0) '押金余额',
@@ -65,7 +43,13 @@ select
 	IF(_this_month_flow.审核通过收入, _this_month_flow.审核通过收入, 0) '本月审核通过收入',
 	IF(_this_month_flow.审核通过支出, _this_month_flow.审核通过支出, 0) '本月审核通过支出',
 	IF(_this_month_flow.待审核收入, _this_month_flow.待审核收入, 0) '本月待审核收入',
-	IF(_this_month_flow.待审核支出, _this_month_flow.待审核支出, 0) '本月待审核支出'
+	IF(_this_month_flow.待审核支出, _this_month_flow.待审核支出, 0) '本月待审核支出',
+	IF(_until_this_month_flow.审核通过收入, _until_this_month_flow.审核通过收入, 0) '截止至本月审核通过收入',
+	IF(_until_this_month_flow.审核通过支出, _until_this_month_flow.审核通过支出, 0) '截止至本月审核通过支出',
+	IF(_until_this_month_flow.待审核收入, _until_this_month_flow.待审核收入, 0) '截止至本月待审核收入',
+	IF(_until_this_month_flow.待审核支出, _until_this_month_flow.待审核支出, 0) '截止至本月待审核支出',
+	IF(_until_this_month_flow.审核通过收入, _until_this_month_flow.审核通过收入, 0)-IF(_this_month_flow.审核通过收入, _this_month_flow.审核通过收入, 0) '截止至上月审核通过收入',
+	IF(_until_this_month_flow.审核通过支出, _until_this_month_flow.审核通过支出, 0)-IF(_this_month_flow.审核通过支出, _this_month_flow.审核通过支出, 0) '截止至上月审核通过支出'
 from yuxin_contract.cont_renter_contract crc
 left join yuxin_house.hse_house_room hhr on hhr.is_delete=0 and hhr.id=crc.house_id
 left join yuxin_house.hse_house_base hhb on hhb.is_delete=0 and hhb.id=crc.house_id
@@ -146,4 +130,15 @@ left join (
     	MONTH(bf.audit_time) = MONTH(CURRENT_DATE()) AND YEAR(bf.audit_time) = YEAR(CURRENT_DATE())
     group by bf.biz_id
 ) _this_month_flow on _this_month_flow.biz_id=crc.id
-where crc.is_delete=0 AND crc.contract_status <> 4
+left join (
+    select bf.biz_id,
+    	SUM(IF(bf.fee_direction=1,0,1)*IF(bf.audit_status=2,1,0)*ABS(bf.total_money)) '审核通过收入',
+    	SUM(IF(bf.fee_direction=1,1,0)*IF(bf.audit_status=2,1,0)*ABS(bf.total_money)) '审核通过支出',
+    	SUM(IF(bf.fee_direction=1,0,1)*IF(bf.audit_status=1,1,0)*ABS(bf.total_money)) '待审核收入',
+    	SUM(IF(bf.fee_direction=1,1,0)*IF(bf.audit_status=1,1,0)*ABS(bf.total_money)) '待审核支出'
+    from yuxin_finance.fin_finance_bill_flow bf
+    where bf.is_valid=1 and bf.is_delete=0 and bf.biz_type=2 and 
+    	MONTH(bf.audit_time) <= MONTH(CURRENT_DATE()) AND YEAR(bf.audit_time) <= YEAR(CURRENT_DATE())
+    group by bf.biz_id
+) _until_this_month_flow on _until_this_month_flow.biz_id=crc.id
+where crc.is_delete=0 and crc.contract_status<>4