فهرست منبع

Merge remote-tracking branch 'origin/master'

ZhouRuiTing 5 سال پیش
والد
کامیت
0428408e17

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

@@ -92,7 +92,7 @@ public class ReportController {
             httpRespMsg.setError("验证失败");
             return httpRespMsg;
         }
-        return reportService.editReport(reportList);
+        return reportService.editReport(id, reportList, createDate.length > 0 ? createDate[0] : null);
     }
 
     /**

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

@@ -1,7 +1,7 @@
 package com.management.platform.service;
 
-import com.management.platform.entity.Report;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.entity.Report;
 import com.management.platform.util.HttpRespMsg;
 
 import javax.servlet.http.HttpServletRequest;
@@ -22,7 +22,7 @@ public interface ReportService extends IService<Report> {
 
     HttpRespMsg getReport(String date, HttpServletRequest request);
 
-    HttpRespMsg editReport(List<Report> reportList);
+    HttpRespMsg editReport(Integer[] ids, List<Report> reportList, String date);
 
     HttpRespMsg deleteReport(Integer reportId);
 

+ 28 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -60,7 +60,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             List<Map<String, Object>> nameList = new ArrayList<>();
             if (user.getRole() == 0) {
                 //普通员工只能看自己的
-                Map map = new HashMap();
+                Map<String, Object> map = new HashMap<>();
                 map.put("id", user.getId());
                 map.put("name", user.getName());
                 List<Map<String, Object>> list = reportMapper.getReportByDate(date, (String) map.get("id"));
@@ -80,8 +80,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         calculateTime += show.getDuration();
                     }
                     //数据库是秒,时间转换为小时;
-                    double d = calculateTime*1.0/3600;
+                    double d = calculateTime * 1.0 / 3600;
                     map.put("calculateTime", df.format(d));
+                    map.put("state", list.get(0).get("state"));
                 }
             } else {
                 nameList = reportMapper.getReportNameByDate(date,
@@ -91,19 +92,25 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     List<Map<String, Object>> list = reportMapper.getReportByDate(date, (String) map.get("id"));
                     map.put("data", list);
                     double reportTime = 0;
-                    for (Map<String, Object> m : list) {
-                        double t = (double) m.get("time");
-                        reportTime += t;
+                    if (list.size() > 0) {
+                        for (Map<String, Object> m : list) {
+                            double t = (double) m.get("time");
+                            reportTime += t;
+                        }
+                        map.put("state", list.get(0).get("state"));
                     }
                     DecimalFormat df = new DecimalFormat("0.00");
                     map.put("reportTime", df.format(reportTime));
-                    List<TimeCalculationShow> timeList = timeCalculationShowMapper.selectList(new QueryWrapper<TimeCalculationShow>().eq("user_id", (String) map.get("id")).eq("date", date));
+                    List<TimeCalculationShow> timeList = timeCalculationShowMapper.selectList(
+                            new QueryWrapper<TimeCalculationShow>()
+                                    .eq("user_id", map.get("id"))
+                                    .eq("date", date));
                     int calculateTime = 0;
                     for (TimeCalculationShow show : timeList) {
                         calculateTime += show.getDuration();
                     }
                     //数据库是秒,时间转换为小时;
-                    double d = calculateTime*1.0/3600;
+                    double d = calculateTime * 1.0 / 3600;
                     map.put("calculateTime", df.format(d));
                 }
             }
@@ -236,9 +243,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
     //新增或编辑报告
     @Override
-    public HttpRespMsg editReport(List<Report> reportList) {
+    public HttpRespMsg editReport(Integer[] ids, List<Report> reportList, String date) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         for (Report report : reportList) {
+            //获取一下信息
             if (report.getWorkingTime() <= 0.0) {
                 httpRespMsg.setError("工作时长必须大于零");
                 return httpRespMsg;
@@ -255,6 +263,18 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
             }
         }
+        if (reportList.size() > 0 && date != null) {
+            List<Integer> idList = new ArrayList<>();
+            for (Integer id : ids) {
+                if (id != -1) {
+                    idList.add(id);
+                }
+            }
+            reportMapper.delete(new QueryWrapper<Report>()
+                    .eq("create_date", date)
+                    .eq("creator_id", reportList.get(0).getCreatorId())
+                    .notIn("id", idList));
+        }
         return httpRespMsg;
     }
 

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -21,7 +21,7 @@
 
     <!--根据日期获取全部报告信息-->
     <select id="getAllReportByDate" resultType="java.util.Map">
-        SELECT c.name, b.project_name AS project, a.working_time AS duration, a.content, a.create_time AS time
+        SELECT c.name, b.project_name AS project, a.working_time AS duration, a.content, a.create_time AS time, a.state
         FROM report AS a
         JOIN project AS b ON a.project_id=b.id
         LEFT JOIN user AS c ON a.creator_id=c.id
@@ -34,7 +34,7 @@
 
     <!--根据日期获取报告信息-->
     <select id="getReportByDate" resultType="java.util.Map">
-        SELECT b.project_name AS project, a.working_time AS time, a.content
+        SELECT b.project_name AS project, a.working_time AS time, a.content, a.state
         FROM report AS a
         JOIN project AS b ON a.project_id=b.id
         WHERE 1=1