diff --git a/code/db/pkg/telsale_pkg.pck b/code/db/pkg/telsale_pkg.pck new file mode 100644 index 0000000..6df4623 --- /dev/null +++ b/code/db/pkg/telsale_pkg.pck @@ -0,0 +1,907 @@ +CREATE OR REPLACE PACKAGE telsale_pkg IS + + -- Author : WANGWEI-202 + -- Created : 2023/3/10 15:13:34 + -- Purpose : 桌面霸屏项目基础数据生成包 + + PROCEDURE 车非基础数据 + ( + a_start_date IN DATE, + a_end_date IN DATE + ); + + PROCEDURE gen_车非临时数据 + ( + a_start_date IN DATE, + a_end_date IN DATE + ); + + PROCEDURE 续保基本数据; + + PROCEDURE chefei_daily_job; + PROCEDURE xubao_daily_job; + +END telsale_pkg; +/ +CREATE OR REPLACE PACKAGE BODY telsale_pkg IS + + PROCEDURE 车非基础数据 + ( + a_start_date IN DATE, + a_end_date IN DATE + ) IS + --l_count INTEGER; --已有记录的数量 + BEGIN + --产生临时数据 + gen_车非临时数据(a_start_date, + a_end_date); + + FOR caller_record IN (SELECT * + FROM desktop_archievement_admin.车非每日保费_t) + LOOP + BEGIN + DELETE desktop_archievement_admin.车非每日保费 cf + WHERE cf.签单日期 = caller_record.签单日期 + AND cf.部门 = caller_record.部门 + AND cf.经办人n = caller_record.经办人n + AND cf.坐席工号 = caller_record.坐席工号; + EXCEPTION + WHEN no_data_found THEN + NULL; + END; + + INSERT INTO desktop_archievement_admin.车非每日保费 + VALUES caller_record; + + END LOOP; + + COMMIT; + EXCEPTION + WHEN OTHERS THEN + NULL; + END; + + PROCEDURE gen_车非临时数据 + ( + a_start_date IN DATE, + a_end_date IN DATE + ) IS + BEGIN + desktop_archievement_admin.clean_temp_data; + + INSERT INTO desktop_archievement_admin.车非每日保费_t + WITH aa AS + (SELECT to_char(t.signature_date, + 'yyyy-mm-dd') 签单日期, + (to_char(T.signature_date, + 'mm')) || '月' mm, + t.policy_no bdh, + t.endorsement_no pdh, + qt.t_cre tid, + QT.B_CRE BTID, -----添加字段 + e.inception_date qbsj, + e.planned_end_date zzsj, + pt.premium_amount - nvl(pt.tax_amount, + 0) bf + --,qt.qdbf - nvl(qt.qdbf_tax_amount,0) bf + , + nt.ecompensation_rate * (pt.premium_amount - nvl(pt.tax_amount, + 0)) fxbf, + z.department_name bm, + z.department_code bmdm, + CASE + WHEN (et.telpartnercode LIKE '%HC%' OR + zx.workerno IN (SELECT code + FROM datacenter.dc_lsj_zx_hc)) THEN + '海沧丰骏' + ELSE + '' + END 是否丰骏, + nvl(zx.workerno, + et.telpartnercode) 坐席工号, + (CASE + WHEN nvl(zx.workerno, + et.telpartnercode) = 'DX001' AND + xx.staff_name LIKE '%建发凯迪%' THEN + '林伟华' + WHEN nvl(zx.workerno, + et.telpartnercode) = 'DX001' AND + xx.staff_name NOT LIKE '%建发凯迪%' THEN + '其他' + ELSE + to_char(ys.坐席姓名) + END) 坐席名称, + YS.团队 坐席团队, + nvl(YS.团队, + y.section_office_name) 科室N, + nvl((CASE + WHEN nvl(zx.workerno, + et.telpartnercode) = 'DX001' AND + xx.staff_name LIKE '%建发凯迪%' THEN + '林伟华' + WHEN nvl(zx.workerno, + et.telpartnercode) = 'DX001' AND + xx.staff_name NOT LIKE '%建发凯迪%' THEN + '其他' + ELSE + to_char(ys.坐席姓名) + END), + xx.staff_name) 经办人N + FROM idst0.auto_agreement_request_t t + LEFT JOIN idst0.auto_agreement_t e + ON e.policy_no = t.policy_no + LEFT JOIN idst0.motorised_vehicle_t v + ON v.policy_no = e.policy_no + LEFT JOIN idst0.auto_premium_t pt + ON pt.policy_no = t.policy_no + AND pt.endorsement_no = t.endorsement_no + LEFT JOIN ywglxt.w_dxbd_i i + ON e.policy_no = i.bdh + LEFT JOIN idst0.rydm_t xx + ON xx.staff_code = nvl(i.zhjywy, + e.operator_code) + LEFT JOIN idst0.ks_t y + ON y.section_office_code = nvl(xx.section_office_code, + e.section_office_code) + LEFT JOIN idst0.bm_t z + ON z.department_code = nvl(xx.department_code, + e.department_code) + --left join datacenter.dc_cx_csteam ct on ct.jbrcode = xx.staff_code + LEFT JOIN idst0.auto_new_product_info_t nt + ON nt.policy_no = t.policy_no + AND nt.endorsement_no = t.endorsement_no + --left join ywglxt.q_auto_agreement_extend_t qe on qe.policy_no = e.policy_no + LEFT JOIN ywglxt.q_auto_agreement_t qt + ON qt.policy_no = e.policy_no + LEFT JOIN datacenter.dc_yangg_qdcode qd + ON qd.code = e.selling_channel_type + LEFT JOIN datacenter.dc_tb_jc_c_tag cl + ON cl.保单号 = e.policy_no + LEFT JOIN datacenter.dc_yangg_basecode_teams fg + ON fg.bm = z.department_name + AND fg.ks = y.section_office_name + --left join idst0.t_sell_policy_autobase_t zx on zx.policy_no=e.policy_no + --left join idst0.auto_agreement_extend_t et on et.policy_no = e.policy_no + LEFT JOIN idst0.auto_agreement_extend_t et + ON et.policy_no = e.policy_no + LEFT JOIN idst0.t_sell_policy_autobase_t zx + ON zx.policy_no = e.policy_no + LEFT JOIN datacenter.dc_YZH_ZXYS YS + ON YS.坐席工号 = nvl(zx.workerno, + et.telpartnercode) + --left join v_lsj_dimian dm on dm.vin=v.vin and e.selling_channel_type='25' and dm.MEMO like'%地面续保%' + --left join datacenter.dc_lsj_zx_team zt on zt.name=coalesce(zc.name,zc1.name,bc.name,dm.JBRMC) + WHERE t.signature_date >= to_date('2023-01-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND t.signature_date < to_date(to_char(SYSDATE - 1, + 'yyyy-mm-dd') || ' 23:59:59', + 'yyyy-mm-dd hh24:mi:ss') + --and t.endorsement_no = '无' + AND e.policy_status = '1' --条件:保单有效 + AND qt.tflag = '0' --条件:类型为个人 + AND qt.usage_xm = '家庭自用车' + --条件:单程提车、摩托车、拖拉机 + --and e.policy_no in ('AXIMC90Y1419B038594J','AXIMC90CTP19B039593R','AXIMC04CTP19B013473X') + AND e.planned_end_date - e.inception_date >= 360 + --条件:保单周期 + ) + -----添加字段 + , + dd2 AS + (SELECT 签单日期, + mm, + bm, + bmdm, + 坐席工号, + 坐席名称, + 坐席团队, + 科室N, + 经办人N, + CASE + WHEN pdh = '无' THEN + tid + END tid, + to_number('1') 客户数, + COUNT(DISTINCT CASE + WHEN pdh = '无' THEN + bdh + END) 保单数, + SUM(bf) 保费 + FROM (SELECT DISTINCT * + FROM aa) aa + GROUP BY bm, + bmdm, + CASE + WHEN pdh = '无' THEN + tid + END, + mm, + BTID, + 坐席工号, + 坐席名称, + 坐席团队, + 签单日期, + 科室N, + 经办人N + UNION + SELECT 签单日期, + mm, + bm, + bmdm, + 坐席工号, + 坐席名称, + 坐席团队, + 科室N, + 经办人N, + CASE + WHEN btid = tid THEN + '' + ELSE + btid + END btid, + to_number('0') 客户数, + to_number('0') 保单数, + to_number('0') 保费 + FROM (SELECT DISTINCT * + FROM aa) aa), + DD AS + (SELECT * + FROM DD2 + WHERE TID IS NOT NULL) + --select * from dd + , + bb AS + (SELECT DISTINCT q.policy_no bdh, + q.endorsement_no pdh, + qna.t_cre tid, + to_number(to_char(q.signature_date, + 'yyyy')) || '年' nf, + (to_char(q.signature_date, + 'mm')) || '月' mm_f, + to_char(q.signature_date, + 'dd') || '日' dd, + q.signature_date sj, + round((pt.premium_amount - nvl(pt.taxamount, + 0)) * c.rate / 100, + 2) bf, + z.department_name bm + FROM idst0.nonauto_agreement_request_t q + LEFT JOIN idst0.nonauto_agreement_t e + ON e.policy_no = q.policy_no + LEFT JOIN idst0.nonauto_premium_t pt + ON pt.endorsement_no = q.endorsement_no + AND pt.policy_no = q.policy_no + LEFT JOIN idst0.reinsurance_t r + ON r.reinsurance_policy_no = e.policy_no + LEFT JOIN idst0.exrate_month_t c + ON pt.currency_code = c.bzh + AND to_char(q.signature_date, + 'YYYY') = c.theyear + AND to_char(q.signature_date, + 'fmmm') = c.themonth + + LEFT JOIN idst0.rydm_t x + ON x.staff_code = e.operator_code + LEFT JOIN idst0.ks_t y + ON y.section_office_code = x.section_office_code + LEFT JOIN idst0.bm_t z + ON z.department_code = x.department_code + LEFT JOIN ywglxt.q_nonauto_agreement_t qna + ON qna.policy_no = q.policy_no + LEFT JOIN datacenter.dc_yangg_gkxzh gk + ON gk.product_code = e.product_code --分散型险种 + --left join datacenter.dc_yangg_zbxzh zb on zb.product_code = e.product_code --政保险种 + LEFT JOIN dd + ON dd.tid = qna.t_cre + WHERE qna.tflag = '0' + AND (CASE + WHEN q.endorsement_no != '无' AND + round((pt.premium_amount - nvl(pt.taxamount, + 0)) * c.rate / 100, + 2) != 0 THEN + '是' + END) IS NULL + --and q.endorsement_no = '无' + AND e.policy_status = '1' + AND gk.product_code IS NOT NULL + AND (e.product_code LIKE '2%' OR e.product_code LIKE '1106%' --意健 --责任 + OR e.product_code LIKE '1107%' OR e.product_code LIKE '1108%' OR e.product_code LIKE '1307%' OR e.product_code LIKE '1304A400%' --家财 + + ) + --and e.product_code not in ('22KC9800') + AND q.signature_date >= to_date('2023-01-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND q.signature_date < to_date(to_char(SYSDATE - 1, + 'yyyy-mm-dd') || ' 23:59:59', + 'yyyy-mm-dd hh24:mi:ss') + AND e.planned_end_date - e.inception_date >= 90 + AND dd.tid IS NOT NULL + --车险个人客户) + ) + --SELECT * FROM BB + , + cc AS + (SELECT mm_f, + tid 融合证件, + COUNT(DISTINCT bdh) 融合保数, + SUM(bf) 融合保费 + FROM bb + GROUP BY tid, + mm_f), + ff AS + (SELECT dd.*, + cc.* + FROM dd + LEFT JOIN cc + ON cc.融合证件 = dd.tid + AND cc.mm_f = dd.mm) --OR cc.融合证件 = dd.btid + --select * from ff + SELECT to_date(签单日期, + 'yyyy-mm-dd') 签单日期, + mm 月份, + bm 部门, + bmdm 部门代码, + 科室N, + 经办人N, + 坐席工号, + 坐席名称, + 坐席团队, + nvl(SUM(保费), + 0) 车险个人客户保费, + nvl(SUM(融合保费), + 0) 车非融合保费 + FROM ff + WHERE ff.签单日期 >= to_char(a_start_date, + 'yyyy-mm-dd') + AND ff.签单日期 <= to_char(a_end_date, + 'yyyy-mm-dd') + AND bm IN ('续保业务部', + '湖里支公司') + GROUP BY 签单日期, + mm, + bm, + bmdm, + 坐席工号, + 坐席名称, + 坐席团队, + 科室N, + 经办人N + ORDER BY 部门, + 坐席名称; + COMMIT; + END; + + PROCEDURE 续保基本数据 IS + BEGIN + --清理旧数据 + desktop_archievement_admin.clean_mensual_renewal; + + --生成新数据 + INSERT INTO desktop_archievement_admin.坐席续保统计 + WITH cc AS + (SELECT pt.policy_no policy_no, + SUM(pt.premium_amount) premium_amount, + SUM(pt.tax_amount) tax_amount + FROM idst0.auto_premium_t pt + GROUP BY pt.policy_no) + + , + bb AS + (SELECT t.policy_no 保单号, + (CASE + WHEN e.product_code LIKE '1102%' AND + e.product_code NOT LIKE '110224%' AND + e.product_code != '11026000' THEN + '机动车险保险' + WHEN e.product_code LIKE '1101%' OR + e.product_code LIKE '1301%' OR + e.product_code LIKE '11110000%' THEN + '财产险' + WHEN e.product_code LIKE '1107%' OR + e.product_code LIKE '1307%' OR + e.product_code LIKE '1304A400%' THEN + '责任险' + WHEN e.product_code LIKE '1106%' OR + e.product_code LIKE '51015700' THEN + '家财险' + WHEN (e.product_code LIKE '1104%' OR e.product_code LIKE '1204%' OR e.product_code LIKE '13040000%') AND + e.product_code NOT LIKE '120404%' THEN + '货运险' + WHEN e.product_code LIKE '1203%' OR + e.product_code LIKE '1103%' OR + e.product_code LIKE '120404%' THEN + '船舶险' + WHEN e.product_code LIKE '1305%' THEN + '工程险' + WHEN e.product_code LIKE '111%' AND + e.product_code NOT LIKE '11110000%' THEN + '农业险' + WHEN e.product_code LIKE '1109%' OR + e.product_code LIKE '1309%' THEN + '保证保险' + WHEN e.product_code LIKE '1312%' THEN + '特殊风险' + WHEN e.product_code LIKE '1308%' THEN + '信用险' + WHEN e.product_code LIKE '23%' THEN + '意外险' + WHEN e.product_code LIKE '22%' THEN + '健康险' + WHEN e.product_code LIKE '110224%' OR + e.product_code = '11026000' THEN + '交强险' + ELSE + '未分配' + END) AS 险种大类 + FROM idst0.auto_agreement_request_t t + LEFT JOIN idst0.auto_agreement_t e + ON e.policy_no = t.policy_no) + + , + aa1 AS + (SELECT a.policy_no 旧保单, + a.selling_shop_code 车商代码, + a.planned_end_date 到期时间, + CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '个车专业化销售一科' + WHEN a.planned_end_date > to_date('2023-04-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') AND + (a.selling_shop_code || a.tel_sale_4s_code IN ('00EA', + '00F1', + '00G9')) THEN + '个车专业化销售一科' + ELSE + nvl(dt.科室名称, + z.section_office_name) + END 科室, + (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2023' AND + nvl(dt.部门, + y.department_name) NOT LIKE '湖里支公司' and(cd.memo LIKE '%深圳%' OR + cd.memo LIKE '%地面%' )and v.vehicle_brand IN ('特斯拉', + '蔚来', + '理想', + '小鹏', + '极氪', + '极狐', + 'AITO', + 'ARCFOX极狐', + '特斯拉(中国)', + '特斯拉(中国)') AND + v.vin NOT IN ('LJ1E6A2UXL7744108', + 'LW433B10XL1001411', + 'LJ1E6A3U2L7742089', + 'L1NSPGHB0MA002652') THEN + '新能源车事业发展中心厦门分中心' + WHEN (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '集美支公司' + ELSE + nvl(dt.部门, + y.department_name) + END) = '湖里支公司' THEN + (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '集美支公司' + ELSE + nvl(dt.部门, + y.department_name) + END) + WHEN (cd.memo LIKE '%地面%' OR + cd.memo LIKE '%深圳%' ) THEN + '续保业务部' + WHEN a.planned_end_date > to_date('2023-04-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') AND + (a.selling_shop_code || a.tel_sale_4s_code IN ('00EA', + '00F1', + '00G9')) THEN + '同安支公司' + ELSE + (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '集美支公司' + ELSE + nvl(dt.部门, + y.department_name) + END) + END) 责任部门, + qa.USAGE_XM 使用性质, + decode(qa.bd_type, + '1', + '单交强', + '2', + '单商业', + '3', + '交商共保', + '其它') 保单类型, + (CASE + WHEN (qa.bd_type = '1' AND nt.ecompensation_rate > 1) THEN + '是' + END) 高预赔, + x.staff_name AS 经办, + bb.险种大类, + cc.signature_date 新保单签发时间, + (SELECT hmd.管控类型 + FROM (SELECT DISTINCT * + FROM dc_lsj_xb_hmd) hmd + WHERE hmd.vin = v.vin) 管控类型 + + FROM idst0.auto_agreement_t a + LEFT JOIN bb + ON bb.保单号 = a.policy_no + LEFT JOIN ywglxt.w_dxbd_i i + ON a.policy_no = i.bdh + LEFT JOIN idst0.motorised_vehicle_t v + ON a.policy_no = v.policy_no + LEFT JOIN ywglxt.q_auto_agreement_t qa + ON qa.policy_no = a.policy_no + + LEFT JOIN idst0.auto_new_product_info_t nt + ON nt.policy_no = a.policy_no + AND nt.endorsement_no = '无' + LEFT JOIN idst0.rydm_t x + ON x.staff_code = nvl(upper(i.zhjywy), + a.operator_code) + LEFT JOIN idst0.bm_t y + ON x.department_code = y.department_code + LEFT JOIN idst0.ks_t z + ON x.section_office_code = z.section_office_code + LEFT JOIN cc pt + ON pt.policy_no = a.policy_no + LEFT JOIN (SELECT DISTINCT aa.policy_no, + vv.vin, + aa.inception_date, + t.signature_date, + (pt.premium_amount - nvl(pt.tax_amount, + 0)) qdbf, + (CASE + WHEN aa.inception_date - aa.issue_date >= '30' THEN + vv.vin + END) if30, + bb.险种大类 + FROM idst0.auto_agreement_t aa + LEFT JOIN bb + ON bb.保单号 = aa.policy_no + LEFT JOIN idst0.motorised_vehicle_t vv + ON vv.policy_no = aa.policy_no + LEFT JOIN idst0.auto_agreement_request_t t + ON t.policy_no = aa.policy_no + AND t.endorsement_no = '无' + LEFT JOIN idst0.auto_premium_t pt + ON pt.policy_no = aa.policy_no + AND pt.endorsement_no = '无' + WHERE aa.policy_no = vv.policy_no + AND aa.policy_status = '1' --and aa.product_code not in ('11022400','11023900','11024000','11024600','11026000') + AND aa.branch_company_code = '3080100' + AND (pt.premium_amount - nvl(pt.tax_amount, + 0)) > 100 + AND aa.inception_date >= to_date('2022-12-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.inception_date < to_date('2023-11-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.branch_company_code = vv.branch_company_code) cc + ON (cc.vin = v.vin AND cc.险种大类 = bb.险种大类) + AND cc.inception_date > a.planned_end_date - 30 --时间限制放宽为30天 + LEFT JOIN dc_yangg_cx_dianxiaodoudi cd + ON cd.policy_no = a.policy_no + LEFT JOIN dc_tb_jc_c_tag dt + ON dt.保单号 = a.policy_no + LEFT JOIN idst0.auto_agreement_t aa + ON aa.policy_no = cc.policy_no + LEFT JOIN cc pt1 + ON pt1.policy_no = aa.policy_no + WHERE a.policy_status = '1' + AND a.planned_end_date - a.inception_date > 270 + AND a.planned_end_date >= to_date('2023-01-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND a.planned_end_date < to_date('2023-10-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss')), + aa2 AS + (SELECT a.policy_no 旧保单, + a.selling_shop_code 车商代码, + a.planned_end_date 到期时间, + CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '个车专业化销售一科' + WHEN a.planned_end_date > to_date('2023-04-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') AND + (a.selling_shop_code || a.tel_sale_4s_code IN ('00EA', + '00F1', + '00G9')) THEN + '个车专业化销售一科' + ELSE + nvl(dt.科室名称, + z.section_office_name) + END 科室, + (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2023' AND + nvl(dt.部门, + y.department_name) NOT LIKE '湖里支公司' and(cd.memo LIKE '%深圳%' OR + cd.memo LIKE '%地面%' )and v.vehicle_brand IN ('特斯拉', + '蔚来', + '理想', + '小鹏', + '极氪', + '极狐', + 'AITO', + 'ARCFOX极狐', + '特斯拉(中国)', + '特斯拉(中国)') AND + v.vin NOT IN ('LJ1E6A2UXL7744108', + 'LW433B10XL1001411', + 'LJ1E6A3U2L7742089', + 'L1NSPGHB0MA002652') THEN + '新能源车事业发展中心厦门分中心' + WHEN (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '集美支公司' + ELSE + nvl(dt.部门, + y.department_name) + END) = '湖里支公司' THEN + (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '集美支公司' + ELSE + nvl(dt.部门, + y.department_name) + END) + WHEN (cd.memo LIKE '%地面%' OR + cd.memo LIKE '%深圳%' ) THEN + '续保业务部' + WHEN a.planned_end_date > to_date('2023-04-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') AND + (a.selling_shop_code || a.tel_sale_4s_code IN ('00EA', + '00F1', + '00G9')) THEN + '同安支公司' + ELSE + (CASE + WHEN to_number(to_char(a.planned_end_date, + 'yyyy')) = '2022' AND + a.selling_shop_code || a.tel_sale_4s_code = '00GK' THEN + '集美支公司' + ELSE + nvl(dt.部门, + y.department_name) + END) + END) 责任部门, + qa.USAGE_XM 使用性质, + decode(qa.bd_type, + '1', + '单交强', + '2', + '单商业', + '3', + '交商共保', + '其它') 保单类型, + (CASE + WHEN (qa.bd_type = '1' AND nt.ecompensation_rate > 1) THEN + '是' + END) 高预赔, + x.staff_name AS 经办, + bb.险种大类, + cc.signature_date 新保单签发时间, + (SELECT hmd.管控类型 + FROM (SELECT DISTINCT * + FROM dc_lsj_xb_hmd) hmd + WHERE hmd.vin = v.vin) 管控类型 + + FROM idst0.auto_agreement_t a + LEFT JOIN bb + ON bb.保单号 = a.policy_no + LEFT JOIN ywglxt.w_dxbd_i i + ON a.policy_no = i.bdh + LEFT JOIN idst0.motorised_vehicle_t v + ON a.policy_no = v.policy_no + LEFT JOIN ywglxt.q_auto_agreement_t qa + ON qa.policy_no = a.policy_no + LEFT JOIN idst0.auto_new_product_info_t nt + ON nt.policy_no = a.policy_no + AND nt.endorsement_no = '无' + LEFT JOIN idst0.rydm_t x + ON x.staff_code = nvl(upper(i.zhjywy), + a.operator_code) + LEFT JOIN idst0.bm_t y + ON x.department_code = y.department_code + LEFT JOIN idst0.ks_t z + ON x.section_office_code = z.section_office_code + LEFT JOIN cc pt + ON pt.policy_no = a.policy_no + LEFT JOIN (SELECT DISTINCT aa.policy_no, + vv.vin, + aa.inception_date, + t.signature_date, + (pt.premium_amount - nvl(pt.tax_amount, + 0)) qdbf, + (CASE + WHEN aa.inception_date - aa.issue_date >= '30' THEN + vv.vin + END) if30, + bb.险种大类 + FROM idst0.auto_agreement_t aa + LEFT JOIN bb + ON bb.保单号 = aa.policy_no + LEFT JOIN idst0.motorised_vehicle_t vv + ON vv.policy_no = aa.policy_no + LEFT JOIN idst0.auto_agreement_request_t t + ON t.policy_no = aa.policy_no + AND t.endorsement_no = '无' + LEFT JOIN idst0.auto_premium_t pt + ON pt.policy_no = aa.policy_no + AND pt.endorsement_no = '无' + WHERE aa.policy_no = vv.policy_no + AND aa.policy_status = '1' --and aa.product_code not in ('11022400','11023900','11024000','11024600','11026000') + AND aa.branch_company_code = '3080100' + AND (pt.premium_amount - nvl(pt.tax_amount, + 0)) > 100 + AND aa.inception_date >= to_date('2022-12-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.inception_date < to_date('2023-11-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.branch_company_code = vv.branch_company_code) cc + ON (cc.vin = v.vin AND cc.险种大类 = bb.险种大类) + AND cc.inception_date > a.planned_end_date - 30 --时间限制放宽为30天 + LEFT JOIN dc_yangg_cx_dianxiaodoudi cd + ON cd.policy_no = a.policy_no + LEFT JOIN dc_tb_jc_c_tag dt + ON dt.保单号 = a.policy_no + LEFT JOIN idst0.auto_agreement_t aa + ON aa.policy_no = cc.policy_no + LEFT JOIN cc pt1 + ON pt1.policy_no = aa.policy_no + WHERE a.policy_status = '1' + AND a.planned_end_date - a.inception_date > 270 + AND a.planned_end_date >= to_date('2023-10-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND a.planned_end_date < to_date('2024-01-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss')) + + , + aa3 AS + (SELECT DISTINCT * + FROM aa1 + UNION ALL (SELECT DISTINCT * + FROM aa2)) + + , + AA AS + (SELECT AA3.*, + nvl(zx.workerno, + et.telpartnercode) 坐席工号, + (CASE WHEN nvl(zx.workerno, + et.telpartnercode) = + 'DX001' AND aa3.经办 LIKE + '%建发凯迪%' THEN + '林伟华' WHEN nvl(zx.workerno, + et.telpartnercode) = + 'DX001' AND aa3.经办 NOT LIKE + '%建发凯迪%' THEN + '其他' ELSE to_char + (ys.坐席姓名) END) 坐席名称, + YS.团队 坐席团队 FROM AA3 LEFT JOIN idst0.auto_agreement_extend_t et ON et.policy_no = AA3.旧保单 LEFT JOIN idst0.t_sell_policy_autobase_t zx ON zx.policy_no = AA3.旧保单 LEFT JOIN dc_YZH_ZXYS YS ON YS.坐席工号 = nvl(zx.workerno, + et.telpartnercode)) + + , + yxb AS + ( + ---已续保 + SELECT aa.责任部门 部门, + aa.科室, + aa.经办, + aa.坐席团队, + aa.坐席名称, + aa.坐席工号, + --(case when a.标识='非首续'and A.责任部门='续保业务部' then '续保业务部' else A.部门 end) 部门, + (CASE + WHEN COUNT(1) IS NULL THEN + 0 + ELSE + COUNT(1) + END) 已续保累计 + FROM aa + WHERE aa.使用性质 IN ('家庭自用车', + '企业客车') + AND aa.高预赔 IS NULL + AND aa.管控类型 IS NULL + AND aa.保单类型 IN ( '交商共保', '单交强' ) + AND aa.到期时间 >= to_date(to_char(SYSDATE, + 'yyyy-mm') || '-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.到期时间 < to_date(to_char(SYSDATE - 1, + 'yyyy-mm-dd') || ' 23:59:59', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.新保单签发时间 <= to_date(to_char(SYSDATE - 1, + 'yyyy-mm-dd') || ' 23:59:59', + 'yyyy-mm-dd hh24:mi:ss') + GROUP BY aa.责任部门, + aa.科室, + aa.经办, + aa.坐席团队, + aa.坐席名称, + aa.坐席工号) + --个车续保率=已续数-累计/到期数-累计 + , + dqs AS + ( + ---到期数 + SELECT aa.责任部门 部门, + aa.科室, + aa.经办, + aa.坐席团队, + aa.坐席名称, + aa.坐席工号, + (CASE + WHEN COUNT(1) IS NULL THEN + 0 + ELSE + COUNT(1) + END) 到期数 + FROM aa + WHERE aa.使用性质 IN ('家庭自用车', + '企业客车') + AND aa.高预赔 IS NULL + AND aa.管控类型 IS NULL + AND aa.保单类型 IN ( '交商共保', '单交强' ) + AND aa.到期时间 >= to_date(to_char(SYSDATE, + 'yyyy-mm') || '-01 00:00:00', + 'yyyy-mm-dd hh24:mi:ss') + AND aa.到期时间 < to_date(to_char(SYSDATE - 1, + 'yyyy-mm-dd') || ' 23:59:59', + 'yyyy-mm-dd hh24:mi:ss') + GROUP BY aa.责任部门, + aa.科室, + aa.经办, + aa.坐席团队, + aa.坐席名称, + aa.坐席工号) + SELECT dqs.部门, + dqs.科室, + dqs.经办, + dqs.坐席团队, + dqs.坐席名称, + dqs.坐席工号, + yxb.已续保累计, + dqs.到期数 + FROM yxb, + dqs --,sdqs,syxs,cyxs,cdqs + WHERE dqs.部门 = yxb.部门 + AND dqs.经办 = yxb.经办 + AND dqs.科室 = yxb.科室 + AND dqs.坐席名称 = yxb.坐席名称 + AND dqs.坐席工号 = yxb.坐席工号; + COMMIT; + END; + + PROCEDURE chefei_daily_job IS + BEGIN + 车非基础数据(SYSDATE - 3, + SYSDATE); + END; + + PROCEDURE xubao_daily_job IS + BEGIN + 续保基本数据; + END; + +BEGIN + NULL; +END telsale_pkg; +/ diff --git a/code/web/task_schedule/package-lock.json b/code/web/task_schedule/package-lock.json index 68a398f..779ffd9 100644 --- a/code/web/task_schedule/package-lock.json +++ b/code/web/task_schedule/package-lock.json @@ -28,7 +28,7 @@ "eslint": "^8.40.0", "eslint-config-recommended": "^4.1.0", "eslint-config-standard-with-typescript": "^34.0.1", - "eslint-plugin-vue": "^9.11.1", + "eslint-plugin-vue": "^9.12.0", "sass": "^1.62.1", "typescript": "^5.0.4", "vite": "^4.3.5", @@ -6289,9 +6289,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.11.1", - "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.11.1.tgz", - "integrity": "sha512-SNtBGDrRkPUFsREswPceqdvZ7YVdWY+iCYiDC+RoxwVieeQ7GJU1FLDlkcaYTOD2os/YuVgI1Fdu8YGM7fmoow==", + "version": "9.12.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.12.0.tgz", + "integrity": "sha512-xH8PgpDW2WwmFSmRfs/3iWogef1CJzQqX264I65zz77jDuxF2yLy7+GA2diUM8ZNATuSl1+UehMQkb5YEyau5w==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.3.0", diff --git a/code/web/task_schedule/package.json b/code/web/task_schedule/package.json index 8e0e83f..d790b9e 100644 --- a/code/web/task_schedule/package.json +++ b/code/web/task_schedule/package.json @@ -29,7 +29,7 @@ "eslint": "^8.40.0", "eslint-config-recommended": "^4.1.0", "eslint-config-standard-with-typescript": "^34.0.1", - "eslint-plugin-vue": "^9.11.1", + "eslint-plugin-vue": "^9.12.0", "sass": "^1.62.1", "typescript": "^5.0.4", "vite": "^4.3.5",