Просмотр исходного кода

考勤-调整考勤统计计算

zhonghuizhen 11 месяцев назад
Родитель
Сommit
d4bceedd1e

+ 6 - 6
src/views/business/attendance/attendanceDetails.vue

@@ -63,8 +63,8 @@
                     <el-table-column key="da_ka_shi_jian_1_" prop="da_ka_shi_jian_1_" label="打卡时间" width="140" />
                     <el-table-column key="zhuang_tai_1_" prop="zhuang_tai_1_" label="打卡状态" width="80">
                         <template #default="{ row }">
-                            <span :style="{ color: row.zhuang_tai_2_=='异常' ? 'red' : 'inherit' }">
-                                {{ row.zhuang_tai_2_ }}
+                            <span :style="{ color: row.zhuang_tai_1_=='异常' ? 'red' : (!row.da_ka_shi_jian_1_ ? 'red' :'inherit') }">
+                                {{ !row.da_ka_shi_jian_1_ ? '缺勤' : (row.zhuang_tai_1_ === '异常' ? '迟到' : row.zhuang_tai_1_) }}
                             </span>
                         </template>
                     </el-table-column>
@@ -74,8 +74,8 @@
                     <el-table-column key="da_ka_shi_jian_2_" prop="da_ka_shi_jian_2_" label="打卡时间" width="140" />
                     <el-table-column key="zhuang_tai_2_" prop="zhuang_tai_2_" label="打卡状态" width="80">
                         <template #default="{ row }">
-                            <span :style="{ color: row.zhuang_tai_2_=='异常' ? 'red' : 'inherit' }">
-                                {{ row.zhuang_tai_2_ }}
+                            <span :style="{ color: row.zhuang_tai_2_=='异常' ? 'red' : (!row.da_ka_shi_jian_2_ ? 'red' :'inherit') }">
+                                {{ !row.da_ka_shi_jian_2_ ? '缺勤' : (row.zhuang_tai_2_ === '异常' ? '迟到' : row.zhuang_tai_2_) }}
                             </span>
                         </template>
                     </el-table-column>
@@ -109,7 +109,7 @@ export default {
         return {
             userOption,
             deptOption,
-            title: '考勤明细统计',
+            title: '考勤明细',
             pkKey: 'id_', // 主键对应数据库字段
             loading: true,
             height: document.clientHeight,
@@ -189,7 +189,7 @@ export default {
             const { first, second } = this.$store.getters.level || {}
             const searchParam = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
             searchParam['Q^di_dian_^S'] = second || first
-            searchParam['Q^ri_qi_^DGT'] = this.$common.getDateNow()
+            searchParam['Q^ri_qi_^DG'] = this.$common.getDateNow()
             return ActionUtils.formatParams(searchParam, this.pagination, this.sorts)
         },
         getSearchSql () {

+ 5 - 4
src/views/business/attendance/attendanceOverview.vue

@@ -101,8 +101,10 @@ export default {
             daterRange: [],
             pickerOptions: {
                 disabledDate (time) {
-                    // 禁用今天及以后的日期(time 是当前遍历的日期)
-                    return time.getTime() >= Date.now()
+                    const today = new Date()
+                    today.setHours(0, 0, 0, 0)
+                    // 禁用今天及未来的日期
+                    return time.getTime() >= today.getTime()
                 }
             },
             listConfig: {
@@ -215,8 +217,7 @@ export default {
                                 gong_hao_,
                                 MIN(da_ka_shi_jian_1_) AS zui_zao,
                                 MAX(da_ka_shi_jian_2_) AS zui_wan,
-                                SUM(CASE WHEN da_ka_shi_jian_1_ IS NOT NULL AND da_ka_shi_jian_1_ != '' THEN 1 ELSE 0 END) +
-                                SUM(CASE WHEN da_ka_shi_jian_2_ IS NOT NULL AND da_ka_shi_jian_2_ != '' THEN 1 ELSE 0 END) AS da_ka_ci_shu_,
+                                SUM(da_ka_ci_shu_) AS da_ka_ci_shu_,
                                 SUM(ban_ci_shi_chang_) AS total_ban_ci_shi_chang,
                                 SUM(gong_zuo_shi_chan) AS total_gong_zuo_shi_chan,
                                 SUM(CASE WHEN zhuang_tai_1_ = '异常' THEN 1 ELSE 0 END) + 

+ 16 - 19
src/views/business/attendance/attendanceStatistics.vue

@@ -129,8 +129,10 @@ export default {
             daterRange: [],
             pickerOptions: {
                 disabledDate (time) {
-                    // 禁用今天及以后的日期(time 是当前遍历的日期)
-                    return time.getTime() >= Date.now()
+                    const today = new Date()
+                    today.setHours(0, 0, 0, 0)
+                    // 禁用今天及未来的日期
+                    return time.getTime() >= today.getTime()
                 }
             },
             listConfig: {
@@ -245,28 +247,23 @@ export default {
                         COUNT(ri_qi_) - SUM(CASE WHEN (da_ka_shi_jian_1_ IS NULL OR da_ka_shi_jian_1_ = '') 
                                                 AND (da_ka_shi_jian_2_ IS NULL OR da_ka_shi_jian_2_ = '') 
                                                 THEN 1 ELSE 0 END) AS shi_ji_chu_qin_shu,
-                        SUM(CASE WHEN (zhuang_tai_1_ = '正常' OR zhuang_tai_1_ IS NULL) 
-                                AND (zhuang_tai_2_ = '正常' OR zhuang_tai_2_ IS NULL) 
-                                THEN 1 ELSE 0 END) AS zheng_chang_shu,
-                        COUNT(ri_qi_) - SUM(CASE WHEN (zhuang_tai_1_ = '正常' OR zhuang_tai_1_ IS NULL) 
-                                                AND (zhuang_tai_2_ = '正常' OR zhuang_tai_2_ IS NULL) 
-                                                THEN 1 ELSE 0 END) AS yi_chang_shu,
+                        SUM(kao_qin_zhuang_ta) AS zheng_chang_shu,
+                        SUM(CASE WHEN kao_qin_zhuang_ta = '异常' OR kao_qin_zhuang_ta IS NULL OR kao_qin_zhuang_ta = '' THEN 1 ELSE 0 END) AS yi_chang_shu,
                         SUM(ban_ci_shi_chang_) AS total_ban_ci_shi_chang,
                         SUM(gong_zuo_shi_chan) AS total_gong_zuo_shi_chan,
-                        SUM(CASE WHEN zhuang_tai_1_ = '迟到' OR zhuang_tai_2_ = '迟到' THEN 1 ELSE 0 END) AS chi_dao_ci_shu,
-                        SUM(CASE WHEN zhuang_tai_1_ = '迟到' THEN chi_dao_shi_chang ELSE 0 END) +
-                        SUM(CASE WHEN zhuang_tai_2_ = '迟到' THEN chi_dao_shi_chang ELSE 0 END) AS total_chi_dao_shi_chang,
-                        SUM(CASE WHEN zhuang_tai_1_ IS NULL OR zhuang_tai_1_ = '' OR 
-                                    zhuang_tai_2_ IS NULL OR zhuang_tai_2_ = '' 
-                                THEN 1 ELSE 0 END) AS kuang_gong_ci_shu,
-                        SUM(CASE WHEN zhuang_tai_1_ = '迟到' OR zhuang_tai_2_ = '迟到' THEN 1 ELSE 0 END) +
-                        SUM(CASE WHEN zhuang_tai_1_ IS NULL OR zhuang_tai_1_ = '' OR 
-                                    zhuang_tai_2_ IS NULL OR zhuang_tai_2_ = '' 
-                                THEN 1 ELSE 0 END) AS yi_chang_he_ji
+                        SUM(CASE WHEN zhuang_tai_1_ = '异常' OR zhuang_tai_2_ = '异常' THEN 1 ELSE 0 END) AS chi_dao_ci_shu,
+                        SUM(chi_dao_shi_chang) AS total_chi_dao_shi_chang,
+                        SUM(CASE WHEN zhuang_tai_1_ IS NULL OR zhuang_tai_1_ = '' THEN 1 ELSE 0 END) + 
+                        SUM(CASE WHEN zhuang_tai_2_ IS NULL OR zhuang_tai_2_ = '' THEN 1 ELSE 0 END) AS kuang_gong_ci_shu,
+
+                        SUM(CASE WHEN zhuang_tai_1_ = '异常' THEN 1 ELSE 0 END) +
+                        SUM(CASE WHEN zhuang_tai_2_ = '异常' THEN 1 ELSE 0 END) +
+                        SUM(CASE WHEN zhuang_tai_1_ IS NULL OR zhuang_tai_1_ = '' THEN 1 ELSE 0 END) + 
+                        SUM(CASE WHEN zhuang_tai_2_ IS NULL OR zhuang_tai_2_ = '' THEN 1 ELSE 0 END) AS yi_chang_he_ji
                     FROM 
                         v_attendance_statistics 
                     ${wherestr}
-                    GROUP BY USER_ID_ ORDER BY USER_ID_
+                    GROUP BY USER_ID_,ri_qi_ ORDER BY USER_ID_
                     LIMIT ${this.pagination.limit} OFFSET ${(this.pagination.page - 1) * this.pagination.limit}
                     `
                 }

+ 4 - 4
src/views/business/attendance/personAttendanceDetails.vue

@@ -63,8 +63,8 @@
                     <el-table-column key="da_ka_shi_jian_1_" prop="da_ka_shi_jian_1_" label="打卡时间" width="120" />
                     <el-table-column key="zhuang_tai_1_" prop="zhuang_tai_1_" label="打卡状态" width="80">
                         <template #default="{ row }">
-                            <span :style="{ color: row.zhuang_tai_2_=='异常' ? 'red' : 'inherit' }">
-                                {{ row.zhuang_tai_2_ }}
+                            <span :style="{ color: row.zhuang_tai_1_=='异常' ? 'red' : (!row.da_ka_shi_jian_1_ ? 'red' :'inherit') }">
+                                {{ !row.da_ka_shi_jian_1_ ? '缺勤' : (row.zhuang_tai_1_ === '异常' ? '迟到' : row.zhuang_tai_1_) }}
                             </span>
                         </template>
                     </el-table-column>
@@ -74,8 +74,8 @@
                     <el-table-column key="da_ka_shi_jian_2_" prop="da_ka_shi_jian_2_" label="打卡时间" width="120" />
                     <el-table-column key="zhuang_tai_2_" prop="zhuang_tai_2_" label="打卡状态" width="80">
                         <template #default="{ row }">
-                            <span :style="{ color: row.zhuang_tai_2_=='异常' ? 'red' : 'inherit' }">
-                                {{ row.zhuang_tai_2_ }}
+                            <span :style="{ color: row.zhuang_tai_2_=='异常' ? 'red' : (!row.da_ka_shi_jian_2_ ? 'red' :'inherit') }">
+                                {{ !row.da_ka_shi_jian_2_ ? '缺勤' : (row.zhuang_tai_2_ === '异常' ? '迟到' : row.zhuang_tai_2_) }}
                             </span>
                         </template>
                     </el-table-column>