Преглед на файлове

工时管家——管理系统修改

ZhouRuiTing преди 5 години
родител
ревизия
23123636e1

+ 7 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ScreenshotController.java

@@ -5,7 +5,6 @@ import com.management.platform.service.ScreenshotService;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -29,19 +28,21 @@ public class ScreenshotController {
 
     /**
      * 获取每个人最新的截图
+     * date 要筛选的日期 格式yyyy-mm-dd
      */
     @RequestMapping("/getLatestScreenshotList")
-    public HttpRespMsg getLatestScreenshotList() {
-        return screenshotService.getLatestScreenshotList(request);
+    public HttpRespMsg getLatestScreenshotList(@RequestParam String date) {
+        return screenshotService.getLatestScreenshotList(date, request);
     }
 
     /**
-     * 获取某人今日截图列表
+     * 获取某人截图列表
      * userId 用户id
+     * date 要筛选的日期 格式yyyy-mm-dd
      */
     @RequestMapping("/getTodayScreenshotList")
-    public HttpRespMsg getTodayScreenshotList(@RequestParam String userId) {
-        return screenshotService.getTodayScreenshotList(userId);
+    public HttpRespMsg getTodayScreenshotList(@RequestParam String userId, @RequestParam String date) {
+        return screenshotService.getTodayScreenshotList(date, userId);
     }
 
 }

+ 3 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ScreenshotService.java

@@ -1,7 +1,7 @@
 package com.management.platform.service;
 
-import com.management.platform.entity.Screenshot;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.entity.Screenshot;
 import com.management.platform.entity.vo.ScreenshotVO;
 import com.management.platform.util.HttpRespMsg;
 
@@ -16,9 +16,9 @@ import javax.servlet.http.HttpServletRequest;
  * @since 2020-01-02
  */
 public interface ScreenshotService extends IService<Screenshot> {
-    HttpRespMsg getLatestScreenshotList(HttpServletRequest request);
+    HttpRespMsg getLatestScreenshotList(String date, HttpServletRequest request);
 
-    HttpRespMsg getTodayScreenshotList(String userId);
+    HttpRespMsg getTodayScreenshotList(String userId, String date);
 
     HttpRespMsg saveAndProcessImage(ScreenshotVO screenshotvo);
 

+ 24 - 23
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ScreenshotServiceImpl.java

@@ -25,9 +25,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.awt.image.BufferedImage;
 import java.io.*;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
 import java.time.LocalTime;
-import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.regex.Pattern;
@@ -212,38 +210,40 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
         }
     }
 
-    //获取所有人最新的截图
+    //列表截图
     @Override
-    public HttpRespMsg getLatestScreenshotList(HttpServletRequest request) {
+    public HttpRespMsg getLatestScreenshotList(String date, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
-        //获取每一个人最后一张截图
+        //获取某天每一个人最后一张截图
         try {
-            List<Map<String, Object>> resultMap = screenshotMapper
-                    .getLatestScreenshotList(userMapper.selectById(request.getHeader("Token")).getCompanyId(),
-                            LocalDate.now(ZoneOffset.of("+8")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-            for (Map<String, Object> map : resultMap) {
+            List<Map<String, Object>> dataMap = screenshotMapper
+                    .getLatestScreenshotList(userMapper.selectById(request.getHeader("Token")).getCompanyId(), date);
+            // LocalDate.now(ZoneOffset.of("+8")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            for (Map<String, Object> map : dataMap) {
                 //对于每一张图 将时间戳转换为时间
                 map.put("time", new SimpleDateFormat("HH:mm:ss").format(map.get("indate")));
                 map.remove("indate");
             }
-            httpRespMsg.data = resultMap;
+            httpRespMsg.data = dataMap;
         } catch (NullPointerException e) {
             httpRespMsg.setError("验证失败");
+            return httpRespMsg;
         }
         return httpRespMsg;
     }
 
-    //获取当天的截图
+    //获取个人截图页
     @Override
-    public HttpRespMsg getTodayScreenshotList(String userId) {
+    public HttpRespMsg getTodayScreenshotList(String userId, String date) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Map<String, Object> resultMap = new HashMap<>();
         List<String> srcList = new ArrayList<>();
         List<Object> dataList = new ArrayList<>();
-        for (Screenshot screenshot : screenshotMapper.selectList(new QueryWrapper<Screenshot>()
-                .eq("date_str", LocalDate.now(ZoneOffset.of("+8")))
+        List<Screenshot> screenshotList = screenshotMapper.selectList(new QueryWrapper<Screenshot>()
+                .eq("date_str", date)
                 .eq("uid", userId)
-                .orderByDesc("indate"))) {
+                .orderByDesc("indate"));
+        for (Screenshot screenshot : screenshotList) {
             srcList.add(screenshot.getPicUrl());
             Map<String, Object> map = new HashMap<>();
             map.put("time", screenshot.getIndate().toLocalTime());
@@ -259,7 +259,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
     @Override
     public HttpRespMsg saveAndProcessImage(ScreenshotVO screenshotvo) {
         Map<String, Object> fileMap = UploadFileToFileNameUtil.uploadFile(screenshotvo.getFile(), path);
-        String filePath = (String)fileMap.get("sqlFilePath");
+        String filePath = (String) fileMap.get("sqlFilePath");
         Screenshot screenshot = new Screenshot();
         BeanUtils.copyProperties(screenshotvo, screenshot);
         screenshot.setPicUrl(filePath);
@@ -288,8 +288,8 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
 //            //由于存入数据库的对象被序列化成了json字符串,所以从redis里拿方便
 //            members = redisUtil.members(Constant.COMMON_SOFTWARE_KEYWORDS);
 //        }
-        File picFile = new File((String)fileMap.get("newFile"));
-        System.out.println("File:"+picFile.getAbsolutePath());
+        File picFile = new File((String) fileMap.get("newFile"));
+        System.out.println("File:" + picFile.getAbsolutePath());
 
         List<String> textContents = new ArrayList<String>();
 
@@ -320,7 +320,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
                     File f = new File(prePath);
                     if (f.exists()) {
                         ImageCompare comp = new ImageCompare();
-                        if (comp.isMoviePlay((String)fileMap.get("newFile"), prePath)) {
+                        if (comp.isMoviePlay((String) fileMap.get("newFile"), prePath)) {
                             screenshot.setPicType(7);
                             //前面那条也更新
                             if (preShot.getPicType() != null && preShot.getPicType() != 7) {
@@ -361,7 +361,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
             msg.data = imName;
         } else {
             String devName = isDevelop(pic);
-            if(devName != null) {
+            if (devName != null) {
                 msg.data = devName;
             } else {
                 try {
@@ -380,8 +380,8 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
     @Override
     public HttpRespMsg updateRedisPicContentKeywords() {
         List<PicContentKeywords> picContentKeywords = picContentKeywordsMapper.selectList(null);
-        for (PicContentKeywords  keyWord : picContentKeywords) {
-            redisUtil.sSetJsonString("keyWords",keyWord);
+        for (PicContentKeywords keyWord : picContentKeywords) {
+            redisUtil.sSetJsonString("keyWords", keyWord);
         }
         HttpRespMsg msg = new HttpRespMsg();
         msg.data = redisUtil.members("keyWords");
@@ -464,7 +464,6 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
     }
 
 
-
     private static boolean isPureColor(BufferedImage img, int colorPixel) {
         int with = img.getWidth();
         int height = img.getHeight();
@@ -555,6 +554,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
         }
         return null;
     }
+
     private String isDesign(File pic) {
         File folder = new File(designFolder);
 //        File folder = new File("C:\\picrecongnize\\design\\");
@@ -580,6 +580,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
         }
         return null;
     }
+
     //判断是否是聊天
     private String isIM(File pic) {
         File folder = new File(imFolder);

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet/src/routes.js

@@ -45,7 +45,7 @@ let routes = [
         iconCls: 'fa fa-desktop',
         children: [
             { path: '/desktop', component: desktop, name: '桌面查看' },
-            { path: '/desktop/:id', component: desktopDetail, name: '个人桌面', hidden: true },
+            { path: '/desktop/:id/:date', component: desktopDetail, name: '个人桌面', hidden: true },
             { path: '/unusual', component: unusual, name: '异常统计' },
         ]
     },

+ 54 - 51
fhKeeper/formulahousekeeper/timesheet/src/views/desktop/detail.vue

@@ -54,6 +54,7 @@ export default {
   data() {
     return {
       detailId: this.$route.params.id,
+      date: this.$route.params.date,
       user: JSON.parse(sessionStorage.getItem("user")),
       uName: "周瑞霆",
       uTime: "2020-01-03",
@@ -67,65 +68,67 @@ export default {
   methods: {
     //获取个人当天的工作时间数据
     getInfo() {
-      this.listLoading = true;
-      this.http.post(
-        this.port.time.getToday,
-        { userId: this.detailId },
-        res => {
-          this.listLoading = false;
-          if (res.code == "ok") {
-            //设置数据并绘制echarts
-            this.uName = res.data.username;
-            this.uTime = res.data.date;
-            this.timeList = res.data.timeDistribution;
-            //注意目前仅第0项即行为代码为0被计入正常工作 后续可能需要修改
-            this.uHours = res.data.total;
-            this.setEcharts();
-            //之后顺便再获取一下截图
-            this.getScreenshot();
-          } else {
+        this.listLoading = true;
+        this.http.post(
+            this.port.time.getToday,
+            { 
+                userId: this.detailId,
+            },
+            res => {
+            this.listLoading = false;
+            if (res.code == "ok") {
+                //设置数据并绘制echarts
+                this.uName = res.data.username;
+                this.uTime = res.data.date;
+                this.timeList = res.data.timeDistribution;
+                //注意目前仅第0项即行为代码为0被计入正常工作 后续可能需要修改
+                this.uHours = res.data.total;
+                this.setEcharts();
+                //之后顺便再获取一下截图
+                this.getScreenshot();
+            } else {
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+            },
+            error => {
+            this.listLoading = false;
             this.$message({
-              message: res.msg,
-              type: "error"
+                message: error,
+                type: "error"
             });
-          }
-        },
-        error => {
-          this.listLoading = false;
-          this.$message({
-            message: error,
-            type: "error"
-          });
-        }
-      );
+            }
+        );
     },
 
     //获取个人当天的截图数据
     getScreenshot() {
-      this.listLoading = true;
-      this.http.post(
-        this.port.desktop.listToday,
-        { userId: this.detailId },
-        res => {
-          this.listLoading = false;
-          if (res.code == "ok") {
-            this.srcList = res.data.srcList;
-            this.infoList = res.data.data;
-          } else {
+        this.listLoading = true;
+        this.http.post(
+            this.port.desktop.listToday,
+            { userId: this.detailId,date: this.date },
+            res => {
+            this.listLoading = false;
+            if (res.code == "ok") {
+                this.srcList = res.data.srcList;
+                this.infoList = res.data.data;
+            } else {
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+            },
+            error => {
+            this.listLoading = false;
             this.$message({
-              message: res.msg,
-              type: "error"
+                message: error,
+                type: "error"
             });
-          }
-        },
-        error => {
-          this.listLoading = false;
-          this.$message({
-            message: error,
-            type: "error"
-          });
-        }
-      );
+            }
+        );
     },
 
     //返回

+ 2 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/desktop/index.vue

@@ -66,7 +66,7 @@
                     keyName: ""
                 },
                 user: JSON.parse(sessionStorage.getItem("user")),
-                date: new Date(),
+                date: util.formatDate.format(new Date(new Date()), "yyyy-MM-dd"),
                 timer: "",
                 currentTime: util.formatDate.format(
                     new Date(new Date()),
@@ -133,7 +133,7 @@
                 });
             },
             jumpTo(id) {
-                this.$router.push("/desktop/" + id);
+                this.$router.push("/desktop/" + id + "/" + this.date);
             },
             //类型枚举转换
             converType(type) {