续保率报表格式修改,还未完成。
This commit is contained in:
		@@ -112,7 +112,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_DEV_PKG IS
 | 
				
			|||||||
                         2)
 | 
					                         2)
 | 
				
			||||||
              INTO A_RENEWAL_RATE,
 | 
					              INTO A_RENEWAL_RATE,
 | 
				
			||||||
                   A_RENEWAL_RATE_TARGET
 | 
					                   A_RENEWAL_RATE_TARGET
 | 
				
			||||||
              FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD> T
 | 
					              FROM "BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>-24<32><34>" T
 | 
				
			||||||
             WHERE T.<2E><><EFBFBD>β<EFBFBD><CEB2><EFBFBD> = L_DEPARTMENT_NAME;
 | 
					             WHERE T.<2E><><EFBFBD>β<EFBFBD><CEB2><EFBFBD> = L_DEPARTMENT_NAME;
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
            --<2D><><EFBFBD><EFBFBD>round<6E><64><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ȱ0<C8B1><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					            --<2D><><EFBFBD><EFBFBD>round<6E><64><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ȱ0<C8B1><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
@@ -229,7 +229,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_DEV_PKG IS
 | 
				
			|||||||
                         2)
 | 
					                         2)
 | 
				
			||||||
              INTO L_ROWNUM,
 | 
					              INTO L_ROWNUM,
 | 
				
			||||||
                   A_RENEWAL_RATE
 | 
					                   A_RENEWAL_RATE
 | 
				
			||||||
              FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> T
 | 
					              FROM "BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>-24<32><34>" T
 | 
				
			||||||
             WHERE T.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = L_CALLER_NAME
 | 
					             WHERE T.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = L_CALLER_NAME
 | 
				
			||||||
               AND ROWNUM = 1;
 | 
					               AND ROWNUM = 1;
 | 
				
			||||||
        EXCEPTION
 | 
					        EXCEPTION
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,7 +86,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
 | 
				
			|||||||
                         2)
 | 
					                         2)
 | 
				
			||||||
              INTO A_ATTACHING_RATE,
 | 
					              INTO A_ATTACHING_RATE,
 | 
				
			||||||
                   A_ATTACHING_RATE_TARGET
 | 
					                   A_ATTACHING_RATE_TARGET
 | 
				
			||||||
              FROM DESKTOP_ARCHIEVEMENT_ADMIN.BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD> DEPT
 | 
					              FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> DEPT
 | 
				
			||||||
             WHERE DEPT.<2E><><EFBFBD><EFBFBD> = L_DEPARTMENT_NAME;
 | 
					             WHERE DEPT.<2E><><EFBFBD><EFBFBD> = L_DEPARTMENT_NAME;
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
            --<2D><><EFBFBD><EFBFBD>round<6E><64><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ȱ0<C8B1><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					            --<2D><><EFBFBD><EFBFBD>round<6E><64><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ȱ0<C8B1><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
@@ -112,7 +112,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
 | 
				
			|||||||
                         2)
 | 
					                         2)
 | 
				
			||||||
              INTO A_RENEWAL_RATE,
 | 
					              INTO A_RENEWAL_RATE,
 | 
				
			||||||
                   A_RENEWAL_RATE_TARGET
 | 
					                   A_RENEWAL_RATE_TARGET
 | 
				
			||||||
              FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD> T
 | 
					              FROM "BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>-24<32><34>" T
 | 
				
			||||||
             WHERE T.<2E><><EFBFBD>β<EFBFBD><CEB2><EFBFBD> = L_DEPARTMENT_NAME;
 | 
					             WHERE T.<2E><><EFBFBD>β<EFBFBD><CEB2><EFBFBD> = L_DEPARTMENT_NAME;
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
            --<2D><><EFBFBD><EFBFBD>round<6E><64><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ȱ0<C8B1><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					            --<2D><><EFBFBD><EFBFBD>round<6E><64><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ȱ0<C8B1><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
@@ -229,7 +229,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
 | 
				
			|||||||
                         2)
 | 
					                         2)
 | 
				
			||||||
              INTO L_ROWNUM,
 | 
					              INTO L_ROWNUM,
 | 
				
			||||||
                   A_RENEWAL_RATE
 | 
					                   A_RENEWAL_RATE
 | 
				
			||||||
              FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> T
 | 
					              FROM "BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>-24<32><34>" T
 | 
				
			||||||
             WHERE T.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = L_CALLER_NAME
 | 
					             WHERE T.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = L_CALLER_NAME
 | 
				
			||||||
               AND ROWNUM = 1;
 | 
					               AND ROWNUM = 1;
 | 
				
			||||||
        EXCEPTION
 | 
					        EXCEPTION
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
CREATE OR REPLACE PACKAGE telsale_bi_utils IS
 | 
					CREATE OR REPLACE PACKAGE TELSALE_BI_UTILS IS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    -- Author  : WANGWEI-202
 | 
					    -- Author  : WANGWEI-202
 | 
				
			||||||
    -- Created : 2023/10/12 15:31:13
 | 
					    -- Created : 2023/10/12 15:31:13
 | 
				
			||||||
@@ -12,9 +12,9 @@ CREATE OR REPLACE PACKAGE telsale_bi_utils IS
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>;
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END telsale_bi_utils;
 | 
					END TELSALE_BI_UTILS;
 | 
				
			||||||
/
 | 
					/
 | 
				
			||||||
CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS
 | 
					CREATE OR REPLACE PACKAGE BODY TELSALE_BI_UTILS IS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
    BEGIN
 | 
					    BEGIN
 | 
				
			||||||
@@ -24,6 +24,7 @@ CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS
 | 
				
			|||||||
    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
    BEGIN
 | 
					    BEGIN
 | 
				
			||||||
        EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
					        EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
				
			||||||
 | 
					        --EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>-24<32><34>';
 | 
				
			||||||
    END;
 | 
					    END;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
@@ -34,10 +35,11 @@ CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS
 | 
				
			|||||||
    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
    BEGIN
 | 
					    BEGIN
 | 
				
			||||||
        EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
					        EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
				
			||||||
 | 
					        --EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>-24<32><34>';
 | 
				
			||||||
    END;
 | 
					    END;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
    -- Initialization
 | 
					    -- Initialization
 | 
				
			||||||
    NULL;
 | 
					    NULL;
 | 
				
			||||||
END telsale_bi_utils;
 | 
					END TELSALE_BI_UTILS;
 | 
				
			||||||
/
 | 
					/
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								code/db/pkg/telsale_bi_utils_dev.pck
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								code/db/pkg/telsale_bi_utils_dev.pck
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					CREATE OR REPLACE PACKAGE TELSALE_BI_UTILS_DEV IS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- Author  : WANGWEI-202
 | 
				
			||||||
 | 
					    -- Created : 2023/10/12 15:31:13
 | 
				
			||||||
 | 
					    -- Purpose : bi<62><69><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĹ<D8B5><C4B9><EFBFBD>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					END TELSALE_BI_UTILS_DEV;
 | 
				
			||||||
 | 
					/
 | 
				
			||||||
 | 
					CREATE OR REPLACE PACKAGE BODY TELSALE_BI_UTILS_DEV IS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
 | 
					    BEGIN
 | 
				
			||||||
 | 
					        EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
				
			||||||
 | 
					    END;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
 | 
					    BEGIN
 | 
				
			||||||
 | 
					        --EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
				
			||||||
 | 
					        EXECUTE IMMEDIATE 'truncate table "BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>-24<32><34>"';
 | 
				
			||||||
 | 
					    END;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
 | 
					    BEGIN
 | 
				
			||||||
 | 
					        EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
				
			||||||
 | 
					    END;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PROCEDURE <20><><EFBFBD><EFBFBD>BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> IS
 | 
				
			||||||
 | 
					    BEGIN
 | 
				
			||||||
 | 
					        --EXECUTE IMMEDIATE 'truncate table BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>';
 | 
				
			||||||
 | 
					        EXECUTE IMMEDIATE 'truncate table "BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD>-24<32><34>"';
 | 
				
			||||||
 | 
					    END;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					    -- Initialization
 | 
				
			||||||
 | 
					    NULL;
 | 
				
			||||||
 | 
					END TELSALE_BI_UTILS_DEV;
 | 
				
			||||||
 | 
					/
 | 
				
			||||||
@@ -1,30 +1,30 @@
 | 
				
			|||||||
SELECT *
 | 
					SELECT *
 | 
				
			||||||
  FROM reward_gainers
 | 
					  FROM REWARD_GAINERS
 | 
				
			||||||
   FOR UPDATE;
 | 
					   FOR UPDATE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT b.reward_name,
 | 
					SELECT B.REWARD_NAME,
 | 
				
			||||||
       a.*
 | 
					       A.*
 | 
				
			||||||
  FROM reward_gainers  a,
 | 
					  FROM REWARD_GAINERS  A,
 | 
				
			||||||
       reward_projects b
 | 
					       REWARD_PROJECTS B
 | 
				
			||||||
 WHERE a.reward_index = b.reward_index;
 | 
					 WHERE A.REWARD_INDEX = B.REWARD_INDEX;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--<EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					--<EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
SELECT DISTINCT s.saler_code,
 | 
					SELECT DISTINCT S.SALER_CODE,
 | 
				
			||||||
                s.saler_name,
 | 
					                S.SALER_NAME,
 | 
				
			||||||
                t.team_code,
 | 
					                T.TEAM_CODE,
 | 
				
			||||||
                t.team,
 | 
					                T.TEAM,
 | 
				
			||||||
                bm.department_code,
 | 
					                BM.DEPARTMENT_CODE,
 | 
				
			||||||
                bm.department_name
 | 
					                BM.DEPARTMENT_NAME
 | 
				
			||||||
  FROM tele_saler      s,
 | 
					  FROM TELE_SALER      S,
 | 
				
			||||||
       tele_saler_team t,
 | 
					       TELE_SALER_TEAM T,
 | 
				
			||||||
       idst0.bm_t      bm
 | 
					       IDST0.BM_T      BM
 | 
				
			||||||
 WHERE s.team_code = t.team_code
 | 
					 WHERE S.TEAM_CODE = T.TEAM_CODE
 | 
				
			||||||
   AND t.department_code = bm.department_code
 | 
					   AND T.DEPARTMENT_CODE = BM.DEPARTMENT_CODE
 | 
				
			||||||
   AND s.saler_code = '61136';
 | 
					   AND S.SALER_CODE = '61136';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT *
 | 
					SELECT *
 | 
				
			||||||
  FROM tele_saler_team t
 | 
					  FROM TELE_SALER_TEAM T
 | 
				
			||||||
 WHERE t.team_code = '107077'
 | 
					 WHERE T.TEAM_CODE = '107077'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SELECT *
 | 
					    SELECT *
 | 
				
			||||||
            FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
 | 
					            FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
@@ -35,7 +35,7 @@ SELECT *
 | 
				
			|||||||
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
					SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
				
			||||||
       SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
					       SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
				
			||||||
       SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>,
 | 
					       SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>,
 | 
				
			||||||
       round((SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)) * 100,
 | 
					       ROUND((SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)) * 100,
 | 
				
			||||||
             0) || '%' <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					             0) || '%' <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>
 | 
					  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>
 | 
				
			||||||
 GROUP BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
 | 
					 GROUP BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
 | 
				
			||||||
@@ -46,7 +46,7 @@ SELECT 
 | 
				
			|||||||
       <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
					       <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
				
			||||||
       SUM(<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>˿ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),
 | 
					       SUM(<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>˿ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),
 | 
				
			||||||
       SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںϱ<EFBFBD><EFBFBD><EFBFBD>),
 | 
					       SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںϱ<EFBFBD><EFBFBD><EFBFBD>),
 | 
				
			||||||
       round(SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںϱ<EFBFBD><EFBFBD><EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>˿ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
 | 
					       ROUND(SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںϱ<EFBFBD><EFBFBD><EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>˿ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
 | 
				
			||||||
             2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					             2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
 | 
					  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 GROUP BY <EFBFBD>·<EFBFBD>,
 | 
					 GROUP BY <EFBFBD>·<EFBFBD>,
 | 
				
			||||||
@@ -57,7 +57,7 @@ HAVING 
 | 
				
			|||||||
          <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DESC;
 | 
					          <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DESC;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
					SELECT <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
				
			||||||
       round(SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںϱ<EFBFBD><EFBFBD><EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>˿ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
 | 
					       ROUND(SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںϱ<EFBFBD><EFBFBD><EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>˿ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
 | 
				
			||||||
             2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					             2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
 | 
					  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 WHERE <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD> = 'QDI'
 | 
					 WHERE <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD> = 'QDI'
 | 
				
			||||||
@@ -68,37 +68,37 @@ SELECT 
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
SELECT <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
					SELECT <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
 | 
				
			||||||
       round(nvl(SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
 | 
					       ROUND(NVL(SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) / SUM(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
 | 
				
			||||||
                 0),
 | 
					                 0),
 | 
				
			||||||
             2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					             2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD> xb
 | 
					  FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD> XB
 | 
				
			||||||
 WHERE xb.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
 | 
					 WHERE XB.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
 | 
				
			||||||
 GROUP BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					 GROUP BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 ORDER BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DESC;
 | 
					 ORDER BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DESC;
 | 
				
			||||||
-------------------------------------
 | 
					-------------------------------------
 | 
				
			||||||
SELECT zx.saler_name,
 | 
					SELECT ZX.SALER_NAME,
 | 
				
			||||||
       bm.department_name
 | 
					       BM.DEPARTMENT_NAME
 | 
				
			||||||
  FROM tele_saler      zx,
 | 
					  FROM TELE_SALER      ZX,
 | 
				
			||||||
       tele_saler_team team,
 | 
					       TELE_SALER_TEAM TEAM,
 | 
				
			||||||
       idst0.bm_t      bm
 | 
					       IDST0.BM_T      BM
 | 
				
			||||||
 WHERE zx.saler_name = '<EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD>'
 | 
					 WHERE ZX.SALER_NAME = '<EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD>'
 | 
				
			||||||
   AND zx.team_code = team.team_code
 | 
					   AND ZX.TEAM_CODE = TEAM.TEAM_CODE
 | 
				
			||||||
   AND team.department_code = bm.department_code;
 | 
					   AND TEAM.DEPARTMENT_CODE = BM.DEPARTMENT_CODE;
 | 
				
			||||||
----------------------------------------
 | 
					----------------------------------------
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
truncate table BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
 | 
					truncate table BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT *
 | 
					SELECT *
 | 
				
			||||||
  FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD> t
 | 
					  FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD> T
 | 
				
			||||||
 WHERE t.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
 | 
					 WHERE T.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT *
 | 
					SELECT *
 | 
				
			||||||
  FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>
 | 
					  FROM "BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>-24<32><34>"
 | 
				
			||||||
 WHERE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
 | 
					 WHERE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT *
 | 
					SELECT *
 | 
				
			||||||
  FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
 | 
					  FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SELECT *
 | 
					SELECT *
 | 
				
			||||||
  FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
 | 
					  FROM "BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>-24<32><34>";
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										122
									
								
								code/web/task_schedule/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										122
									
								
								code/web/task_schedule/package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -14,7 +14,7 @@
 | 
				
			|||||||
        "mitt": "^3.0.1",
 | 
					        "mitt": "^3.0.1",
 | 
				
			||||||
        "moment": "^2.30.1",
 | 
					        "moment": "^2.30.1",
 | 
				
			||||||
        "sass-loader": "^13.3.3",
 | 
					        "sass-loader": "^13.3.3",
 | 
				
			||||||
        "vue": "^3.4.6",
 | 
					        "vue": "^3.4.7",
 | 
				
			||||||
        "vue-router": "^4.2.5",
 | 
					        "vue-router": "^4.2.5",
 | 
				
			||||||
        "vuex": "^4.1.0"
 | 
					        "vuex": "^4.1.0"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
@@ -22,7 +22,7 @@
 | 
				
			|||||||
        "@babel/eslint-parser": "^7.23.3",
 | 
					        "@babel/eslint-parser": "^7.23.3",
 | 
				
			||||||
        "@rushstack/eslint-patch": "^1.6.1",
 | 
					        "@rushstack/eslint-patch": "^1.6.1",
 | 
				
			||||||
        "@typescript-eslint/eslint-plugin": "^6.18.1",
 | 
					        "@typescript-eslint/eslint-plugin": "^6.18.1",
 | 
				
			||||||
        "@vitejs/plugin-vue": "^5.0.2",
 | 
					        "@vitejs/plugin-vue": "^5.0.3",
 | 
				
			||||||
        "@vue/cli-plugin-eslint": "^5.0.8",
 | 
					        "@vue/cli-plugin-eslint": "^5.0.8",
 | 
				
			||||||
        "@vue/eslint-config-typescript": "^12.0.0",
 | 
					        "@vue/eslint-config-typescript": "^12.0.0",
 | 
				
			||||||
        "axios": "^1.6.5",
 | 
					        "axios": "^1.6.5",
 | 
				
			||||||
@@ -32,7 +32,7 @@
 | 
				
			|||||||
        "eslint-plugin-vue": "^9.19.2",
 | 
					        "eslint-plugin-vue": "^9.19.2",
 | 
				
			||||||
        "node-sass": "^9.0.0",
 | 
					        "node-sass": "^9.0.0",
 | 
				
			||||||
        "sass": "^1.69.7",
 | 
					        "sass": "^1.69.7",
 | 
				
			||||||
        "style-loader": "^3.3.3",
 | 
					        "style-loader": "^3.3.4",
 | 
				
			||||||
        "ts-node": "^10.9.2",
 | 
					        "ts-node": "^10.9.2",
 | 
				
			||||||
        "vue-eslint-parser": "^9.4.0"
 | 
					        "vue-eslint-parser": "^9.4.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -2284,9 +2284,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vitejs/plugin-vue": {
 | 
					    "node_modules/@vitejs/plugin-vue": {
 | 
				
			||||||
      "version": "5.0.2",
 | 
					      "version": "5.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.2.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-kEjJHrLb5ePBvjD0SPZwJlw1QTRcjjCA9sB5VyfonoXVBxTS7TMnqL6EkLt1Eu61RDeiuZ/WN9Hf6PxXhPI2uA==",
 | 
					      "integrity": "sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
        "node": "^18.0.0 || >=20.0.0"
 | 
					        "node": "^18.0.0 || >=20.0.0"
 | 
				
			||||||
@@ -2561,12 +2561,12 @@
 | 
				
			|||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/compiler-core": {
 | 
					    "node_modules/@vue/compiler-core": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-9SmkpHsXqhHGMIOp4cawUqp0AxLN2fJJfxh3sR2RaouVx/Y/ww5ts3dfpD9SCvD0n8cdO/Xw+kWEpa6EkH/vTQ==",
 | 
					      "integrity": "sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@babel/parser": "^7.23.6",
 | 
					        "@babel/parser": "^7.23.6",
 | 
				
			||||||
        "@vue/shared": "3.4.6",
 | 
					        "@vue/shared": "3.4.7",
 | 
				
			||||||
        "entities": "^4.5.0",
 | 
					        "entities": "^4.5.0",
 | 
				
			||||||
        "estree-walker": "^2.0.2",
 | 
					        "estree-walker": "^2.0.2",
 | 
				
			||||||
        "source-map-js": "^1.0.2"
 | 
					        "source-map-js": "^1.0.2"
 | 
				
			||||||
@@ -2581,24 +2581,24 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/compiler-dom": {
 | 
					    "node_modules/@vue/compiler-dom": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-i39ZuyHPzPb0v5yXZbvODGwLr+T7lS1rYSjMd1oCTa14aDP80kYpWXrWPF1JVD4QJJNyLgFnJ2hxvFLM7dy9NQ==",
 | 
					      "integrity": "sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/compiler-core": "3.4.6",
 | 
					        "@vue/compiler-core": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6"
 | 
					        "@vue/shared": "3.4.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/compiler-sfc": {
 | 
					    "node_modules/@vue/compiler-sfc": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-kTFOiyMtuetFqi5yEPA4hR6FTD36zKKY3qaBonxGb4pgj0yK1eACqH+iycTAsEqr2u4cOhcGkx3Yjecpgh6FTQ==",
 | 
					      "integrity": "sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@babel/parser": "^7.23.6",
 | 
					        "@babel/parser": "^7.23.6",
 | 
				
			||||||
        "@vue/compiler-core": "3.4.6",
 | 
					        "@vue/compiler-core": "3.4.7",
 | 
				
			||||||
        "@vue/compiler-dom": "3.4.6",
 | 
					        "@vue/compiler-dom": "3.4.7",
 | 
				
			||||||
        "@vue/compiler-ssr": "3.4.6",
 | 
					        "@vue/compiler-ssr": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6",
 | 
					        "@vue/shared": "3.4.7",
 | 
				
			||||||
        "estree-walker": "^2.0.2",
 | 
					        "estree-walker": "^2.0.2",
 | 
				
			||||||
        "magic-string": "^0.30.5",
 | 
					        "magic-string": "^0.30.5",
 | 
				
			||||||
        "postcss": "^8.4.32",
 | 
					        "postcss": "^8.4.32",
 | 
				
			||||||
@@ -2606,12 +2606,12 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/compiler-ssr": {
 | 
					    "node_modules/@vue/compiler-ssr": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-XqeojjDitjMLyOogDePNSxw9XL4FAXchO9oOfqdzLVEtYES5j+AEilPJyP0KhQPfGecY2mJ3Y7/e6kkiJQLKvg==",
 | 
					      "integrity": "sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/compiler-dom": "3.4.6",
 | 
					        "@vue/compiler-dom": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6"
 | 
					        "@vue/shared": "3.4.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/component-compiler-utils": {
 | 
					    "node_modules/@vue/component-compiler-utils": {
 | 
				
			||||||
@@ -2710,48 +2710,48 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/reactivity": {
 | 
					    "node_modules/@vue/reactivity": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-/VuOxdWDyAeKFHjOuSKEtH9jEVPRgsXxu84utBP1SiXFcFRx2prwiC9cSR8hKOfj5nBwhLXYb6XEU69mLpuk0w==",
 | 
					      "integrity": "sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/shared": "3.4.6"
 | 
					        "@vue/shared": "3.4.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/runtime-core": {
 | 
					    "node_modules/@vue/runtime-core": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-XDOx8iiNmP66p+goUHT5XL1AnV8406VVFQARbylqmSCBZEtxchfu2ZoQk7U07ze8G/E0/BtX/C5o29zB1W4o5A==",
 | 
					      "integrity": "sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/reactivity": "3.4.6",
 | 
					        "@vue/reactivity": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6"
 | 
					        "@vue/shared": "3.4.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/runtime-dom": {
 | 
					    "node_modules/@vue/runtime-dom": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-8bdQR5CLfzClGvAOfbbCF8adE9oko0pRfe+dj297i0JCdCJ8AuyUMsXkt6vGPcRPqIKX4Z8f/bDPrwl+c7e4Wg==",
 | 
					      "integrity": "sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/runtime-core": "3.4.6",
 | 
					        "@vue/runtime-core": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6",
 | 
					        "@vue/shared": "3.4.7",
 | 
				
			||||||
        "csstype": "^3.1.3"
 | 
					        "csstype": "^3.1.3"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/server-renderer": {
 | 
					    "node_modules/@vue/server-renderer": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-0LS+GXf3M93KloaK/S0ZPq5PnKERgPAV5iNCCpjyBLhAQGGEeqfJojs3yXOAMQLSvXi9FLYDHzDEOLWoLaYbTQ==",
 | 
					      "integrity": "sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/compiler-ssr": "3.4.6",
 | 
					        "@vue/compiler-ssr": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6"
 | 
					        "@vue/shared": "3.4.7"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "peerDependencies": {
 | 
					      "peerDependencies": {
 | 
				
			||||||
        "vue": "3.4.6"
 | 
					        "vue": "3.4.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/shared": {
 | 
					    "node_modules/@vue/shared": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-O16vewA05D0IwfG2N/OFEuVeb17pieaI32mmYXp36V8lp+/pI1YV04rRL9Eyjndj3xQO5SNjAxTh6ul4IlBa3A=="
 | 
					      "integrity": "sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@vue/vue-loader-v15": {
 | 
					    "node_modules/@vue/vue-loader-v15": {
 | 
				
			||||||
      "name": "vue-loader",
 | 
					      "name": "vue-loader",
 | 
				
			||||||
@@ -13889,9 +13889,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/style-loader": {
 | 
					    "node_modules/style-loader": {
 | 
				
			||||||
      "version": "3.3.3",
 | 
					      "version": "3.3.4",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.3.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==",
 | 
					      "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
        "node": ">= 12.13.0"
 | 
					        "node": ">= 12.13.0"
 | 
				
			||||||
@@ -14665,15 +14665,15 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/vue": {
 | 
					    "node_modules/vue": {
 | 
				
			||||||
      "version": "3.4.6",
 | 
					      "version": "3.4.7",
 | 
				
			||||||
      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.6.tgz",
 | 
					      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-gAzw5oP0/h34/yq1LjLNpn4wrCKYMuWp2jbs/JirFiZAFWYhd9jTkXp4wIi5ApgMJrMgD6YFyyXwKsqFYR31IQ==",
 | 
					      "integrity": "sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@vue/compiler-dom": "3.4.6",
 | 
					        "@vue/compiler-dom": "3.4.7",
 | 
				
			||||||
        "@vue/compiler-sfc": "3.4.6",
 | 
					        "@vue/compiler-sfc": "3.4.7",
 | 
				
			||||||
        "@vue/runtime-dom": "3.4.6",
 | 
					        "@vue/runtime-dom": "3.4.7",
 | 
				
			||||||
        "@vue/server-renderer": "3.4.6",
 | 
					        "@vue/server-renderer": "3.4.7",
 | 
				
			||||||
        "@vue/shared": "3.4.6"
 | 
					        "@vue/shared": "3.4.7"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "peerDependencies": {
 | 
					      "peerDependencies": {
 | 
				
			||||||
        "typescript": "*"
 | 
					        "typescript": "*"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
    "mitt": "^3.0.1",
 | 
					    "mitt": "^3.0.1",
 | 
				
			||||||
    "moment": "^2.30.1",
 | 
					    "moment": "^2.30.1",
 | 
				
			||||||
    "sass-loader": "^13.3.3",
 | 
					    "sass-loader": "^13.3.3",
 | 
				
			||||||
    "vue": "^3.4.6",
 | 
					    "vue": "^3.4.7",
 | 
				
			||||||
    "vue-router": "^4.2.5",
 | 
					    "vue-router": "^4.2.5",
 | 
				
			||||||
    "vuex": "^4.1.0"
 | 
					    "vuex": "^4.1.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
@@ -23,7 +23,7 @@
 | 
				
			|||||||
    "@babel/eslint-parser": "^7.23.3",
 | 
					    "@babel/eslint-parser": "^7.23.3",
 | 
				
			||||||
    "@rushstack/eslint-patch": "^1.6.1",
 | 
					    "@rushstack/eslint-patch": "^1.6.1",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "^6.18.1",
 | 
					    "@typescript-eslint/eslint-plugin": "^6.18.1",
 | 
				
			||||||
    "@vitejs/plugin-vue": "^5.0.2",
 | 
					    "@vitejs/plugin-vue": "^5.0.3",
 | 
				
			||||||
    "@vue/cli-plugin-eslint": "^5.0.8",
 | 
					    "@vue/cli-plugin-eslint": "^5.0.8",
 | 
				
			||||||
    "@vue/eslint-config-typescript": "^12.0.0",
 | 
					    "@vue/eslint-config-typescript": "^12.0.0",
 | 
				
			||||||
    "axios": "^1.6.5",
 | 
					    "axios": "^1.6.5",
 | 
				
			||||||
@@ -33,7 +33,7 @@
 | 
				
			|||||||
    "eslint-plugin-vue": "^9.19.2",
 | 
					    "eslint-plugin-vue": "^9.19.2",
 | 
				
			||||||
    "node-sass": "^9.0.0",
 | 
					    "node-sass": "^9.0.0",
 | 
				
			||||||
    "sass": "^1.69.7",
 | 
					    "sass": "^1.69.7",
 | 
				
			||||||
    "style-loader": "^3.3.3",
 | 
					    "style-loader": "^3.3.4",
 | 
				
			||||||
    "ts-node": "^10.9.2",
 | 
					    "ts-node": "^10.9.2",
 | 
				
			||||||
    "vue-eslint-parser": "^9.4.0"
 | 
					    "vue-eslint-parser": "^9.4.0"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,14 +19,14 @@ public class BIDepartmentRenewalRateRecord
 | 
				
			|||||||
    private double 个车续保率全月;
 | 
					    private double 个车续保率全月;
 | 
				
			||||||
    private double 环比昨日;
 | 
					    private double 环比昨日;
 | 
				
			||||||
    private double 环比上月;
 | 
					    private double 环比上月;
 | 
				
			||||||
    private int 平均提前签单天数;
 | 
					    // private int 平均提前签单天数;
 | 
				
			||||||
    private double 环比;
 | 
					    // private double 环比;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public BIDepartmentRenewalRateRecord()
 | 
					    public BIDepartmentRenewalRateRecord()
 | 
				
			||||||
    {}
 | 
					    {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比,
 | 
					    public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比,
 | 
				
			||||||
            double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月, int 平均提前签单天数, double 环比 )
 | 
					            double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月 )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        this.责任部门 = 责任部门;
 | 
					        this.责任部门 = 责任部门;
 | 
				
			||||||
        this.机构目标值 = 机构目标值;
 | 
					        this.机构目标值 = 机构目标值;
 | 
				
			||||||
@@ -36,8 +36,8 @@ public class BIDepartmentRenewalRateRecord
 | 
				
			|||||||
        this.个车续保率全月 = 个车续保率全月;
 | 
					        this.个车续保率全月 = 个车续保率全月;
 | 
				
			||||||
        this.环比昨日 = 环比昨日;
 | 
					        this.环比昨日 = 环比昨日;
 | 
				
			||||||
        this.环比上月 = 环比上月;
 | 
					        this.环比上月 = 环比上月;
 | 
				
			||||||
        this.平均提前签单天数 = 平均提前签单天数;
 | 
					        // this.平均提前签单天数 = 平均提前签单天数;
 | 
				
			||||||
        this.环比 = 环比;
 | 
					        // this.环比 = 环比;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String get责任部门()
 | 
					    public String get责任部门()
 | 
				
			||||||
@@ -120,25 +120,6 @@ public class BIDepartmentRenewalRateRecord
 | 
				
			|||||||
        this.环比上月 = 环比上月;
 | 
					        this.环比上月 = 环比上月;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public int get平均提前签单天数()
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return 平均提前签单天数;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void set平均提前签单天数( int 平均提前签单天数 )
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        this.平均提前签单天数 = 平均提前签单天数;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public double get环比()
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return 环比;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void set环比( double 环比 )
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        this.环比 = 环比;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public int hashCode()
 | 
					    public int hashCode()
 | 
				
			||||||
@@ -160,9 +141,6 @@ public class BIDepartmentRenewalRateRecord
 | 
				
			|||||||
        result = prime * result + (int) (temp ^ (temp >>> 32));
 | 
					        result = prime * result + (int) (temp ^ (temp >>> 32));
 | 
				
			||||||
        temp = Double.doubleToLongBits( 环比上月 );
 | 
					        temp = Double.doubleToLongBits( 环比上月 );
 | 
				
			||||||
        result = prime * result + (int) (temp ^ (temp >>> 32));
 | 
					        result = prime * result + (int) (temp ^ (temp >>> 32));
 | 
				
			||||||
        result = prime * result + 平均提前签单天数;
 | 
					 | 
				
			||||||
        temp = Double.doubleToLongBits( 环比 );
 | 
					 | 
				
			||||||
        result = prime * result + (int) (temp ^ (temp >>> 32));
 | 
					 | 
				
			||||||
        return result;
 | 
					        return result;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -197,10 +175,6 @@ public class BIDepartmentRenewalRateRecord
 | 
				
			|||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        if ( Double.doubleToLongBits( 环比上月 ) != Double.doubleToLongBits( other.环比上月 ) )
 | 
					        if ( Double.doubleToLongBits( 环比上月 ) != Double.doubleToLongBits( other.环比上月 ) )
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        if ( 平均提前签单天数 != other.平均提前签单天数 )
 | 
					 | 
				
			||||||
            return false;
 | 
					 | 
				
			||||||
        if ( Double.doubleToLongBits( 环比 ) != Double.doubleToLongBits( other.环比 ) )
 | 
					 | 
				
			||||||
            return false;
 | 
					 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -209,7 +183,6 @@ public class BIDepartmentRenewalRateRecord
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return "BIDepartmentRenewalRateRecord [责任部门=" + 责任部门 + ", 机构目标值=" + 机构目标值 + ", 到期数全月="
 | 
					        return "BIDepartmentRenewalRateRecord [责任部门=" + 责任部门 + ", 机构目标值=" + 机构目标值 + ", 到期数全月="
 | 
				
			||||||
                + 到期数全月 + ", 序时到期数占比=" + 序时到期数占比 + ", 个车续保率序时=" + 个车续保率序时 + ", 个车续保率全月=" + 个车续保率全月
 | 
					                + 到期数全月 + ", 序时到期数占比=" + 序时到期数占比 + ", 个车续保率序时=" + 个车续保率序时 + ", 个车续保率全月=" + 个车续保率全月
 | 
				
			||||||
                + ", 环比昨日=" + 环比昨日 + ", 环比上月=" + 环比上月 + ", 平均提前签单天数=" + 平均提前签单天数 + ", 环比=" + 环比
 | 
					                + ", 环比昨日=" + 环比昨日 + ", 环比上月=" + 环比上月 + "]";
 | 
				
			||||||
                + "]";
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,18 +34,21 @@ public final class ImportBIExcelData
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    private static Logger logger = LoggerFactory.getLogger( ImportBIExcelData.class );
 | 
					    private static Logger logger = LoggerFactory.getLogger( ImportBIExcelData.class );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 坐席 渗透率
 | 
				
			||||||
    private static String[] TelsalerAttachingRateExcelTitle = new String[]
 | 
					    private static String[] TelsalerAttachingRateExcelTitle = new String[]
 | 
				
			||||||
    { "部门", "经办", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "当月客户渗透率", "客户渗透率环比上月",
 | 
					    { "部门", "经办", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "当月客户渗透率", "客户渗透率环比上月",
 | 
				
			||||||
            "当月车非客均保费", "客均保费环比上月"};
 | 
					            "当月车非客均保费", "客均保费环比上月"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 坐席 续保率
 | 
				
			||||||
    private static String[] TelSalerRenewalRateExcelTitle = new String[]
 | 
					    private static String[] TelSalerRenewalRateExcelTitle = new String[]
 | 
				
			||||||
    { "责任部门", "责任人", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
 | 
					    { "责任部门", "责任人", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
 | 
				
			||||||
            "环比上月(%)", "平均提前签单天数", "环比"};
 | 
					            "环比上月(%)", "序时-部门内", "全月-部门内"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 机构 渗透率
 | 
				
			||||||
    private static String[] DepartmentAttachingRateExcelTitle = new String[]
 | 
					    private static String[] DepartmentAttachingRateExcelTitle = new String[]
 | 
				
			||||||
    { "部门", "目标值-机构", "目标差距", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "车险客户数", "当月客户渗透率",
 | 
					    { "部门", "目标值-机构", "目标差距", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "车险客户数", "当月客户渗透率",
 | 
				
			||||||
            "客户渗透率环比上月", "当月车非客均保费", "客均保费环比上月"};
 | 
					            "客户渗透率环比上月", "当月车非客均保费", "客均保费环比上月"};
 | 
				
			||||||
 | 
					    // 机构 续保率
 | 
				
			||||||
    private static String[] DepartmentRenewalRateExcelTitle = new String[]
 | 
					    private static String[] DepartmentRenewalRateExcelTitle = new String[]
 | 
				
			||||||
    { "责任部门", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
 | 
					    { "责任部门", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
 | 
				
			||||||
            "环比上月(%)", "序时-部门内", "全月-部门内",};
 | 
					            "环比上月(%)", "序时-部门内", "全月-部门内",};
 | 
				
			||||||
@@ -499,11 +502,11 @@ public final class ImportBIExcelData
 | 
				
			|||||||
                    double 个车续保率全月 = MyPOIUtils.getNumbericCellValue( row, 5 ) * 100;
 | 
					                    double 个车续保率全月 = MyPOIUtils.getNumbericCellValue( row, 5 ) * 100;
 | 
				
			||||||
                    double 环比昨日 = MyPOIUtils.getNumbericCellValue( row, 6 ) * 100;
 | 
					                    double 环比昨日 = MyPOIUtils.getNumbericCellValue( row, 6 ) * 100;
 | 
				
			||||||
                    double 环比上月 = MyPOIUtils.getNumbericCellValue( row, 7 ) * 100;
 | 
					                    double 环比上月 = MyPOIUtils.getNumbericCellValue( row, 7 ) * 100;
 | 
				
			||||||
                    int 平均提前签单天数 = (int) MyPOIUtils.getNumbericCellValue( row, 8 );
 | 
					                    // int 平均提前签单天数 = (int) MyPOIUtils.getNumbericCellValue( row, 8 );
 | 
				
			||||||
                    double 环比 = MyPOIUtils.getNumbericCellValue( row, 9 ) * 100;
 | 
					                    // double 环比 = MyPOIUtils.getNumbericCellValue( row, 9 ) * 100;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    BIDepartmentRenewalRateRecord record = new BIDepartmentRenewalRateRecord( 责任部门,
 | 
					                    BIDepartmentRenewalRateRecord record = new BIDepartmentRenewalRateRecord( 责任部门,
 | 
				
			||||||
                            机构目标值, 到期数全月, 序时到期数占比, 个车续保率序时, 个车续保率全月, 环比昨日, 环比上月, 平均提前签单天数, 环比 );
 | 
					                            机构目标值, 到期数全月, 序时到期数占比, 个车续保率序时, 个车续保率全月, 环比昨日, 环比上月 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    records.add( record );
 | 
					                    records.add( record );
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,24 +29,23 @@
 | 
				
			|||||||
    </insert>
 | 
					    </insert>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <insert id="insertDepartmentRenewalRateDataToDB" parameterType="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord" >
 | 
					    <insert id="insertDepartmentRenewalRateDataToDB" parameterType="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord" >
 | 
				
			||||||
        insert into BI机构当月个车续保率跟踪表( "责任部门","机构目标值1(%)","到期数-全月" ,"序时到期数占比(%)","个车续保率(序时)(%)",
 | 
					        insert into "BI机构续保率跟踪表-24年"( "责任部门","机构目标值1(%)","到期数-全月" ,"序时到期数占比(%)","个车续保率(序时)(%)",
 | 
				
			||||||
        "个车续保率(全月)(%)","环比昨日(%)","环比上月(%)","平均提前签单天数","环比")
 | 
					        "个车续保率(全月)(%)","环比昨日(%)","环比上月(%)")
 | 
				
			||||||
        values (#{责任部门},#{机构目标值},#{到期数全月},#{序时到期数占比},
 | 
					        values (#{责任部门},#{机构目标值},#{到期数全月},#{序时到期数占比},
 | 
				
			||||||
        #{个车续保率序时},#{个车续保率全月},#{环比昨日},#{环比上月},
 | 
					        #{个车续保率序时},#{个车续保率全月},#{环比昨日},#{环比上月} )
 | 
				
			||||||
        #{平均提前签单天数},#{环比})
 | 
					 | 
				
			||||||
    </insert>
 | 
					    </insert>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <select id="cleanTelsalerAttachingRateData" statementType="CALLABLE">
 | 
					    <select id="cleanTelsalerAttachingRateData" statementType="CALLABLE">
 | 
				
			||||||
        call telsale_bi_utils.清理BI电销坐席车非渗透率跟踪表()
 | 
					        call TELSALE_BI_UTILS_dev.清理BI电销坐席车非渗透率跟踪表()
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
    <select id="cleanTelsalerRenewalRateData" statementType="CALLABLE">
 | 
					    <select id="cleanTelsalerRenewalRateData" statementType="CALLABLE">
 | 
				
			||||||
        call telsale_bi_utils.清理BI电销坐席续保率跟踪表()
 | 
					        call TELSALE_BI_UTILS_dev.清理BI电销坐席续保率跟踪表()
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
    <select id="cleanDepartmentAttachingRateData" statementType="CALLABLE">
 | 
					    <select id="cleanDepartmentAttachingRateData" statementType="CALLABLE">
 | 
				
			||||||
        call telsale_bi_utils.清理BI部门渗透率跟踪表()
 | 
					        call TELSALE_BI_UTILS_dev.清理BI部门渗透率跟踪表()
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <select id="cleanDepartmentRenewalRateData" statementType="CALLABLE">
 | 
					    <select id="cleanDepartmentRenewalRateData" statementType="CALLABLE">
 | 
				
			||||||
        call telsale_bi_utils.清理BI部门续保率跟踪表()
 | 
					        call TELSALE_BI_UTILS_dev.清理BI部门续保率跟踪表()
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
</mapper>
 | 
					</mapper>
 | 
				
			||||||
@@ -105,7 +105,7 @@
 | 
				
			|||||||
                t."环比上月(%)" as 环比上月,
 | 
					                t."环比上月(%)" as 环比上月,
 | 
				
			||||||
                t.平均提前签单天数,
 | 
					                t.平均提前签单天数,
 | 
				
			||||||
                t.环比
 | 
					                t.环比
 | 
				
			||||||
           from BI机构当月个车续保率跟踪表 t
 | 
					           from "BI机构续保率跟踪表-24年" t
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
    <resultMap id="BIDepartmentRenewalRate" type="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord">
 | 
					    <resultMap id="BIDepartmentRenewalRate" type="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord">
 | 
				
			||||||
        <result column="责任部门" property="责任部门" jdbcType="VARCHAR" javaType="String" />
 | 
					        <result column="责任部门" property="责任部门" jdbcType="VARCHAR" javaType="String" />
 | 
				
			||||||
@@ -116,7 +116,7 @@
 | 
				
			|||||||
        <result column="个车续保率全月" property="个车续保率全月" jdbcType="DOUBLE" javaType="double" />
 | 
					        <result column="个车续保率全月" property="个车续保率全月" jdbcType="DOUBLE" javaType="double" />
 | 
				
			||||||
        <result column="环比昨日" property="环比昨日" jdbcType="DOUBLE" javaType="double" />
 | 
					        <result column="环比昨日" property="环比昨日" jdbcType="DOUBLE" javaType="double" />
 | 
				
			||||||
        <result column="环比上月" property="环比上月" jdbcType="DOUBLE" javaType="double" />
 | 
					        <result column="环比上月" property="环比上月" jdbcType="DOUBLE" javaType="double" />
 | 
				
			||||||
        <result column="平均提前签单天数" property="平均提前签单天数" jdbcType="INTEGER" javaType="int" />
 | 
					        <!-- <result column="平均提前签单天数" property="平均提前签单天数" jdbcType="INTEGER" javaType="int" /> -->
 | 
				
			||||||
        <result column="环比" property="环比" jdbcType="DOUBLE" javaType="double" />
 | 
					        <!-- <result column="环比" property="环比" jdbcType="DOUBLE" javaType="double" /> -->
 | 
				
			||||||
    </resultMap>
 | 
					    </resultMap>
 | 
				
			||||||
</mapper>
 | 
					</mapper>
 | 
				
			||||||
@@ -18,6 +18,7 @@ import org.slf4j.Logger;
 | 
				
			|||||||
import org.slf4j.LoggerFactory;
 | 
					import org.slf4j.LoggerFactory;
 | 
				
			||||||
import com.cpic.xim.mybatis.mapper.ImportBIArchievementDataMapper;
 | 
					import com.cpic.xim.mybatis.mapper.ImportBIArchievementDataMapper;
 | 
				
			||||||
import com.cpic.xim.mybatis.pojo.BIDepartmentAttachingRateRecord;
 | 
					import com.cpic.xim.mybatis.pojo.BIDepartmentAttachingRateRecord;
 | 
				
			||||||
 | 
					import com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord;
 | 
				
			||||||
import com.cpic.xim.mybatis.pojo.BITelsalerRenewalRateRecord;
 | 
					import com.cpic.xim.mybatis.pojo.BITelsalerRenewalRateRecord;
 | 
				
			||||||
import com.cpic.xim.mybatis.utils.MybatisUtils;
 | 
					import com.cpic.xim.mybatis.utils.MybatisUtils;
 | 
				
			||||||
import com.cpic.xim.utils.data.ImportBIExcelData;
 | 
					import com.cpic.xim.utils.data.ImportBIExcelData;
 | 
				
			||||||
@@ -74,7 +75,7 @@ public class BatchInsertTest
 | 
				
			|||||||
    @Test
 | 
					    @Test
 | 
				
			||||||
    public void testBatchInsertBITeslsalerRenewalRate()
 | 
					    public void testBatchInsertBITeslsalerRenewalRate()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        String filePath = "D:/develop/cpicxim/deskop_task_schedule/数据/测试用/坐席-续保.xlsx";
 | 
					        String filePath = "D:\\develop\\cpicxim\\deskop_task_schedule\\数据\\测试用\\24年报表\\坐席-续保.xlsx";
 | 
				
			||||||
        ArrayList<BITelsalerRenewalRateRecord> records = null;
 | 
					        ArrayList<BITelsalerRenewalRateRecord> records = null;
 | 
				
			||||||
        SqlSession session = null;
 | 
					        SqlSession session = null;
 | 
				
			||||||
        ImportBIArchievementDataMapper mapper = null;
 | 
					        ImportBIArchievementDataMapper mapper = null;
 | 
				
			||||||
@@ -114,7 +115,7 @@ public class BatchInsertTest
 | 
				
			|||||||
    @Test
 | 
					    @Test
 | 
				
			||||||
    public void testBatchInsertBIDepartmentAttachingRateToDB()
 | 
					    public void testBatchInsertBIDepartmentAttachingRateToDB()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        String filePath = "D:/develop/cpicxim/deskop_task_schedule/数据/测试用/机构渗透.xlsx";
 | 
					        String filePath = "D:\\develop\\cpicxim\\deskop_task_schedule\\数据\\测试用\\24年报表\\机构-续保.xlsx";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ArrayList<BIDepartmentAttachingRateRecord> records = null;
 | 
					        ArrayList<BIDepartmentAttachingRateRecord> records = null;
 | 
				
			||||||
        SqlSession session = null;
 | 
					        SqlSession session = null;
 | 
				
			||||||
@@ -148,4 +149,42 @@ public class BatchInsertTest
 | 
				
			|||||||
            assert( false );
 | 
					            assert( false );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Test
 | 
				
			||||||
 | 
					    public void testBatchInsertBIDepartmentRenewalRateToDB()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        String filePath = "D:\\develop\\cpicxim\\deskop_task_schedule\\数据\\测试用\\24年报表\\机构-续保.xlsx";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ArrayList<BIDepartmentRenewalRateRecord> records = null;
 | 
				
			||||||
 | 
					        SqlSession session = null;
 | 
				
			||||||
 | 
					        ImportBIArchievementDataMapper mapper = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            records =
 | 
				
			||||||
 | 
					                    ImportBIExcelData.importBIDepartmentRenewalRateRecordsFromXlsx( filePath, 0, 1 );
 | 
				
			||||||
 | 
					            session = MybatisUtils.getSqlSessionBatch();
 | 
				
			||||||
 | 
					            mapper = session.getMapper( ImportBIArchievementDataMapper.class );
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            mapper.cleanDepartmentRenewalRateData();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for ( BIDepartmentRenewalRateRecord record : records )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                mapper.insertDepartmentRenewalRateDataToDB( record );
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            session.commit();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        catch ( Exception error )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if ( session != null )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                session.rollback();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            logger.error("错误", error);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            assert( false );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								数据/测试用/24年报表/坐席-续保.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								数据/测试用/24年报表/坐席-续保.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								数据/测试用/24年报表/机构-续保.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								数据/测试用/24年报表/机构-续保.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user