diff --git a/src/main/java/org/energy/modules/inspection/controller/InspectionTasksController.java b/src/main/java/org/energy/modules/inspection/controller/InspectionTasksController.java index de4b510..b9dbebd 100644 --- a/src/main/java/org/energy/modules/inspection/controller/InspectionTasksController.java +++ b/src/main/java/org/energy/modules/inspection/controller/InspectionTasksController.java @@ -15,17 +15,29 @@ */ package org.energy.modules.inspection.controller; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dayu.daf.core.log.annotation.ApiLog; +import com.dayu.daf.core.tool.constant.DafConstant; +import com.xkcoding.http.util.StringUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; + +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import com.dayu.daf.core.mp.support.Condition; import com.dayu.daf.core.mp.support.Query; import com.dayu.daf.core.tool.api.R; import com.dayu.daf.core.tool.utils.Func; +import lombok.SneakyThrows; +import org.apache.commons.codec.Charsets; +import org.energy.modules.inspection.excel.InspectionTasksExcel; +import org.energy.modules.leger.entity.EquipmentLedger; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestParam; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -33,6 +45,12 @@ import org.energy.modules.inspection.entity.InspectionTasks; import org.energy.modules.inspection.vo.InspectionTasksVO; import org.energy.modules.inspection.service.IInspectionTasksService; import com.dayu.daf.core.boot.ctrl.DafController; +import springfox.documentation.annotations.ApiIgnore; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * 巡检任务 控制器 @@ -66,7 +84,36 @@ public class InspectionTasksController extends DafController { @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入inspectionTasks") public R> list(InspectionTasks inspectionTasks, Query query) { - IPage pages = inspectionTasksService.page(Condition.getPage(query), Condition.getQueryWrapper(inspectionTasks)); + QueryWrapper qw = new QueryWrapper<>(); + // 场站 + if (null != inspectionTasks.getStation()) { + qw.lambda().eq(InspectionTasks::getStation, inspectionTasks.getStation()); + } + // 状态 + if (null != inspectionTasks.getTaskStatus()) { + qw.lambda().eq(InspectionTasks::getTaskStatus, inspectionTasks.getTaskStatus()); + } + // 任务编号 + if (StringUtil.isNotEmpty(inspectionTasks.getTaskNo())) { + qw.lambda().like(InspectionTasks::getTaskNo, inspectionTasks.getTaskNo()); + } + // 任务名称 + if (StringUtil.isNotEmpty(inspectionTasks.getTaskName())) { + qw.lambda().like(InspectionTasks::getTaskName, inspectionTasks.getTaskName()); + } + // 任务生成日期 + if (StringUtil.isNotEmpty(inspectionTasks.getTaskStartDate())) { + qw.lambda().like(InspectionTasks::getTaskStartDate, inspectionTasks.getTaskStartDate()); + } + // 任务完成日期 + if (StringUtil.isNotEmpty(inspectionTasks.getTaskEndDate())) { + qw.lambda().like(InspectionTasks::getTaskEndDate, inspectionTasks.getTaskEndDate()); + } + // 责任人 + if (StringUtil.isNotEmpty(inspectionTasks.getResponsiblePerson())) { + qw.lambda().like(InspectionTasks::getResponsiblePerson, inspectionTasks.getResponsiblePerson()); + } + IPage pages = inspectionTasksService.page(Condition.getPage(query), qw); return R.data(pages); } @@ -122,5 +169,64 @@ public class InspectionTasksController extends DafController { return R.status(inspectionTasksService.deleteLogic(Func.toLongList(ids))); } + /** + * 启动 巡检任务 + */ + @PostMapping("/action") + @ApiOperationSupport(order = 8) + @ApiOperation(value = "更新", notes = "传入ids") + public R auditing(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return this.approve("1",ids); + } + + /** + * 停止 巡检任务 + */ + @PostMapping("/stop") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "更新", notes = "传入ids") + public R reject(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return this.approve("2",ids); + } + + /** + * 启动OR停止 巡检任务 + */ + public R approve(String status, String ids) { + List list = new ArrayList<>(); + for (String id : ids.split(",")) { + InspectionTasks inspectionTasks = new InspectionTasks(); + inspectionTasks.setId(Long.parseLong(id)); + inspectionTasks.setTaskStatus(Long.parseLong(status)); + list.add(inspectionTasks); + } + return R.status(inspectionTasksService.updateBatchById(list)); + } + + /** + * 导出 + */ + @SneakyThrows + @GetMapping("export") + @ApiOperationSupport(order = 10) + @ApiOperation(value = "导出", notes = "传入") + @ApiLog + public void exportUser(@ApiIgnore @RequestParam Map entity, HttpServletResponse response) { + if (entity.containsKey("station_equal")) { + entity.put("station_equal", Integer.parseInt((String) entity.get("station_equal"))); + } + if (entity.containsKey("taskStatus_equal")) { + entity.put("taskStatus_equal", Integer.parseInt((String) entity.get("taskStatus_equal"))); + } + QueryWrapper queryWrapper = Condition.getQueryWrapper(entity, InspectionTasks.class); + queryWrapper.lambda().eq(InspectionTasks::getIsDeleted, DafConstant.DB_NOT_DELETED); + List list = inspectionTasksService.export(queryWrapper); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding(Charsets.UTF_8.name()); + String fileName = URLEncoder.encode("巡检任务数据导出", Charsets.UTF_8.name()); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), InspectionTasksExcel.class).sheet("巡检任务").doWrite(list); + } + } diff --git a/src/main/java/org/energy/modules/inspection/entity/InspectionTasks.java b/src/main/java/org/energy/modules/inspection/entity/InspectionTasks.java index 920a23f..c137664 100644 --- a/src/main/java/org/energy/modules/inspection/entity/InspectionTasks.java +++ b/src/main/java/org/energy/modules/inspection/entity/InspectionTasks.java @@ -27,6 +27,11 @@ public class InspectionTasks extends BaseEntity { */ @ApiModelProperty(value = "主键") private Long id; + /** + * 任务编码 + */ + @ApiModelProperty(value = "任务编码") + private String taskNo; /** * 巡检对象主键 */ @@ -51,7 +56,7 @@ public class InspectionTasks extends BaseEntity { * 场站 */ @ApiModelProperty(value = "场站") - private String station; + private Long station; /** * 责任人 */ @@ -76,7 +81,7 @@ public class InspectionTasks extends BaseEntity { * 任务状态 */ @ApiModelProperty(value = "任务状态") - private String taskStatus; + private Long taskStatus; /** * 对象名称 */ diff --git a/src/main/java/org/energy/modules/inspection/excel/InspectionTasksExcel.java b/src/main/java/org/energy/modules/inspection/excel/InspectionTasksExcel.java new file mode 100644 index 0000000..9b6896a --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/excel/InspectionTasksExcel.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.energy.modules.inspection.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serializable; + +/** + * EquipmentLedge model export + * @author edwong + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(16) +public class InspectionTasksExcel implements Serializable { + private static final long serialVersionUID = 1L; + + @ColumnWidth(20) + @ExcelProperty(value = "任务编号") + private String taskNo; + + @ColumnWidth(15) + @ExcelProperty(value = "任务名称") + private String taskName; + + @ColumnWidth(15) + @ExcelProperty(value = "场站") + private String stationExt; + + @ColumnWidth(15) + @ExcelProperty(value = "任务生成日期") + private String taskStartDate; + + @ColumnWidth(15) + @ExcelProperty(value = "任务完成日期") + private String taskEndDate; + + @ColumnWidth(15) + @ExcelProperty(value = "责任人") + private String responsiblePerson; + + @ColumnWidth(15) + @ExcelProperty(value = "状态") + private String taskStatusExt; + + @ColumnWidth(15) + @ExcelProperty(value = "取消原因") + private String cancelReason; + + +} diff --git a/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.java b/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.java index b5e0bc4..8095438 100644 --- a/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.java +++ b/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.java @@ -1,9 +1,15 @@ package org.energy.modules.inspection.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.apache.ibatis.annotations.Param; import org.energy.modules.inspection.entity.InspectionTasks; +import org.energy.modules.inspection.excel.InspectionTasksExcel; import org.energy.modules.inspection.vo.InspectionTasksVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.energy.modules.leger.entity.EquipmentLedger; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; + import java.util.List; /** @@ -23,4 +29,9 @@ public interface InspectionTasksMapper extends BaseMapper { */ List selectInspectionTasksPage(IPage page, InspectionTasksVO inspectionTasks); + /** + * 导出 + */ + List exportData(@Param("ew") Wrapper queryWrapper); + } diff --git a/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.xml b/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.xml index 88e331c..8a433b9 100644 --- a/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.xml +++ b/src/main/java/org/energy/modules/inspection/mapper/InspectionTasksMapper.xml @@ -11,6 +11,7 @@ + @@ -34,4 +35,26 @@ select * from i_inspection_tasks where is_deleted = 0 + + diff --git a/src/main/java/org/energy/modules/inspection/service/IInspectionTasksService.java b/src/main/java/org/energy/modules/inspection/service/IInspectionTasksService.java index b4700c6..912114a 100644 --- a/src/main/java/org/energy/modules/inspection/service/IInspectionTasksService.java +++ b/src/main/java/org/energy/modules/inspection/service/IInspectionTasksService.java @@ -1,9 +1,15 @@ package org.energy.modules.inspection.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.energy.modules.inspection.entity.InspectionTasks; +import org.energy.modules.inspection.excel.InspectionTasksExcel; import org.energy.modules.inspection.vo.InspectionTasksVO; import com.dayu.daf.core.mp.base.BaseService; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.energy.modules.leger.entity.EquipmentLedger; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; + +import java.util.List; /** * 巡检任务 服务类 @@ -22,4 +28,12 @@ public interface IInspectionTasksService extends BaseService { */ IPage selectInspectionTasksPage(IPage page, InspectionTasksVO inspectionTasks); + /** + * 获取导出数据 + * + * @param queryWrapper + * @return + */ + List export(Wrapper queryWrapper); + } diff --git a/src/main/java/org/energy/modules/inspection/service/impl/InspectionTasksServiceImpl.java b/src/main/java/org/energy/modules/inspection/service/impl/InspectionTasksServiceImpl.java index 4f327f4..dd60773 100644 --- a/src/main/java/org/energy/modules/inspection/service/impl/InspectionTasksServiceImpl.java +++ b/src/main/java/org/energy/modules/inspection/service/impl/InspectionTasksServiceImpl.java @@ -1,13 +1,19 @@ package org.energy.modules.inspection.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.energy.modules.inspection.entity.InspectionTasks; +import org.energy.modules.inspection.excel.InspectionTasksExcel; import org.energy.modules.inspection.vo.InspectionTasksVO; import org.energy.modules.inspection.mapper.InspectionTasksMapper; import org.energy.modules.inspection.service.IInspectionTasksService; import com.dayu.daf.core.mp.base.BaseServiceImpl; +import org.energy.modules.leger.entity.EquipmentLedger; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + /** * 巡检任务 服务实现类 * @@ -22,4 +28,10 @@ public class InspectionTasksServiceImpl extends BaseServiceImpl export(Wrapper queryWrapper) { + List list = baseMapper.exportData(queryWrapper); + return list; + } + }