From 17920f225c5aba90d5f8df35ac89f70191da6e34 Mon Sep 17 00:00:00 2001 From: lujiang Date: Sun, 25 Aug 2024 23:26:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/RepairIOController.java | 25 +++++++++ .../ics/admin/mapper/RepairCheckMapper.java | 9 ++++ .../ics/admin/service/IRepairIOSerice.java | 11 ++++ .../service/impl/RepairIOSericeImpl.java | 13 +++++ .../java/com/ics/admin/vo/RepairExportVo.java | 50 ++++++++++++++++++ .../src/main/resources/excel/工单导出模版.xls | Bin 0 -> 24064 bytes .../mapper/admin/RepairCheckMapper.xml | 23 ++++++++ 7 files changed, 131 insertions(+) create mode 100644 shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/RepairExportVo.java create mode 100644 shoot-hand/ics-admin/src/main/resources/excel/工单导出模版.xls diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairIOController.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairIOController.java index 80eb17a..0c94e15 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairIOController.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairIOController.java @@ -8,6 +8,8 @@ import com.ics.admin.domain.RepairDeviceType; import com.ics.admin.service.IRepairIOSerice; import com.ics.admin.service.IRepairService; import com.ics.admin.utils.EasyPoiUtils; +import com.ics.admin.utils.ExcelView; +import com.ics.admin.vo.RepairExportVo; import com.ics.common.core.controller.BaseController; import com.ics.common.core.domain.R; import com.ics.common.utils.DateUtils; @@ -31,6 +33,7 @@ import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.jxls.common.Context; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -44,6 +47,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -276,4 +280,25 @@ public class RepairIOController extends BaseController { return R.ok("成功导入" + count + "条工单数据"); } + + @Ignore + //@RequiresPermissions(value = {"repair:manage:operator"}) + @RequestMapping("/exportRepair") + public void exportData(String startDate, String endDate) { + Date start, end; + try { + start = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, startDate + " 00:00:00"); + end = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, endDate + " 23:59:59"); + List list = repairIOSerice.exportRepair(start, end); + Context context = new Context(); + context.putVar("startDate", startDate); + context.putVar("endDate", endDate); + context.putVar("list", list); + new ExcelView("excel/工单导出模版.xls", "零星维修进度情况跟踪表.xls", context); + } catch (Exception e) { + e.printStackTrace(); + } + + + } } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairCheckMapper.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairCheckMapper.java index 45c95be..9e34113 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairCheckMapper.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairCheckMapper.java @@ -1,9 +1,11 @@ package com.ics.admin.mapper; import com.ics.admin.vo.RepairCheckVo; +import com.ics.admin.vo.RepairExportVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -34,4 +36,11 @@ public interface RepairCheckMapper { */ List checkAddress(@Param("addressName") String addressName, @Param("floorName") String floorName); + /** + * 导出工单列表 + * @param startTime + * @param endTime + * @return + */ + List exportList(@Param("startTime") Date startTime, @Param("endTime") Date endTime); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairIOSerice.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairIOSerice.java index 44d472e..ac83e6e 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairIOSerice.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairIOSerice.java @@ -5,7 +5,9 @@ import com.ics.admin.domain.RepairAddress; import com.ics.admin.domain.RepairAddressFloor; import com.ics.admin.domain.RepairDevice; import com.ics.admin.domain.RepairDeviceType; +import com.ics.admin.vo.RepairExportVo; +import java.util.Date; import java.util.List; public interface IRepairIOSerice { @@ -26,4 +28,13 @@ public interface IRepairIOSerice { * @return */ String checkRepair(Repair repair); + + /** + * 查询工单导出 列表 + * + * @param startTime 时间范围,开始 + * @param endTime 时间范围,结束 + * @return + */ + List exportRepair(Date startTime, Date endTime); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairIOSericeImpl.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairIOSericeImpl.java index ff238b4..4b6f39f 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairIOSericeImpl.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairIOSericeImpl.java @@ -12,9 +12,11 @@ import com.ics.admin.mapper.RepairDeviceMapper; import com.ics.admin.mapper.RepairDeviceTypeMapper; import com.ics.admin.service.IRepairIOSerice; import com.ics.admin.vo.RepairCheckVo; +import com.ics.admin.vo.RepairExportVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; /** @@ -76,4 +78,15 @@ public class RepairIOSericeImpl implements IRepairIOSerice { repair.setFloorId(repairCheckVo.getSid()); return IRepairIOSerice.OK; } + + @Override + public List exportRepair(Date startTime, Date endTime) { + List list = repairCheckMapper.exportList(startTime, endTime); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + list.get(i).setNumber(i + 1); + } + } + return list; + } } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/RepairExportVo.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/RepairExportVo.java new file mode 100644 index 0000000..7caf86c --- /dev/null +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/RepairExportVo.java @@ -0,0 +1,50 @@ +package com.ics.admin.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 工单导出 + * created at 2024-8-25 21:38 + * + * @author lujiang + * @version 1.0.0 + * @since 1.0.0 + */ +@Data +public class RepairExportVo implements Serializable { + private static final long serialVersionUID = -202408252138L; + + private int number; + + private Long id; + + private String createTime; + + private String name; + + private String source; + + private String explain; + + private String bm; + + private String username; + + private String wx; + + private String repairLevel; + + private String duration; + + private String timeout; + + private String status; + + private String resolve; +} diff --git a/shoot-hand/ics-admin/src/main/resources/excel/工单导出模版.xls b/shoot-hand/ics-admin/src/main/resources/excel/工单导出模版.xls new file mode 100644 index 0000000000000000000000000000000000000000..b39c71fb3383e5a94f1f057cec1a4389061ea524 GIT binary patch literal 24064 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 Pw%{o($$ta?-z@MyBN?Ov literal 0 HcmV?d00001 diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairCheckMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairCheckMapper.xml index eb64240..78a3f75 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairCheckMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairCheckMapper.xml @@ -28,4 +28,27 @@ and b.name = #{floorName} + + + \ No newline at end of file