From 8392e53a75c3da405e8b40208fd24cafb3055676 Mon Sep 17 00:00:00 2001 From: yangzhicheng Date: Fri, 12 Jul 2024 13:17:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=96=B0=E8=A7=84=E7=99=BB=E5=BD=95=20=20?= =?UTF-8?q?=E8=B7=AF=E7=BA=BF=E7=BC=96=E5=8F=B7key=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspection/controller/InspectionRouteController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/energy/modules/inspection/controller/InspectionRouteController.java b/src/main/java/org/energy/modules/inspection/controller/InspectionRouteController.java index 9e9223d..e63a79d 100644 --- a/src/main/java/org/energy/modules/inspection/controller/InspectionRouteController.java +++ b/src/main/java/org/energy/modules/inspection/controller/InspectionRouteController.java @@ -155,7 +155,7 @@ public class InspectionRouteController extends DafController { number = 1; } String numFormat = String.format("%04d", number); - String no = "R" + date + numFormat; + String no = "L" + date + numFormat; inspectionRoute.setRouteNo(no); return R.status(inspectionRouteService.saveOrUpdate(inspectionRoute)); } 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 2/4] =?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; + } } From 4c22f9b27a60c766bc1ce53e42b2c3190d01ed9c Mon Sep 17 00:00:00 2001 From: yangzhicheng Date: Fri, 12 Jul 2024 14:15:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E8=A7=84=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InspectionPlanController.java | 257 ++++++++++++++++++ .../inspection/dto/InspectionPlanDTO.java | 18 ++ .../inspection/entity/InspectionPlan.java | 86 ++++++ .../inspection/excel/InspectionPlanExcel.java | 77 ++++++ .../mapper/InspectionPlanMapper.java | 47 ++++ .../mapper/InspectionPlanMapper.xml | 61 +++++ .../service/IInspectionPlanService.java | 55 ++++ .../impl/InspectionPlanServiceImpl.java | 54 ++++ .../inspection/vo/InspectionPlanVO.java | 20 ++ 9 files changed, 675 insertions(+) create mode 100644 src/main/java/org/energy/modules/inspection/controller/InspectionPlanController.java create mode 100644 src/main/java/org/energy/modules/inspection/dto/InspectionPlanDTO.java create mode 100644 src/main/java/org/energy/modules/inspection/entity/InspectionPlan.java create mode 100644 src/main/java/org/energy/modules/inspection/excel/InspectionPlanExcel.java create mode 100644 src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.java create mode 100644 src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.xml create mode 100644 src/main/java/org/energy/modules/inspection/service/IInspectionPlanService.java create mode 100644 src/main/java/org/energy/modules/inspection/service/impl/InspectionPlanServiceImpl.java create mode 100644 src/main/java/org/energy/modules/inspection/vo/InspectionPlanVO.java diff --git a/src/main/java/org/energy/modules/inspection/controller/InspectionPlanController.java b/src/main/java/org/energy/modules/inspection/controller/InspectionPlanController.java new file mode 100644 index 0000000..4c295ca --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/controller/InspectionPlanController.java @@ -0,0 +1,257 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.gnu.org/licenses/lgpl.html + *

+ * 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.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.InspectionPlanExcel; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.energy.modules.inspection.entity.InspectionPlan; +import org.energy.modules.inspection.vo.InspectionPlanVO; +import org.energy.modules.inspection.service.IInspectionPlanService; +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; + +/** + * 巡检计划 控制器 + * + * @author Daf + * @since 2024-07-12 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/inspection/inspectionplan") +@Api(value = "巡检计划", tags = "巡检计划接口") +public class InspectionPlanController extends DafController { + + private IInspectionPlanService inspectionPlanService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入inspectionPlan") + public R detail(InspectionPlan inspectionPlan) { + InspectionPlan detail = inspectionPlanService.getOne(Condition.getQueryWrapper(inspectionPlan)); + return R.data(detail); + } + + /** + * 分页 巡检计划 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入inspectionPlan") + public R> list(InspectionPlan inspectionPlan, Query query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.orderByAsc("plan_no"); + if (StringUtil.isNotEmpty(inspectionPlan.getPlanNo())) { + qw.lambda().like(InspectionPlan::getPlanNo, inspectionPlan.getPlanNo()); + } + if (StringUtil.isNotEmpty(inspectionPlan.getPlanName())) { + qw.lambda().like(InspectionPlan::getPlanName, inspectionPlan.getPlanName()); + } + if (null != inspectionPlan.getStation()) { + qw.lambda().eq(InspectionPlan::getStation, inspectionPlan.getStation()); + } + if (StringUtil.isNotEmpty(inspectionPlan.getPeriodType())) { + qw.lambda().like(InspectionPlan::getPeriodType, inspectionPlan.getPeriodType()); + } + if (null != inspectionPlan.getPlanStatus()) { + qw.lambda().eq(InspectionPlan::getPlanStatus, inspectionPlan.getPlanStatus()); + } + IPage pages = inspectionPlanService.page(Condition.getPage(query), qw); + return R.data(pages); + } + + /** + * 自定义分页 巡检计划 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "分页", notes = "传入inspectionPlan") + public R> page(InspectionPlanVO inspectionPlan, Query query) { + IPage pages = inspectionPlanService.selectInspectionPlanPage(Condition.getPage(query), inspectionPlan); + return R.data(pages); + } + + /** + * 新增 巡检计划 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "新增", notes = "传入inspectionPlan") + public R save(@Valid @RequestBody InspectionPlan inspectionPlan) { + return R.status(inspectionPlanService.save(inspectionPlan)); + } + + /** + * 修改 巡检计划 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "修改", notes = "传入inspectionPlan") + public R update(@Valid @RequestBody InspectionPlan inspectionPlan) { + return R.status(inspectionPlanService.updateById(inspectionPlan)); + } + + /** + * 新增或修改 巡检计划 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "新增或修改", notes = "传入inspectionPlan") + public R submit(@Valid @RequestBody InspectionPlan inspectionPlan) { + inspectionPlan.setPlanStatus(1); + String date = LocalDate.now().toString().replace("-",""); + String maxNo = inspectionPlanService.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 = "J" + date + numFormat; + inspectionPlan.setPlanNo(no); + return R.status(inspectionPlanService.saveOrUpdate(inspectionPlan)); + } + + + /** + * 删除 巡检计划 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @ApiOperation(value = "逻辑删除", notes = "传入ids") + public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return R.status(inspectionPlanService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 生效 + */ + @PostMapping("/takeEffect") + @ApiOperationSupport(order = 8) + @ApiOperation(value = "生效", notes = "传入ids") + public R takeEffect(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return this.updateInspectionPlan(1, "", ids); + } + + /** + * 失效 + */ + @PostMapping("/lapse") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "失效", notes = "传入ids") + public R lapse(@ApiParam(value = "主键集合", required = true) @RequestParam String ids, @ApiParam(value = "取消原因", required = true) @RequestParam String reason) { + return this.updateInspectionPlan(0, reason, ids); + } + + /** + * 生效OR失效 + */ + public R updateInspectionPlan(Integer status, String reason, String ids) { + List list = new ArrayList<>(); + for (String id : ids.split(",")) { + InspectionPlan inspectionPlan = new InspectionPlan(); + inspectionPlan.setId(Long.parseLong(id)); + inspectionPlan.setCancelReason(reason); + inspectionPlan.setPlanStatus(status); + list.add(inspectionPlan); + } + return R.status(inspectionPlanService.updateBatchById(list)); + } + + + /** + * 导出 + */ + @SneakyThrows + @GetMapping("export") + @ApiOperationSupport(order = 10) + @ApiOperation(value = "导出", notes = "传入") + @ApiLog + public void exportInspectionRoute(@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("planStatus_equal")) { + entity.put("planStatus_equal", Integer.parseInt((String) entity.get("planStatus_equal"))); + } + QueryWrapper queryWrapper = Condition.getQueryWrapper(entity, InspectionPlan.class); + queryWrapper.lambda().eq(InspectionPlan::getIsDeleted, DafConstant.DB_NOT_DELETED); + queryWrapper.orderByAsc("plan_no"); + + List list = inspectionPlanService.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(), InspectionPlanExcel.class).sheet("巡检计划").doWrite(list); + } + + /** + * 获取路线编号 + */ + @GetMapping("/getPlanList") + @ApiOperationSupport(order = 11) + @ApiOperation(value = "获取路线编号", notes = "获取路线编号") + public R> getPlanList() { + List routeList = inspectionPlanService.getPlanList(); + return R.data(routeList); + } + + /** + * 获取路线编号 + */ + @GetMapping("/getDetail") + @ApiOperationSupport(order = 12) + @ApiOperation(value = "获取路线信息", notes = "获取路线信息") + public R getDetail(String planNo) { + InspectionPlan detail = inspectionPlanService.getDetail("'" + planNo + "'"); + return R.data(detail); + } +} diff --git a/src/main/java/org/energy/modules/inspection/dto/InspectionPlanDTO.java b/src/main/java/org/energy/modules/inspection/dto/InspectionPlanDTO.java new file mode 100644 index 0000000..a3053c1 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/dto/InspectionPlanDTO.java @@ -0,0 +1,18 @@ +package org.energy.modules.inspection.dto; + +import org.energy.modules.inspection.entity.InspectionPlan; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 巡检计划数据传输对象实体类 + * + * @author Daf + * @since 2024-07-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class InspectionPlanDTO extends InspectionPlan { + private static final long serialVersionUID = 1L; + +} diff --git a/src/main/java/org/energy/modules/inspection/entity/InspectionPlan.java b/src/main/java/org/energy/modules/inspection/entity/InspectionPlan.java new file mode 100644 index 0000000..c020a70 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/entity/InspectionPlan.java @@ -0,0 +1,86 @@ +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; +import io.swagger.annotations.ApiModelProperty; + +/** + * 巡检计划实体类 + * + * @author Daf + * @since 2024-07-12 + */ +@Data +@TableName("i_inspection_plan") +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "InspectionPlan对象", description = "巡检计划") +public class InspectionPlan extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @JsonSerialize(using = ToStringSerializer.class) + @ApiModelProperty(value = "主键") + private Long id; + /** + * 计划编号 + */ + @ApiModelProperty(value = "计划编号") + private String planNo; + /** + * 计划名称 + */ + @ApiModelProperty(value = "计划名称") + private String planName; + /** + * 场站 + */ + @ApiModelProperty(value = "场站") + private Integer station; + /** + * 计划类型 + */ + @ApiModelProperty(value = "计划类型") + private String planType; + /** + * 周期类型 + */ + @ApiModelProperty(value = "周期类型") + private String periodType; + /** + * 周期值 + */ + @ApiModelProperty(value = "周期值") + private String periodValue; + /** + * 计划起始时间 + */ + @ApiModelProperty(value = "计划起始时间") + private String startTime; + /** + * 计划终了时间 + */ + @ApiModelProperty(value = "计划终了时间") + private String endTime; + /** + * 计划状态 + */ + @ApiModelProperty(value = "计划状态") + private Integer planStatus; + /** + * 取消原因 + */ + @ApiModelProperty(value = "取消原因") + private String cancelReason; + + +} diff --git a/src/main/java/org/energy/modules/inspection/excel/InspectionPlanExcel.java b/src/main/java/org/energy/modules/inspection/excel/InspectionPlanExcel.java new file mode 100644 index 0000000..9543508 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/excel/InspectionPlanExcel.java @@ -0,0 +1,77 @@ +/** + * 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 InspectionPlanExcel implements Serializable { + private static final long serialVersionUID = 1L; + + @ColumnWidth(20) + @ExcelProperty(value = "计划编号") + private String planNo; + + @ColumnWidth(15) + @ExcelProperty(value = "计划名称") + private String planNme; + + @ColumnWidth(15) + @ExcelProperty(value = "场站") + private String stationName; + + @ColumnWidth(15) + @ExcelProperty(value = "计划类型") + private String planType; + + @ColumnWidth(15) + @ExcelProperty(value = "周期类型") + private String periodType; + + @ColumnWidth(15) + @ExcelProperty(value = "周期值") + private String periodValue; + + @ColumnWidth(15) + @ExcelProperty(value = "计划起始时间") + private String startTime; + + @ColumnWidth(15) + @ExcelProperty(value = "计划终了时间") + private String endTime; + + @ColumnWidth(15) + @ExcelProperty(value = "状态") + private String planStatusName; + + @ColumnWidth(15) + @ExcelProperty(value = "取消原因") + private String cancelReason; + +} diff --git a/src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.java b/src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.java new file mode 100644 index 0000000..031bce7 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.java @@ -0,0 +1,47 @@ +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.InspectionPlan; +import org.energy.modules.inspection.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionPlanExcel; +import org.energy.modules.inspection.vo.InspectionPlanVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * 巡检计划 Mapper 接口 + * + * @author Daf + * @since 2024-07-12 + */ +public interface InspectionPlanMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param inspectionPlan + * @return + */ + List selectInspectionPlanPage(IPage page, InspectionPlanVO inspectionPlan); + + List exportData(@Param("ew") Wrapper queryWrapper); + + /** + * 获取路线编号 + */ + List getPlanList(); + + /** + * 获取最大编号 + */ + String getMaxNo(String date); + + /** + * 获取路线的信息 + */ + InspectionPlan getDetail(String planNo); + +} diff --git a/src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.xml b/src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.xml new file mode 100644 index 0000000..d63ab76 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/mapper/InspectionPlanMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/org/energy/modules/inspection/service/IInspectionPlanService.java b/src/main/java/org/energy/modules/inspection/service/IInspectionPlanService.java new file mode 100644 index 0000000..a2de7c1 --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/service/IInspectionPlanService.java @@ -0,0 +1,55 @@ +package org.energy.modules.inspection.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.energy.modules.inspection.entity.InspectionPlan; +import org.energy.modules.inspection.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionPlanExcel; +import org.energy.modules.inspection.vo.InspectionPlanVO; +import com.dayu.daf.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 巡检计划 服务类 + * + * @author Daf + * @since 2024-07-12 + */ +public interface IInspectionPlanService extends BaseService { + + /** + * 自定义分页 + * + * @param page + * @param inspectionPlan + * @return + */ + IPage selectInspectionPlanPage(IPage page, InspectionPlanVO inspectionPlan); + + /** + * 获取导出数据 + * + * @param queryWrapper + * @return + */ + List export(Wrapper queryWrapper); + + /** + * 获取路线编号 + */ + List getPlanList(); + + /** + * 获取最大任务编号 + * + * @param date + */ + String getMaxNo(String date); + + /** + * 获取路线的信息 + */ + InspectionPlan getDetail(String planNo); + +} diff --git a/src/main/java/org/energy/modules/inspection/service/impl/InspectionPlanServiceImpl.java b/src/main/java/org/energy/modules/inspection/service/impl/InspectionPlanServiceImpl.java new file mode 100644 index 0000000..0124b4c --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/service/impl/InspectionPlanServiceImpl.java @@ -0,0 +1,54 @@ +package org.energy.modules.inspection.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.energy.modules.inspection.entity.InspectionPlan; +import org.energy.modules.inspection.entity.InspectionRoute; +import org.energy.modules.inspection.excel.InspectionPlanExcel; +import org.energy.modules.inspection.vo.InspectionPlanVO; +import org.energy.modules.inspection.mapper.InspectionPlanMapper; +import org.energy.modules.inspection.service.IInspectionPlanService; +import com.dayu.daf.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 巡检计划 服务实现类 + * + * @author Daf + * @since 2024-07-12 + */ +@Service +public class InspectionPlanServiceImpl extends BaseServiceImpl implements IInspectionPlanService { + + @Override + public IPage selectInspectionPlanPage(IPage page, InspectionPlanVO inspectionPlan) { + return page.setRecords(baseMapper.selectInspectionPlanPage(page, inspectionPlan)); + } + + @Override + public List export(Wrapper queryWrapper) { + List list = baseMapper.exportData(queryWrapper); + return list; + } + + @Override + public List getPlanList() { + List list = baseMapper.getPlanList(); + return list; + } + + @Override + public String getMaxNo(String date){ + String maxNo = baseMapper.getMaxNo(date); + return maxNo; + } + + @Override + public InspectionPlan getDetail(String planNo) { + InspectionPlan detail = baseMapper.getDetail(planNo); + return detail; + } + +} diff --git a/src/main/java/org/energy/modules/inspection/vo/InspectionPlanVO.java b/src/main/java/org/energy/modules/inspection/vo/InspectionPlanVO.java new file mode 100644 index 0000000..1ee3a4e --- /dev/null +++ b/src/main/java/org/energy/modules/inspection/vo/InspectionPlanVO.java @@ -0,0 +1,20 @@ +package org.energy.modules.inspection.vo; + +import org.energy.modules.inspection.entity.InspectionPlan; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 巡检计划视图实体类 + * + * @author Daf + * @since 2024-07-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "InspectionPlanVO对象", description = "巡检计划") +public class InspectionPlanVO extends InspectionPlan { + private static final long serialVersionUID = 1L; + +} From 80b1b53f6727e925dfbb8c7432a6899c204eb7eb Mon Sep 17 00:00:00 2001 From: weitingdong <2480899115@qq.com> Date: Fri, 12 Jul 2024 14:54:54 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E5=AF=B9=E8=B1=A1=20?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E7=BC=96=E7=A0=81key=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InspectionObjectController.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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 ac1e8e6..f97c086 100644 --- a/src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java +++ b/src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java @@ -94,17 +94,14 @@ public class InspectionObjectController extends DafController { qw.lambda().eq(InspectionObject::getObjectName, inspectionObject.getObjectName()); } if (null != inspectionObject.getStation()) { - qw.lambda().like(InspectionObject::getStation, inspectionObject.getStation()); + qw.lambda().eq(InspectionObject::getStation, inspectionObject.getStation()); } if (null != inspectionObject.getIstatus()) { - qw.lambda().like(InspectionObject::getIstatus, inspectionObject.getIstatus()); + qw.lambda().eq(InspectionObject::getIstatus, inspectionObject.getIstatus()); } if (StringUtil.isNotEmpty(inspectionObject.getObjectArea())){ qw.lambda().like(InspectionObject::getObjectArea, inspectionObject.getObjectArea()); } - if (StringUtil.isNotEmpty(inspectionObject.getKksNo())){ - qw.lambda().like(InspectionObject::getKksNo, inspectionObject.getKksNo()); - } IPage pages = inspectionObjectService.page(Condition.getPage(query), qw); return R.data(pages); } @@ -158,7 +155,7 @@ public class InspectionObjectController extends DafController { number = 1; } String numFormat = String.format("%04d", number); - String no = "R" + date + numFormat; + String no = "D" + date + numFormat; inspectionObject.setObjectNo(no); return R.status(inspectionObjectService.saveOrUpdate(inspectionObject)); }