17 files modified
3 files added
| | |
| | | public class AttachDto { |
| | | |
| | | @ApiModelProperty(value = "附件id") |
| | | @NotNull |
| | | private Long id; |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "附件名称") |
| | | private String nickName; |
| | | |
| | | /** |
| | | * 附件地址 |
| | | */ |
| | | @ApiModelProperty(value = "附件地址") |
| | | private String link; |
| | | |
| | | /** |
| | | * 附件名称 |
| | | */ |
| | | @ApiModelProperty(value = "附件名称") |
| | | private String name; |
| | | /** |
| | | * 附件原名 |
| | | */ |
| | | @ApiModelProperty(value = "附件原名") |
| | | private String originalName; |
| | | |
| | | @ApiModelProperty(value = "附件类型: 1=巡查类文档,2=巡检类文档,3=安保类文档,4=文旅类文档,5=采集数据类文档") |
| | | private Integer resultType; |
| | | |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | package org.sxkj.gd.config; |
| | | |
| | | |
| | | import org.apache.ibatis.type.BaseTypeHandler; |
| | | import org.apache.ibatis.type.JdbcType; |
| | | import org.apache.ibatis.type.MappedJdbcTypes; |
| | | import org.apache.ibatis.type.MappedTypes; |
| | | import org.locationtech.jts.geom.Geometry; |
| | | import org.locationtech.jts.geom.GeometryFactory; |
| | | import org.locationtech.jts.geom.PrecisionModel; |
| | | import org.locationtech.jts.io.*; |
| | | |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.InputStream; |
| | | import java.sql.CallableStatement; |
| | | import java.sql.PreparedStatement; |
| | | import java.sql.ResultSet; |
| | | import java.sql.SQLException; |
| | | |
| | | @MappedTypes({String.class}) |
| | | @MappedJdbcTypes({JdbcType.OTHER}) |
| | | public class GeometryTypeHandler extends BaseTypeHandler<String> { |
| | | |
| | | |
| | | @Override |
| | | public void setNonNullParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException { |
| | | |
| | | |
| | | Geometry geo = null; |
| | | try { |
| | | // String转Geometry |
| | | geo = new WKTReader(new GeometryFactory(new PrecisionModel())).read(s); |
| | | // Geometry转WKB |
| | | byte[] geometryBytes = new WKBWriter(2, ByteOrderValues.LITTLE_ENDIAN, false).write(geo); |
| | | // 设置SRID为mysql默认的 0 |
| | | byte[] wkb = new byte[geometryBytes.length + 4]; |
| | | wkb[0] = wkb[1] = wkb[2] = wkb[3] = 0; |
| | | System.arraycopy(geometryBytes, 0, wkb, 4, geometryBytes.length); |
| | | preparedStatement.setBytes(i, wkb); |
| | | } catch (ParseException e) { |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String getNullableResult(ResultSet resultSet, String s) { |
| | | try (InputStream inputStream = resultSet.getBinaryStream(s)) { |
| | | Geometry geo = getGeometryFromInputStream(inputStream); |
| | | if (geo != null) { |
| | | return geo.toString(); |
| | | } |
| | | } catch (Exception e) { |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public String getNullableResult(ResultSet resultSet, int i) { |
| | | try (InputStream inputStream = resultSet.getBinaryStream(i)) { |
| | | Geometry geo = getGeometryFromInputStream(inputStream); |
| | | if (geo != null) { |
| | | return geo.toString(); |
| | | } |
| | | } catch (Exception e) { |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException { |
| | | return ""; |
| | | } |
| | | |
| | | /** |
| | | * 流 转 geometry |
| | | */ |
| | | private Geometry getGeometryFromInputStream(InputStream inputStream) throws Exception { |
| | | |
| | | Geometry dbGeometry = null; |
| | | |
| | | if (inputStream != null) { |
| | | // 二进制流转成字节数组 |
| | | byte[] buffer = new byte[255]; |
| | | |
| | | int bytesRead = 0; |
| | | ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
| | | while ((bytesRead = inputStream.read(buffer)) != -1) { |
| | | baos.write(buffer, 0, bytesRead); |
| | | } |
| | | // 得到字节数组 |
| | | byte[] geometryAsBytes = baos.toByteArray(); |
| | | // 字节数组小于5 异常 |
| | | if (geometryAsBytes.length < 5) { |
| | | |
| | | } |
| | | |
| | | // 字节数组前4个字节表示srid 去掉 |
| | | byte[] sridBytes = new byte[4]; |
| | | System.arraycopy(geometryAsBytes, 0, sridBytes, 0, 4); |
| | | boolean bigEndian = (geometryAsBytes[4] == 0x00); |
| | | // 解析srid |
| | | int srid = 0; |
| | | if (bigEndian) { |
| | | for (int i = 0; i < sridBytes.length; i++) { |
| | | srid = (srid << 8) + (sridBytes[i] & 0xff); |
| | | } |
| | | } else { |
| | | for (int i = 0; i < sridBytes.length; i++) { |
| | | srid += (sridBytes[i] & 0xff) << (8 * i); |
| | | } |
| | | } |
| | | |
| | | WKBReader wkbReader = new WKBReader(); |
| | | // WKBReader 把字节数组转成geometry对象。 |
| | | byte[] wkb = new byte[geometryAsBytes.length - 4]; |
| | | System.arraycopy(geometryAsBytes, 4, wkb, 0, wkb.length); |
| | | dbGeometry = wkbReader.read(wkb); |
| | | dbGeometry.setSRID(srid); |
| | | } |
| | | return dbGeometry; |
| | | } |
| | | } |
| | |
| | | */ |
| | | package org.sxkj.gd.orderdata.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | 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.validation.Valid; |
| | | |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.sxkj.gd.common.GenericConverter; |
| | | import org.sxkj.gd.orderdata.dto.GdApplicationInnovationDTO; |
| | | import org.sxkj.gd.orderdata.entity.GdApplicationInnovationEntity; |
| | | import org.sxkj.gd.orderdata.param.GdApplicationInnovationPageParam; |
| | | import org.sxkj.gd.orderdata.vo.GdApplicationInnovationVO; |
| | | import org.sxkj.gd.orderdata.excel.GdApplicationInnovationExcel; |
| | | import org.sxkj.gd.orderdata.wrapper.GdApplicationInnovationWrapper; |
| | | import org.sxkj.gd.orderdata.param.GdApplicationInnovationParam; |
| | | import org.sxkj.gd.orderdata.service.IGdApplicationInnovationService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import org.sxkj.gd.orderdata.vo.GdApplicationInnovationVO; |
| | | import org.sxkj.gd.orderdata.wrapper.GdApplicationInnovationWrapper; |
| | | |
| | | import javax.validation.Valid; |
| | | |
| | | /** |
| | | * 应用创新案例表 控制器 |
| | |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详情", notes = "传入gdApplicationInnovation") |
| | | public R<GdApplicationInnovationVO> detail(GdApplicationInnovationEntity gdApplicationInnovation) { |
| | | GdApplicationInnovationEntity detail = gdApplicationInnovationService.getOne(Condition.getQueryWrapper(gdApplicationInnovation)); |
| | | public R<GdApplicationInnovationVO> detail(GdApplicationInnovationParam gdApplicationInnovation) { |
| | | GdApplicationInnovationEntity detail = gdApplicationInnovationService.getOne(Condition.getQueryWrapper(GenericConverter.convert(gdApplicationInnovation, GdApplicationInnovationEntity.class))); |
| | | return R.data(GdApplicationInnovationWrapper.build().entityVO(detail)); |
| | | } |
| | | |
| | |
| | | </select> |
| | | |
| | | <select id="getDetail" resultType="org.sxkj.gd.orderdata.vo.GdDataObjectionVO"> |
| | | select do.*, GROUP_CONCAT(da.attach_name SEPARATOR ',') as attach_names |
| | | select do.*, GROUP_CONCAT(da.attach_name SEPARATOR ',') as attach_names ,GROUP_CONCAT(da.attach_id SEPARATOR ',') as attach_ids |
| | | from ja_gd_data_objection do |
| | | left join ja_gd_data_objection_attachment da on do.id = da.objection_id |
| | | <where> |
| New file |
| | |
| | | package org.sxkj.gd.orderdata.param; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | |
| | | @Data |
| | | public class GdApplicationInnovationParam { |
| | | |
| | | @ApiModelProperty(value = "主键id") |
| | | @NotNull |
| | | private Long id; |
| | | } |
| | |
| | | */ |
| | | @ApiModelProperty(value = "附件名称列表(逗号分隔)") |
| | | private String attachNames; |
| | | |
| | | @ApiModelProperty(value = "附件名称列表(逗号分隔)") |
| | | private String attachIds; |
| | | /** |
| | | * 创建人 |
| | | */ |
| New file |
| | |
| | | package org.sxkj.gd.utils; |
| | | |
| | | import org.geotools.geometry.DirectPosition2D; |
| | | import org.geotools.geometry.jts.JTS; |
| | | import org.geotools.referencing.CRS; |
| | | import org.geotools.referencing.crs.DefaultGeographicCRS; |
| | | import org.locationtech.jts.geom.*; |
| | | import org.opengis.referencing.crs.CoordinateReferenceSystem; |
| | | import org.opengis.referencing.operation.MathTransform; |
| | | |
| | | /** |
| | | * @Description TODO 航线拆分工具类 |
| | | * @Author AIX |
| | | * @Date 2025/6/26 9:48 |
| | | * @Version 1.0 |
| | | */ |
| | | public class GeomUtils { |
| | | |
| | | private static final GeometryFactory geometryFactory = new GeometryFactory(); |
| | | |
| | | /** |
| | | * 获取指定点周围指定距离(米)内的多边形区域 |
| | | * |
| | | * @param lon 中心点经度 |
| | | * @param lat 中心点纬度 |
| | | * @param distance 距离(米) |
| | | * @return 多边形几何对象 |
| | | */ |
| | | public static Geometry getAreaWithinDistance(double lon, double lat, double distance) throws Exception { |
| | | // 创建投影CRS(使用UTM投影,适用于小范围距离计算) |
| | | CoordinateReferenceSystem auto = CRS.decode("AUTO:42001," + lon + "," + lat); |
| | | // 源CRS(WGS84) |
| | | CoordinateReferenceSystem sourceCRS = DefaultGeographicCRS.WGS84; |
| | | // 转换到投影CRS |
| | | MathTransform toTransform = CRS.findMathTransform(sourceCRS, auto); |
| | | // 转换回WGS84 |
| | | MathTransform fromTransform = CRS.findMathTransform(auto, sourceCRS); |
| | | |
| | | // 转换中心点到投影坐标系 |
| | | DirectPosition2D src = new DirectPosition2D(sourceCRS, lon, lat); |
| | | DirectPosition2D dest = new DirectPosition2D(); |
| | | toTransform.transform(src, dest); |
| | | |
| | | // 在投影坐标系中创建缓冲区(距离单位为米) |
| | | Point projPoint = geometryFactory.createPoint(new Coordinate(dest.x, dest.y)); |
| | | Geometry buffer = projPoint.buffer(distance); |
| | | |
| | | // 转换回WGS84坐标系 |
| | | Geometry transformedBuffer = JTS.transform(buffer, fromTransform); |
| | | |
| | | return transformedBuffer; |
| | | } |
| | | |
| | | /** |
| | | * 获取某点周围指定距离(米)的缓冲区 |
| | | */ |
| | | public static Polygon getBufferAroundPoint(double lon, double lat, double distance) throws Exception { |
| | | Geometry area = getAreaWithinDistance(lon, lat, distance); |
| | | return (Polygon) area; |
| | | } |
| | | |
| | | /** |
| | | * 获取某点周围指定距离(米)的缓冲区,返回WKT字符串格式 |
| | | * |
| | | * @param lon 中心点经度 |
| | | * @param lat 中心点纬度 |
| | | * @param distance 距离(米) |
| | | * @return WKT格式的多边形字符串,格式:POLYGON((lon1 lat1, lon2 lat2, ...)) |
| | | */ |
| | | public static String getBufferAroundPointAsString(double lon, double lat, double distance) throws Exception { |
| | | Polygon polygon = getBufferAroundPoint(lon, lat, distance); |
| | | return polygon.toText(); |
| | | } |
| | | |
| | | /** |
| | | * 将Polygon对象转换为WKT字符串格式 |
| | | * |
| | | * @param polygon 多边形对象 |
| | | * @return WKT格式的多边形字符串,格式:POLYGON((lon1 lat1, lon2 lat2, ...)) |
| | | */ |
| | | public static String polygonToString(Polygon polygon) { |
| | | return polygon.toText(); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | */ |
| | | package org.sxkj.gd.workorder.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | 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.validation.Valid; |
| | | |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.sxkj.gd.common.GenericConverter; |
| | | import org.sxkj.gd.common.IdParam; |
| | | import org.sxkj.gd.workorder.dto.GdManageDeviceDTO; |
| | | import org.sxkj.gd.workorder.entity.GdManageDeviceEntity; |
| | | import org.sxkj.gd.workorder.vo.GdManageDeviceVO; |
| | | import org.sxkj.gd.workorder.excel.GdManageDeviceExcel; |
| | | import org.sxkj.gd.workorder.wrapper.GdManageDeviceWrapper; |
| | | import org.sxkj.gd.workorder.service.IGdManageDeviceService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.sxkj.gd.workorder.vo.GdManageDeviceVO; |
| | | import org.sxkj.gd.workorder.wrapper.GdManageDeviceWrapper; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 设备信息 控制器 |
| | |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入gdManageDevice") |
| | | public R submit(@Valid @RequestBody GdManageDeviceDTO gdManageDevice) { |
| | | return R.status(gdManageDeviceService.saveOrUpdate(GdManageDeviceWrapper.build().entityDTO(gdManageDevice))); |
| | | public R submit(@Valid @RequestBody GdManageDeviceDTO gdManageDevice) throws Exception { |
| | | return R.status(gdManageDeviceService.saveOrUpdateDevice(GdManageDeviceWrapper.build().entityDTO(gdManageDevice))); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | package org.sxkj.gd.workorder.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.springblade.core.mp.base.BaseEntity; |
| | | import org.sxkj.gd.config.GeometryTypeHandler; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | |
| | | * @since 2026-01-14 |
| | | */ |
| | | @Data |
| | | @TableName("ja_gd_manage_device") |
| | | // @TableName("ja_gd_manage_device") |
| | | @TableName(value = "ja_gd_manage_device",autoResultMap = true) |
| | | @ApiModel(value = "设备信息表", description = "设备信息") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class GdManageDeviceEntity extends BaseEntity { |
| | |
| | | @ApiModelProperty(value = "流量到期时间") |
| | | private Date trafficExpireTime; |
| | | |
| | | /** |
| | | * 5公里范围面数据 |
| | | */ |
| | | @ApiModelProperty(value = "5公里范围面数据") |
| | | @TableField(typeHandler = GeometryTypeHandler.class) |
| | | private String geom; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "区域编码") |
| | | private String areaCode; |
| | | |
| | | /** |
| | | * 拒绝原因(审核拒绝时必填) |
| | | */ |
| | | @ApiModelProperty(value = "拒绝原因(审核拒绝时必填)") |
| | | private String rejectReason; |
| | | |
| | | } |
| | |
| | | @TableField("area_code") |
| | | private String areaCode; |
| | | |
| | | /** |
| | | * 拒绝原因(审核拒绝时必填) |
| | | */ |
| | | @ApiModelProperty(value = "拒绝原因(审核拒绝时必填)") |
| | | @TableField("reject_reason") |
| | | private String rejectReason; |
| | | |
| | | } |
| | |
| | | </select> |
| | | |
| | | <select id="selectGdManageDevice" resultType="org.sxkj.gd.workorder.vo.GdManageDeviceVO"> |
| | | select id, device_sn, device_name, nickname, device_payload,longitude,latitude |
| | | from ja_gd_manage_device |
| | | where is_deleted = 0 |
| | | select |
| | | id, |
| | | device_sn, |
| | | device_name, |
| | | nickname, |
| | | device_payload, |
| | | longitude, |
| | | latitude, |
| | | geom |
| | | from |
| | | ja_gd_manage_device |
| | | where |
| | | is_deleted = 0 |
| | | <if test="deviceIds != null and deviceIds.size() > 0"> |
| | | and id in |
| | | <foreach item="item" collection="deviceIds" index="index" open="(" close=")" separator=","> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="devicePayload != null and devicePayload != ''"> |
| | | and device_payload like concat('%',#{devicePayload},'%') |
| | | </if> |
| | | <if test="geom != null and geom != ''"> |
| | | and ST_Intersects(geom, ST_GeomFromText(#{geom})) |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | service_party, |
| | | ST_AsText(geom) geom, |
| | | remark, |
| | | reject_reason, |
| | | area_code, |
| | | create_user, |
| | | create_dept, |
| | |
| | | * @return |
| | | */ |
| | | List<GdManageDeviceVO> selectGdManageDevice(GdManageDeviceVO gdManageDevice); |
| | | |
| | | /** |
| | | * 新增或修改 |
| | | * @param gdManageDeviceEntity |
| | | * @return |
| | | */ |
| | | boolean saveOrUpdateDevice(GdManageDeviceEntity gdManageDeviceEntity) throws Exception; |
| | | } |
| | |
| | | */ |
| | | package org.sxkj.gd.workorder.service.impl; |
| | | |
| | | import org.sxkj.gd.utils.GeomUtils; |
| | | import org.sxkj.gd.workorder.entity.GdManageDeviceEntity; |
| | | import org.sxkj.gd.workorder.vo.GdManageDeviceVO; |
| | | import org.sxkj.gd.workorder.excel.GdManageDeviceExcel; |
| | |
| | | return gdManageDeviceList; |
| | | } |
| | | |
| | | /** |
| | | * 保存或更新设备信息 |
| | | * |
| | | * @param gdManageDeviceEntity |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public boolean saveOrUpdateDevice(GdManageDeviceEntity gdManageDeviceEntity) throws Exception { |
| | | // 获取设备位置 生成缓冲区 |
| | | if (gdManageDeviceEntity.getLongitude() != null && gdManageDeviceEntity.getLatitude() != null) { |
| | | String bufferAroundPointAsString = GeomUtils.getBufferAroundPointAsString(gdManageDeviceEntity.getLongitude(), gdManageDeviceEntity.getLatitude(), 5 * 1000); |
| | | gdManageDeviceEntity.setGeom(bufferAroundPointAsString); |
| | | } |
| | | return saveOrUpdate(gdManageDeviceEntity); |
| | | } |
| | | } |
| | |
| | | task.setTaskStatus(newStatusEnum.getValue()); |
| | | task.setUpdateUser(AuthUtil.getUserId()); |
| | | task.setUpdateTime(now); |
| | | task.setRejectReason(auditParam.getRejectReason()); |
| | | boolean updateResult = updateById(task); |
| | | if (!updateResult) { |
| | | throw new RuntimeException("更新任务状态失败"); |
| | |
| | | workOrder.setUpdateUser(AuthUtil.getUserId()); |
| | | workOrder.setGeom(null); |
| | | workOrder.setUpdateTime(now); |
| | | workOrder.setRejectReason(statusParam.getRejectReason()); |
| | | boolean updateResult = updateById(workOrder); |
| | | |
| | | // 5. 保存流转记录 |
| | |
| | | @ApiModelProperty(value = "设备ids") |
| | | private List<Integer> deviceIds; |
| | | |
| | | @ApiModelProperty(value = "设备位置") |
| | | private String geom; |
| | | |
| | | @ApiModelProperty(value = "5公里范围面数据") |
| | | private String fiveKmArea; |
| | | |
| | | } |
| | |
| | | */ |
| | | @ApiModelProperty(value = "状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过") |
| | | private String taskStatus; |
| | | |
| | | /** |
| | | * 拒绝原因(审核拒绝时必填) |
| | | */ |
| | | @ApiModelProperty(value = "拒绝原因(审核拒绝时必填)") |
| | | private String rejectReason; |
| | | |
| | | /** |
| | | * 区域编码 |
| | | */ |
| | |
| | | */ |
| | | @ApiModelProperty(value = "备注") |
| | | private String remark; |
| | | |
| | | /** |
| | | * 拒绝原因(审核拒绝时必填) |
| | | */ |
| | | @ApiModelProperty(value = "拒绝原因(审核拒绝时必填)") |
| | | private String rejectReason; |
| | | /** |
| | | * 区域编码 |
| | | */ |