|
@@ -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;
|
|
|
+ }
|
|
|
}
|