Procházet zdrojové kódy

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice před 2 roky
rodič
revize
b43becca75

+ 16 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/LeaveSheetController.java

@@ -1,9 +1,12 @@
 package com.management.platform.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.gson.JsonObject;
 import com.management.platform.entity.*;
 import com.management.platform.entity.vo.SysRichFunction;
+import com.management.platform.entity.vo.exportLeave;
 import com.management.platform.mapper.DepartmentMapper;
 import com.management.platform.mapper.SysFunctionMapper;
 import com.management.platform.mapper.UserMapper;
@@ -11,15 +14,15 @@ import com.management.platform.service.DepartmentService;
 import com.management.platform.service.ExpenseSheetService;
 import com.management.platform.service.LeaveSheetService;
 import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.xml.stream.Location;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -106,6 +109,14 @@ public class LeaveSheetController {
         return leaveSheetService.getOTAvaiDays(userId);
     }
 
-
+    /**
+     * 导出请假信息
+     * @return
+     */
+    @RequestMapping("/exportLeave")
+    public HttpRespMsg exportLeaveData(exportLeave exportLeave) {
+        String userId = request.getHeader("Token");
+        return leaveSheetService.exportLeaveData(userId,exportLeave.getStatus(),exportLeave.getLeaveType(),exportLeave.getStartTime(),exportLeave.getEndTime());
+    }
 }
 

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/exportLeave.java

@@ -0,0 +1,20 @@
+package com.management.platform.entity.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @author cs
+ * @version 1.0
+ * @ClassName exportLeave
+ * @Description
+ * @date 2022-09-16 18:48
+ */
+@Data
+public class exportLeave {
+    public Integer status;
+    public Integer leaveType;
+    public String startTime;
+    public String endTime;
+}

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/LeaveSheetMapper.java

@@ -15,5 +15,5 @@ import java.util.List;
  */
 public interface LeaveSheetMapper extends BaseMapper<LeaveSheet> {
 
-    List<LeaveSheet> summaryData(String keyword, String startDate, String endDate, Integer companyId);
-}
+     List<LeaveSheet> summaryData(String keyword, String startDate, String endDate, Integer companyId);
+}

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/LeaveSheetService.java

@@ -5,6 +5,9 @@ import com.management.platform.entity.LeaveSheet;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.management.platform.util.HttpRespMsg;
 
+import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+
 /**
  * <p>
  *  服务类
@@ -28,4 +31,6 @@ public interface LeaveSheetService extends IService<LeaveSheet> {
     HttpRespMsg summaryData(String keyword, String startDate, String endDate, String userId);
 
     HttpRespMsg getOTAvaiDays(String userId);
+
+    HttpRespMsg exportLeaveData(String userId,Integer status, Integer leaveType, String startTime,String endTime);
 }

+ 101 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java

@@ -13,13 +13,18 @@ import com.management.platform.service.ExpenseItemService;
 import com.management.platform.service.LeavePmauditService;
 import com.management.platform.service.LeaveSheetService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.util.ExcelUtil;
 import com.management.platform.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -227,4 +232,100 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
         msg.data = d;
         return msg;
     }
+
+    @Value(value = "${upload.path}")
+    private String path;
+    @Override
+    public HttpRespMsg exportLeaveData(String userId,Integer status,Integer leaveType,String startTime,String endTime) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        Integer companyId = userMapper.selectById(userId).getCompanyId();
+        QueryWrapper<LeaveSheet> qw = new QueryWrapper<LeaveSheet>()
+                .select("owner_name", "tel", "leave_type", "start_date","end_date","time_days", "time_hours", "status", "remark")
+                .eq("company_id", companyId)
+                .eq(status != null, "status", status)
+                .eq(leaveType != null, "leave_type", leaveType)
+                .le(endTime != "" && endTime != null, "start_date", endTime)
+                .ge(startTime != "" && startTime != null, "end_date", startTime);
+        List<LeaveSheet> leaveSheets = leaveSheetMapper.selectList(qw);
+        if (leaveSheets.size()==0){
+            return httpRespMsg;
+        };
+        List<List<String>> allList = new ArrayList<>();
+        List<String> headList = new ArrayList<String>();
+        headList.add("请假人");
+        headList.add("电话");
+        headList.add("请假类型");
+        headList.add("请假开始时间");
+        headList.add("请假结束时间");
+        headList.add("请假天数");
+        headList.add("请假时长");
+        headList.add("状态");
+        headList.add("备注");
+        allList.add(headList);
+        for (LeaveSheet leaveSheet : leaveSheets) {
+            List<String> item = new ArrayList<>();
+            item.add(leaveSheet.getOwnerName()==null?"":leaveSheet.getOwnerName());
+            item.add(leaveSheet.getTel()==null?"":leaveSheet.getTel());
+            String lts = "";
+            switch (leaveSheet.getLeaveType()){
+                case 0:
+                    lts = "事假";
+                    break;
+                case 1:
+                    lts = "病假";
+                    break;
+                case 2:
+                    lts = "年假";
+                    break;
+                case 3:
+                    lts = "产假";
+                    break;
+                case 4:
+                    lts = "婚嫁";
+                    break;
+                case 5:
+                    lts = "丧假";
+                    break;
+                case 6:
+                    lts = "调休假";
+                    break;
+                case 7:
+                    lts = "陪产假";
+                    break;
+                case 8:
+                    lts = "其他";
+                    break;
+            }
+            item.add(lts);
+            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            String sds = leaveSheet.getStartDate().format(df);
+            String eds = leaveSheet.getEndDate().format(df);
+            item.add(sds);
+            item.add(eds);
+            item.add(leaveSheet.getTimeDays()==null?"":leaveSheet.getTimeDays().toString());
+            item.add(leaveSheet.getTimeHours()==null?"":leaveSheet.getTimeHours().toString());
+            String statusS = "";
+            switch (leaveSheet.getStatus()){
+                case 0:
+                    statusS = "审核通过";
+                    break;
+                case 1:
+                    statusS = "待审核";
+                    break;
+                case 2:
+                    statusS = "驳回";
+                    break;
+                case 3:
+                    statusS = "已撤销";
+                    break;
+            }
+            item.add(statusS);
+            item.add(leaveSheet.getRemark());
+            allList.add(item);
+        }
+        String fileName = "请假信息_"+System.currentTimeMillis();
+        String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName , allList, path);
+        httpRespMsg.data = resp;
+        return httpRespMsg;
+    }
 }