巡检对象 生效or失效 导出

main
weitingdong 12 months ago
parent fb8e80999e
commit 5166e818e9
  1. 91
      src/main/java/org/energy/modules/inspection/controller/InspectionObjectController.java
  2. 4
      src/main/java/org/energy/modules/inspection/entity/InspectionObject.java
  3. 49
      src/main/java/org/energy/modules/inspection/excel/InspectionObjectExcel.java
  4. 22
      src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.java
  5. 47
      src/main/java/org/energy/modules/inspection/mapper/InspectionObjectMapper.xml
  6. 32
      src/main/java/org/energy/modules/inspection/service/IInspectionObjectService.java
  7. 27
      src/main/java/org/energy/modules/inspection/service/impl/InspectionObjectServiceImpl.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<IPage<InspectionObject>> list(InspectionObject inspectionObject, Query query) {
QueryWrapper<InspectionObject> 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<InspectionObject> 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<String, Object> 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<InspectionObject> queryWrapper = Condition.getQueryWrapper(entity, InspectionObject.class);
queryWrapper.lambda().eq(InspectionObject::getIsDeleted, DafConstant.DB_NOT_DELETED);
queryWrapper.orderByAsc("object_No");
List<InspectionObjectExcel> 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<List<InspectionObject>> getObjectNoList() {
List<InspectionObject> routeList = inspectionObjectService.getObjectList();
return R.data(routeList);
}
/**
* 获取对象编号
*/
@GetMapping("/getDetailList")
@ApiOperationSupport(order = 12)
@ApiOperation(value = "获取对象信息", notes = "获取对象信息")
public R<InspectionObject> getDetailList(String objectNo) {
InspectionObject DetailList = inspectionObjectService.getDetailList("'" + objectNo + "'");
return R.data(DetailList);
}
}

@ -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;
/**

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

@ -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<InspectionObject> {
*/
List<InspectionObjectVO> selectInspectionObjectPage(IPage page, InspectionObjectVO inspectionObject);
List<InspectionObjectExcel> exportData(@Param("ew") Wrapper<InspectionObject> queryWrapper);
/**
* 获取路线编号
*/
List<InspectionObject> getObjectList();
/**
* 获取最大编号
*/
String getMaxNo(String date);
/**
* 获取路线的信息
*/
InspectionObject getDetailList(String routeNo);
}

@ -26,4 +26,51 @@
select * from i_inspection_object where is_deleted = 0
</select>
<select id="exportData" resultType="org.energy.modules.inspection.excel.InspectionObjectExcel">
Select
object_no
, object_area
, kks_no
, object_type
, cancel_reason
, CASE
WHEN station = '1'
THEN '景和光伏'
WHEN station = '2'
THEN '北沙一光伏'
WHEN station = '3'
THEN '北沙二光伏'
WHEN station = '4'
THEN '达坂城风电一场'
ELSE ''
END AS stations_name
, CASE
WHEN istatus = '1'
THEN '已生效'
WHEN istatus = '0'
THEN '未生效'
ELSE ''
END AS istatus_name
, CASE
WHEN object_name = '1'
THEN '巡检对象01'
WHEN object_name = '2'
THEN '巡检对象02'
ELSE ''
END AS object_name_ext
FROM i_inspection_object ${ew.customSqlSegment}
</select>
<select id="getObjectList" resultMap="inspectionObjectResultMap">
select object_no, object_name, object_type from i_inspection_object where is_deleted = 0 and istatus = 0
</select>
<select id="getMaxNo" resultType="java.lang.String">
SELECT max(object_no)
FROM i_inspection_object where object_no like ${date}
</select>
<select id="getDetailList" resultMap="inspectionObjectResultMap">
select object_name, object_type from i_inspection_object where object_no = ${object_no}
</select>
</mapper>

@ -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<InspectionObject>
*/
IPage<InspectionObjectVO> selectInspectionObjectPage(IPage<InspectionObjectVO> page, InspectionObjectVO inspectionObject);
/**
* 获取导出数据
*
* @param queryWrapper
* @return
*/
List<InspectionObjectExcel> export(Wrapper<InspectionObject> queryWrapper);
/**
* 获取路线编号
*/
List<InspectionObject> getObjectList();
/**
* 获取最大任务编号
*
* @param date
*/
String getMaxNo(String date);
/**
* 获取路线的信息
*/
InspectionObject getDetailList(String objectNo);
}

@ -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<InspectionObjec
public IPage<InspectionObjectVO> selectInspectionObjectPage(IPage<InspectionObjectVO> page, InspectionObjectVO inspectionObject) {
return page.setRecords(baseMapper.selectInspectionObjectPage(page, inspectionObject));
}
@Override
public List<InspectionObjectExcel> export(Wrapper<InspectionObject> queryWrapper) {
List<InspectionObjectExcel> list = baseMapper.exportData(queryWrapper);
return list;
}
@Override
public List<InspectionObject> getObjectList() {
List<InspectionObject> 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;
}
}

Loading…
Cancel
Save