Browse Source

Merge remote-tracking branch 'origin/master'

yusm 1 tháng trước cách đây
mục cha
commit
fa8181e7fc

+ 4 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -11857,6 +11857,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         } else if (timeType.getSyncFanwei() == 1) {
             for (UserFvTime fvTime : userFvTimeList) {
                 boolean isMatch = true;
+                //出差自动生成的考勤记录,不需要匹配
+                if (fvTime.getProcinstId() != null && fvTime.getProcinstId().startsWith("bustrip_")) {
+                    continue;
+                }
                 double reportTime = 0;
                 Optional<User> first = manageUserList.stream().filter(u -> u.getId().equals(fvTime.getUserId())).findFirst();
                 if (first.isPresent()) {
@@ -11880,9 +11884,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         map.put("createDate", dateTimeFormatter.format(fvTime.getWorkDate()));
                         map.put("workHours", fvTime.getWorkHours());
                         map.put("reportTime", reportTime);
-                        if (fvTime.getProcinstId() != null && fvTime.getProcinstId().startsWith("bustrip")) {
-                            map.put("isBusTrip", true);
-                        }
                         resultList.add(map);
                     }
                 }

+ 40 - 4
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -422,10 +422,18 @@
                     </el-form-item>
                     <!--考勤时长显示-->
                     <el-form-item :label="$t('other.attendancePunch')" v-if="workForm.showRefresh">
-                        <span v-if="workForm.time">{{workForm.time.startTime}}-{{workForm.time.endTime}}, {{workForm.time.isOffiBusiness?'出差':'工作'}}{{workForm.time.workHours}}{{$t('time.hour')}}
-                        <span v-if="workForm.time.askLeaveTime">|&nbsp;{{ $t('other.AskForLeave') }}{{ workForm.time.askLeaveTime }}{{$t('time.hour')}}</span>
-                        <span v-if="workForm.time.otTime" style="color:#FFA500;">|&nbsp;加班{{ workForm.time.otTime }}{{$t('time.hour')}}</span>
-                        </span>
+                        <template v-if="user.companyId != 7536">
+                            <span v-if="workForm.time">{{workForm.time.startTime}}-{{workForm.time.endTime}}, {{workForm.time.isOffiBusiness?'出差':'工作'}}{{workForm.time.workHours}}{{$t('time.hour')}}
+                                <span v-if="workForm.time.askLeaveTime">|&nbsp;{{ $t('other.AskForLeave') }}{{ workForm.time.askLeaveTime }}{{$t('time.hour')}}</span>
+                                <span v-if="workForm.time.otTime" style="color:#FFA500;">|&nbsp;加班{{ workForm.time.otTime }}{{$t('time.hour')}}</span>
+                            </span>
+                        </template>
+                        <template v-if="user.companyId == 7536 && workForm.time">
+                            {{workForm.time.isOffiBusiness?'出差':'工作'}}{{workForm.time.workHours}}{{$t('time.hour')}}
+                            <span v-if="workForm.time.askLeaveTime">|&nbsp;{{ $t('other.AskForLeave') }}{{ workForm.time.askLeaveTime }}{{$t('time.hour')}}</span>
+                            <span v-if="workForm.time.otTime" style="color:#FFA500;">|&nbsp;加班{{ workForm.time.otTime }}{{$t('time.hour')}}</span>
+                        </template>
+
                         <!--批量填报不显示考勤记录-->
                         <span v-if="!isBatch && (user.timeType.syncDingding==1 || user.timeType.syncCorpwxTime==1)&&!workForm.time" >{{$t('other.noAttendanceRecord')}}</span>
                         <!--针对明夷,批量填报(不含代填)情况下显示考勤时长-->
@@ -442,6 +450,9 @@
                         <el-button type="default" style="margin-left:5px;" size="small" :loading="syncTimeLoading" 
                         v-if="!isBatch && user.companyId === 5978" icon="el-icon-refresh" 
                                 @click="refreshBeiSengAttendance(workForm.createDate)"></el-button>
+                        <el-button type="default" style="margin-left:5px;" size="small" :loading="syncTimeLoading" 
+                        v-if="!isBatch && user.companyId === 7536" icon="el-icon-refresh" 
+                                @click="refreshBeiSengAttendanceTwo(workForm.createDate)"></el-button>
                         
                         <span v-if="user.companyId==5978" style="margin-left:5px;" class="themeFontColor"><i class="el-icon-warning"></i>{{$t('other.kaoqingTimeTip')}}</span>
                     </el-form-item>
@@ -3355,6 +3366,31 @@
                     })
                 })
             },
+            refreshBeiSengAttendanceTwo(workdate) {
+                if (!workdate) return;
+                this.syncTimeLoading = true;
+                this.http.post('/user-fv-time/syncHongHuFvTime',{
+                    startDate: workdate,
+                    endDate: workdate,
+                    userId: this.user.id
+                },res => {
+                    this.syncTimeLoading = false;
+                    if(res.code == 'ok'){
+                        this.workForm.time = res.data;
+                    }else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        })
+                    }
+                },err => {
+                    this.syncTimeLoading = false;
+                    this.$message({
+                        message: err,
+                        type: 'error'
+                    })
+                })
+            },
             weeklyFilledTimeClick(parameterDate){ //按周填报-已填工时-点击
                 this.weeklyFilledTimeDialog = true
                 this.weeklyFilledTimeLoading = true

+ 40 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -30,8 +30,19 @@
                         <div class="attendanceRecord">
                             <template v-if="user.timeType.syncDingding == 1 || user.timeType.syncCorpwxTime == 1">
                                 <span>打卡:</span>
+                                <template v-if="user.companyId != 7536">
+                                    <span v-if="!report.time">暂无考勤记录</span>
+                                    <span v-else>{{ report.time.startTime }}-{{ report.time.endTime }}, 工作{{
+                                        report.time.workHours }}h
+                                        <span v-if="report.time.askLeaveTime">|&nbsp;请假{{ report.time.askLeaveTime
+                                        }}h</span>
+                                        <span v-if="report.time.otTime" style="color:#DAA520;">|&nbsp;加班{{ report.time.otTime
+                                        }}h</span></span>
+                                </template>
+                            </template>
+                            <template v-if="user.companyId == 7536">
                                 <span v-if="!report.time">暂无考勤记录</span>
-                                <span v-else>{{ report.time.startTime }}-{{ report.time.endTime }}, 工作{{
+                                <span v-else>工作{{
                                     report.time.workHours }}h
                                     <span v-if="report.time.askLeaveTime">|&nbsp;请假{{ report.time.askLeaveTime
                                     }}h</span>
@@ -43,10 +54,18 @@
                         </div>
                     </template>
                     <template #right-icon>
-                        <van-button icon="replay" native-type="button" type="default" size="mini"
+                        <template v-if="user.companyId != 7536">
+                            <van-button icon="replay" native-type="button" type="default" size="mini"
                             style="height:0.6rem;padding:0 0.16667rem;" :loading="cardRefLoading" loading-size="0.26667rem"
                             @click.stop.native="cardtimeRefresh(form.createDate)"
-                            v-if="!substitute && user.timeType.syncCorpwxTime == 1 && (user.timeType.syncDingding == 1 || user.timeType.syncCorpwxTime == 1)"></van-button>
+                            v-if="!substitute && (user.timeType.syncDingding == 1 || user.timeType.syncCorpwxTime == 1)"></van-button>
+                        </template>
+                        <template v-if="user.companyId == 7536">
+                            <van-button icon="replay" native-type="button" type="default" size="mini"
+                                style="height:0.6rem;padding:0 0.16667rem;" :loading="cardRefLoading" loading-size="0.26667rem"
+                                @click.stop.native="cardtimeRefreshTwo(form.createDate)"
+                            ></van-button>
+                        </template>
                     </template>
                 </van-cell>
                 <!-- <div v-if="report.time" class="attendanceRecord">
@@ -972,6 +991,24 @@ export default {
                     }
                 }).catch(err => { this.$toast.clear(); this.cardRefLoading = false; })
         },
+        cardtimeRefreshTwo(workdate) {  // 考勤记录刷新
+            if (!workdate) return;
+            this.cardRefLoading = true;
+            this.$axios.post('/user-fv-time/syncHongHuFvTime', {
+                startDate: workdate,
+                endDate: workdate,
+                userId: this.user.id
+            })
+                .then(res => {
+                    if (res.code == 'ok') {
+                        this.cardRefLoading = false;
+                        this.report.time = res.data;
+                    } else {
+                        this.cardRefLoading = false;
+                        this.$toast.fail('获取失败:' + res.msg);
+                    }
+                }).catch(err => { this.$toast.clear(); this.cardRefLoading = false; })
+        },
         auditorClick(domainIndex, auditorIndex) {
             if (this.canEdit) {
                 this.auditor.index = domainIndex

+ 9 - 9
fhKeeper/formulahousekeeper/timesheet_mld/src/views/corpreport/list.vue

@@ -52,7 +52,7 @@
                   <el-menu-item index="1-30" v-if="permissions.taskPlanCost" @click="ssl(29)"><p>{{ $t('taskPlanCostReport') }}</p></el-menu-item>
                   <el-menu-item index="1-31" v-if="permissions.reportFTEPlanAll || permissions.reportFTEPlanPart" @click="ssl(30)"><p>FTE计划报表</p></el-menu-item>
                   <el-menu-item index="1-32" v-if="permissions.reportMonthlyFinancialWorkSchedule" @click="ssl(31)"><p>月度财务工时表</p></el-menu-item>
-                  <el-menu-item index="1-33" v-if="permissions.reportAllWorkPlansAwaitingReviewAndStatistics" @click="ssl(32)"><p>工作计划待审核统计</p></el-menu-item>
+                  <el-menu-item index="1-33" v-if="permissions.reportAllWorkPlansAwaitingReviewAndStatistics" @click="ssl(32)"><p>工作计划待审核统计</p></el-menu-item>
                 </el-submenu>
               </el-menu>
           </el-col>
@@ -906,7 +906,7 @@
                 </el-table-column> -->
             </el-table>
 
-            <!-- 工作计划待审核统计 -->
+            <!-- 工作计划待审核统计 -->
             <el-table v-if="ins == 10" key="10" border :data="auditRateList" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;">
                 <el-table-column prop="userName" :label="$t('other.reviewer')" min-width="200" align="center">
                   <template slot-scope="scope" >
@@ -1619,11 +1619,11 @@
             <el-table-column prop="totalTime" align="center" label="工时合计(h)" width="120px"></el-table-column>
           </el-table>
 
-          <!-- 工作计划待审核统计 -->
+          <!-- 工作计划待审核统计 -->
           <el-table v-if="ins == 32"  key="32" border :data="planPendingReviewList" highlight-current-row v-loading="planPendingReviewLoading" :height="+tableHeight - 1" style="width: 100%;">
-            <el-table-column align="name" prop="planHours" label="审核人" ></el-table-column>
-            <el-table-column align="department_name" prop="planHours" label="所属部门" ></el-table-column>
-            <el-table-column align="total" prop="planHours" label="待审核条数" ></el-table-column>
+            <el-table-column align="center" prop="name" label="审核人" ></el-table-column>
+            <el-table-column align="center" prop="department_name" label="所属部门" ></el-table-column>
+            <el-table-column align="center" prop="total" label="待审核条数" ></el-table-column>
           </el-table>
 
         <!--工具条-->
@@ -2091,14 +2091,14 @@ export default {
       this.$t('statisticsofovertimework'),this.$t('timecostearlywarningtable'),this.$t('personneltimeallocationtable'),
       this.$t('statisticsofstafffillingintimerate'),this.$t('dailyreporttobereviewedstatistics'),this.$t('statisticsofpersonnelhours'),this.$t('taskgrouptimesheet'),this.$t('projectcostbaselinetable'),
       this.$t('ren-yuan-yue-du-gong-shi-biao'), this.$t('bumenchanyuqingkuang'), this.$t('ge-fen-zu-yu-jie-duan-gong-shi-biao'), this.$t('ziXiangMuGongShiChengBenBiao'), this.$t('renWuZhongQiBiao'), this.$t('fteBaoBiao'), this.$t('youXiaoGongShiShuaiBiao'), this.$t('xiangMuFenLeiGongShiZhanBiBiao'), this.$t('fenLeiGongShiMingXiBiao'),
-      this.$t('yuanGongXiangMuJinDuBiao'), this.$t('fenZuHaoYongJinDuBiao'), this.$t('xiangMuHaoYongJinDuBiao'), this.$t('yuanGongRenWuJinDuBiao'), this.$t('xiangMuYuGuGongShiBiao'),this.$t('yuanGongRenWuWanChengQingKuangBiao'), this.$t('taskPlanCostReport'), 'FTE计划报表', '月度财务工时表', '工作计划待审核统计'],
+      this.$t('yuanGongXiangMuJinDuBiao'), this.$t('fenZuHaoYongJinDuBiao'), this.$t('xiangMuHaoYongJinDuBiao'), this.$t('yuanGongRenWuJinDuBiao'), this.$t('xiangMuYuGuGongShiBiao'),this.$t('yuanGongRenWuWanChengQingKuangBiao'), this.$t('taskPlanCostReport'), 'FTE计划报表', '月度财务工时表', '工作计划待审核统计'],
 
       shuzArr: [this.$t('projectreport'),this.$t('projectTaskReport'),this.$t('projectcoststatement'),
       this.$t('projectbalancesheet'),this.$t('customerprojectincomestatement'),this.$t('projectphasetimesheet'),
       this.$t('statisticsofovertimework'),this.$t('timecostearlywarningtable'),this.$t('personneltimeallocationtable'),
       this.$t('employeereporttimelinessrate'),this.$t('dailyreporttobereviewedstatistics'),this.$t('statisticsofpersonnelhours'),this.$t('taskgrouptimesheet'),this.$t('projectcostbaselinetable'),
       this.$t('ren-yuan-yue-du-gong-shi-biao'), this.$t('bumenchanyuqingkuang'), this.$t('ge-fen-zu-yu-jie-duan-gong-shi-biao'), this.$t('ziXiangMuGongShiChengBenBiao'), this.$t('renWuZhongQiBiao'), this.$t('fteBaoBiao'),this.$t('youXiaoGongShiShuaiBiao'), this.$t('xiangMuFenLeiGongShiZhanBiBiao'), this.$t('fenLeiGongShiMingXiBiao'),
-      this.$t('yuanGongXiangMuJinDuBiao'), this.$t('fenZuHaoYongJinDuBiao'), this.$t('xiangMuHaoYongJinDuBiao'), this.$t('yuanGongRenWuJinDuBiao'), this.$t('xiangMuYuGuGongShiBiao'),this.$t('yuanGongRenWuWanChengQingKuangBiao'), this.$t('taskPlanCostReport'), 'FTE计划报表', '月度财务工时表', '工作计划待审核统计'],
+      this.$t('yuanGongXiangMuJinDuBiao'), this.$t('fenZuHaoYongJinDuBiao'), this.$t('xiangMuHaoYongJinDuBiao'), this.$t('yuanGongRenWuJinDuBiao'), this.$t('xiangMuYuGuGongShiBiao'),this.$t('yuanGongRenWuWanChengQingKuangBiao'), this.$t('taskPlanCostReport'), 'FTE计划报表', '月度财务工时表', '工作计划待审核统计'],
 
       ins: 10000,
       user: JSON.parse(sessionStorage.user),
@@ -3114,7 +3114,7 @@ export default {
           }
           sl.projectId = this.proJuctId
         } else if (this.ins == 32) {
-          fName = '工作计划待审核统计' + '.xlsx';
+          fName = '工作计划待审核统计' + '.xlsx';
           url = "/report/exportTaskPlanNeedCheckStatistics";
           sl.userId = this.userId
           sl.startDate = this.rangeDatas[0]