Bladeren bron

赛元微电子的批量删除日报功能支持按部门删除

seyason 1 jaar geleden
bovenliggende
commit
2340e2daf5

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -1624,8 +1624,8 @@ public class ReportController {
     }
 
     @RequestMapping("/batchDelete")
-    public HttpRespMsg batchDelete(@RequestParam String userIds, String startDate, String endDate, HttpServletRequest request) {
-        return reportService.batchDelete(userIds,startDate, endDate, request);
+    public HttpRespMsg batchDelete(@RequestParam String userIds, Integer deptId, String startDate, String endDate, HttpServletRequest request) {
+        return reportService.batchDelete(userIds,deptId, startDate, endDate, request);
     }
 
     @RequestMapping("/getUserDailyWorkTime")

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -117,7 +117,7 @@ public interface ReportService extends IService<Report> {
 
     HttpRespMsg getWeeklyReportData(String targetDate, HttpServletRequest request);
 
-    HttpRespMsg batchDelete(String userIds, String startDate, String endDate, HttpServletRequest request);
+    HttpRespMsg batchDelete(String userIds, Integer deptId, String startDate, String endDate, HttpServletRequest request);
 
     HttpRespMsg batchApproveByDate(String startDate, String endDate, Integer departmentId, HttpServletRequest request);
 }

+ 9 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -6294,7 +6294,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     }
 
     @Override
-    public HttpRespMsg batchDelete(String userIds, String startDate, String endDate, HttpServletRequest request) {
+    public HttpRespMsg batchDelete(String userIds, Integer deptId, String startDate, String endDate, HttpServletRequest request) {
         //限制只针对赛元微电子
         HttpRespMsg msg = new HttpRespMsg();
         String userId = request.getHeader("TOKEN");
@@ -6310,6 +6310,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             userIdList.add(id);
         }
         if (userIdList.size() > 0) {
+            //选择人员时,按人员删除
             List<User> userList = userMapper.selectList(new QueryWrapper<User>().in("id", userIdList));
             boolean notAllowed = userList.stream().anyMatch(u -> !u.getCompanyId().equals(469));
             if (!notAllowed) {
@@ -6318,7 +6319,13 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 msg.setError("无权限");
             }
         } else {
-            msg.setError("人员不能为空");
+            if (deptId != null) {
+                //没有人员,选择部门时,按部门删除
+                reportMapper.delete(new QueryWrapper<Report>().eq("company_id", user.getCompanyId()).eq("dept_id", deptId).between("create_date", startDate, endDate));
+            } else {
+                msg.setError("请选择部门或者人员");
+            }
+
         }
         return msg;
     }

+ 1 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -1,5 +1,6 @@
 package com.management.platform.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.entity.*;

+ 9 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -1670,6 +1670,11 @@
                     :end-placeholder="$t('time.endDate')"
                     ></el-date-picker>
             </div>
+            <div style="margin-top:10px;">
+                <span>请选择部门:</span>
+                <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="deleteReportParam.deptId" placeholder="请选择部门" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 350px;"></el-cascader>
+                <vueCascader :size="'medium'" :widthStr="'350'" :clearable="true" :subject="departmentList" :radios="true" :distinction="'1'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" :selectNameChuan="$t('other.allDepartments')"></vueCascader>
+            </div>
             <div style="margin-top:10px;">
                 <span>请选择员工:</span>
                 <el-select v-model="deleteReportParam.userIds" placeholder="请选择" style="width:500px;" filterable multiple>
@@ -2310,9 +2315,9 @@
                 }).catch(() => {this.startDeleting = false});
             },
             confirmBatchDelReport() {
-                if (this.deleteReportParam.userIds.length == 0) {
+                if (this.deleteReportParam.userIds.length == 0 && !this.deleteReportParam.deptId) {
                     this.$message({
-                                message: '请选择人员',
+                                message: '请选择部门或人员',
                                 type: "error"
                             });
                     return;
@@ -2325,7 +2330,7 @@
                     return;
                 }
                 
-                this.$confirm('您确定要删除该时间段内选中人员的日报吗,删除后将不可恢复',this.$t('other.prompts'), {
+                this.$confirm('您确定要删除该时间段内的日报吗,删除后将不可恢复',this.$t('other.prompts'), {
                     confirmButtonText: this.$t('btn.determine'),
                     cancelButtonText: this.$t('btn.cancel'),
                     type: "warning"
@@ -2336,6 +2341,7 @@
                         userIds: JSON.stringify(this.deleteReportParam.userIds),
                         startDate: this.deleteReportParam.date[0],
                         endDate: this.deleteReportParam.date[1],
+                        deptId: this.deleteReportParam.deptId[0]
                     },res => {
                         if (res.code == "ok") {
                             this.$message({