From 5166e818e98fd85bde6c98f8807346f63759de73 Mon Sep 17 00:00:00 2001 From: weitingdong <2480899115@qq.com> Date: Fri, 12 Jul 2024 14:05:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E5=AF=B9=E8=B1=A1=20?= =?UTF-8?q?=E7=94=9F=E6=95=88or=E5=A4=B1=E6=95=88=20=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InspectionObjectController.java | 91 ++++++++++++++++++- .../inspection/entity/InspectionObject.java | 4 + .../excel/InspectionObjectExcel.java | 49 ++++++++++ .../mapper/InspectionObjectMapper.java | 22 +++++ .../mapper/InspectionObjectMapper.xml | 47 ++++++++++ .../service/IInspectionObjectService.java | 32 +++++++ .../impl/InspectionObjectServiceImpl.java | 27 ++++++ 7 files changed, 267 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/energy/modules/inspection/excel/InspectionObjectExcel.java diff --git a/src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java b/src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java index 24ea28f..ac1e8e6 100644 --- a/src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java +++ b/src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java @@ -15,20 +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.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionObjectExcel; +import org.energy.modules.inspection.excel.InspectionRouteExcel; import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestParam; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,9 +45,13 @@ import org.energy.modules.inspection.entity.InspectionObject; import org.energy.modules.inspection.vo.InspectionObjectVO; import org.energy.modules.inspection.service.IInspectionObjectService; import com.dayu.daf.core.boot.ctrl.DafController; +import springfox.documentation.annotations.ApiIgnore; +import java.net.URLEncoder; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * 巡检对象一览 控制器 @@ -73,7 +86,7 @@ public class InspectionObjectController extends DafController { @ApiOperation(value = "分页", notes = "传入inspectionObject") public R> list(InspectionObject inspectionObject, Query query) { QueryWrapper qw = new QueryWrapper<>(); - qw.orderByAsc("route_no"); + qw.orderByAsc("object_No"); if (StringUtil.isNotEmpty(inspectionObject.getObjectNo())) { qw.lambda().like(InspectionObject::getObjectNo, inspectionObject.getObjectNo()); } @@ -83,6 +96,9 @@ public class InspectionObjectController extends DafController { if (null != inspectionObject.getStation()) { qw.lambda().like(InspectionObject::getStation, inspectionObject.getStation()); } + if (null != inspectionObject.getIstatus()) { + qw.lambda().like(InspectionObject::getIstatus, inspectionObject.getIstatus()); + } if (StringUtil.isNotEmpty(inspectionObject.getObjectArea())){ qw.lambda().like(InspectionObject::getObjectArea, inspectionObject.getObjectArea()); } @@ -131,6 +147,19 @@ public class InspectionObjectController extends DafController { @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入inspectionObject") public R submit(@Valid @RequestBody InspectionObject inspectionObject) { + inspectionObject.setIstatus(1); + String date = LocalDate.now().toString().replace("-",""); + String maxNo = inspectionObjectService.getMaxNo("'%" + date + "%'"); + int number; + if (StringUtil.isNotEmpty(maxNo)){ + number = Integer.parseInt(maxNo.substring(9)); + number++; + }else{ + number = 1; + } + String numFormat = String.format("%04d", number); + String no = "R" + date + numFormat; + inspectionObject.setObjectNo(no); return R.status(inspectionObjectService.saveOrUpdate(inspectionObject)); } @@ -151,7 +180,7 @@ public class InspectionObjectController extends DafController { @ApiOperationSupport(order = 8) @ApiOperation(value = "生效", notes = "传入ids") public R takeEffect(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return this.updateInspectionRoute(1,ids); + return this.updateInspectionObject(1, "", ids); } /** @@ -160,22 +189,74 @@ public class InspectionObjectController extends DafController { @PostMapping("/lapse") @ApiOperationSupport(order = 9) @ApiOperation(value = "失效", notes = "传入ids") - public R lapse(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return this.updateInspectionRoute(0,ids); + public R lapse(@ApiParam(value = "主键集合", required = true) @RequestParam String ids,@ApiParam(value = "取消原因", required = true) @RequestParam String reason) { + return this.updateInspectionObject(0, reason, ids); } /** * 生效OR失效 */ - public R updateInspectionRoute(Integer status, String ids) { + public R updateInspectionObject(Integer status, String reason, String ids) { List list = new ArrayList<>(); for (String id : ids.split(",")) { InspectionObject inspectionObject = new InspectionObject(); inspectionObject.setId(Long.parseLong(id)); + inspectionObject.setCancelReason(reason); inspectionObject.setIstatus(status); list.add(inspectionObject); } return R.status(inspectionObjectService.updateBatchById(list)); } + /** + * 导出 + */ + @SneakyThrows + @GetMapping("export") + @ApiOperationSupport(order = 10) + @ApiOperation(value = "导出", notes = "传入") + @ApiLog + public void exportInspectionObject(@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("istatus_equal")) { + entity.put("istatus_equal", Integer.parseInt((String) entity.get("istatus_equal"))); + } + if (entity.containsKey("objectName_equal")) { + entity.put("objectName_equal", Integer.parseInt((String) entity.get("objectName_equal"))); + } + QueryWrapper queryWrapper = Condition.getQueryWrapper(entity, InspectionObject.class); + queryWrapper.lambda().eq(InspectionObject::getIsDeleted, DafConstant.DB_NOT_DELETED); + queryWrapper.orderByAsc("object_No"); + + List list = inspectionObjectService.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(), InspectionObjectExcel.class).sheet("巡检对象").doWrite(list); + } + + /** + * 获取对象编号 + */ + @GetMapping("/getObjectList") + @ApiOperationSupport(order = 11) + @ApiOperation(value = "获取对象编号", notes = "获取对象编号") + public R> getObjectNoList() { + List routeList = inspectionObjectService.getObjectList(); + return R.data(routeList); + } + + /** + * 获取对象编号 + */ + @GetMapping("/getDetailList") + @ApiOperationSupport(order = 12) + @ApiOperation(value = "获取对象信息", notes = "获取对象信息") + public R getDetailList(String objectNo) { + InspectionObject DetailList = inspectionObjectService.getDetailList("'" + objectNo + "'"); + return R.data(DetailList); + } } diff --git a/src/main/java/org/energy/modules/inspection/entity/InspectionObject.java b/src/main/java/org/energy/modules/inspection/entity/InspectionObject.java index d258862..b223837 100644 --- a/src/main/java/org/energy/modules/inspection/entity/InspectionObject.java +++ b/src/main/java/org/energy/modules/inspection/entity/InspectionObject.java @@ -3,6 +3,9 @@ package org.energy.modules.inspection.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.dayu.daf.core.mp.base.BaseEntity; import java.io.Serializable; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.EqualsAndHashCode; import io.swagger.annotations.ApiModel; @@ -25,6 +28,7 @@ public class InspectionObject extends BaseEntity { /** * 主键 */ + @JsonSerialize(using = ToStringSerializer.class) @ApiModelProperty(value = "主键") private Long id; /** diff --git a/src/main/java/org/energy/modules/inspection/excel/InspectionObjectExcel.java b/src/main/java/org/energy/modules/inspection/excel/InspectionObjectExcel.java new file mode 100644 index 0000000..a6830a0 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/excel/InspectionObjectExcel.java @@ -0,0 +1,49 @@ +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; + +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(16) +public class InspectionObjectExcel implements Serializable { + private static final long serialVersionUID = 1L; + + @ColumnWidth(20) + @ExcelProperty(value = "对象编号") + private String objectNo; + + @ColumnWidth(15) + @ExcelProperty(value = "对象名称") + private String objectNameExt; + + @ColumnWidth(15) + @ExcelProperty(value = "场站") + private String stationsName; + + @ColumnWidth(15) + @ExcelProperty(value = "对象类型") + private String objectType; + + @ColumnWidth(15) + @ExcelProperty(value = "对象区域") + private String objectArea; + + @ColumnWidth(15) + @ExcelProperty(value = "对象状态") + private String istatusName; + + @ColumnWidth(15) + @ExcelProperty(value = "KKS编号") + private String kksNo; + + @ColumnWidth(15) + @ExcelProperty(value = "取消原因") + private String cancelReason; +} diff --git a/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.java b/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.java index 756fd0a..b2788b1 100644 --- a/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.java +++ b/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.java @@ -1,6 +1,11 @@ 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.InspectionObject; +import org.energy.modules.inspection.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionObjectExcel; +import org.energy.modules.inspection.excel.InspectionRouteExcel; import org.energy.modules.inspection.vo.InspectionObjectVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -23,4 +28,21 @@ public interface InspectionObjectMapper extends BaseMapper { */ List selectInspectionObjectPage(IPage page, InspectionObjectVO inspectionObject); + List exportData(@Param("ew") Wrapper queryWrapper); + + /** + * 获取路线编号 + */ + List getObjectList(); + + /** + * 获取最大编号 + */ + String getMaxNo(String date); + + /** + * 获取路线的信息 + */ + InspectionObject getDetailList(String routeNo); + } diff --git a/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.xml b/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.xml index f2b271c..548c9f1 100644 --- a/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.xml +++ b/src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.xml @@ -26,4 +26,51 @@ select * from i_inspection_object where is_deleted = 0 + + + + + + + diff --git a/src/main/java/org/energy/modules/inspection/service/IInspectionObjectService.java b/src/main/java/org/energy/modules/inspection/service/IInspectionObjectService.java index c6c667b..06dc6da 100644 --- a/src/main/java/org/energy/modules/inspection/service/IInspectionObjectService.java +++ b/src/main/java/org/energy/modules/inspection/service/IInspectionObjectService.java @@ -1,10 +1,16 @@ package org.energy.modules.inspection.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.energy.modules.inspection.entity.InspectionObject; +import org.energy.modules.inspection.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionObjectExcel; +import org.energy.modules.inspection.excel.InspectionRouteExcel; import org.energy.modules.inspection.vo.InspectionObjectVO; import com.dayu.daf.core.mp.base.BaseService; import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + /** * 巡检对象一览 服务类 * @@ -22,4 +28,30 @@ public interface IInspectionObjectService extends BaseService */ IPage selectInspectionObjectPage(IPage page, InspectionObjectVO inspectionObject); + /** + * 获取导出数据 + * + * @param queryWrapper + * @return + */ + List export(Wrapper queryWrapper); + + + /** + * 获取路线编号 + */ + List getObjectList(); + + /** + * 获取最大任务编号 + * + * @param date + */ + String getMaxNo(String date); + + /** + * 获取路线的信息 + */ + InspectionObject getDetailList(String objectNo); + } diff --git a/src/main/java/org/energy/modules/inspection/service/impl/InspectionObjectServiceImpl.java b/src/main/java/org/energy/modules/inspection/service/impl/InspectionObjectServiceImpl.java index 4a0d3a8..a7f5433 100644 --- a/src/main/java/org/energy/modules/inspection/service/impl/InspectionObjectServiceImpl.java +++ b/src/main/java/org/energy/modules/inspection/service/impl/InspectionObjectServiceImpl.java @@ -1,6 +1,10 @@ package org.energy.modules.inspection.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.energy.modules.inspection.entity.InspectionObject; +import org.energy.modules.inspection.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionObjectExcel; +import org.energy.modules.inspection.excel.InspectionRouteExcel; import org.energy.modules.inspection.vo.InspectionObjectVO; import org.energy.modules.inspection.mapper.InspectionObjectMapper; import org.energy.modules.inspection.service.IInspectionObjectService; @@ -8,6 +12,8 @@ import com.dayu.daf.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + /** * 巡检对象一览 服务实现类 * @@ -21,5 +27,26 @@ public class InspectionObjectServiceImpl extends BaseServiceImpl selectInspectionObjectPage(IPage page, InspectionObjectVO inspectionObject) { return page.setRecords(baseMapper.selectInspectionObjectPage(page, inspectionObject)); } + @Override + public List export(Wrapper queryWrapper) { + List list = baseMapper.exportData(queryWrapper); + return list; + } + @Override + public List getObjectList() { + List list = baseMapper.getObjectList(); + return list; + } + @Override + public String getMaxNo(String date){ + String maxNo = baseMapper.getMaxNo(date); + return maxNo; + } + + @Override + public InspectionObject getDetailList(String objectNo) { + InspectionObject DetailList = baseMapper.getDetailList(objectNo); + return DetailList; + } }