package com.terra.system.controller.data;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.terra.common.annotation.SysLog;
|
import com.terra.common.controller.all.BaseController;
|
import com.terra.common.entity.all.ResponseMsg;
|
import com.terra.system.entity.bs.BsprojectEntity;
|
import com.terra.system.entity.ctrl.KeyValueEntity;
|
import com.terra.system.entity.data.DictEntity;
|
import com.terra.system.entity.data.DirEntity;
|
import com.terra.system.entity.sys.DepEntity;
|
import com.terra.system.entity.sys.UserEntity;
|
import com.terra.common.helper.StringHelper;
|
import com.terra.common.helper.WebHelper;
|
import com.terra.system.mapper.bs.BsprojectMapper;
|
import com.terra.system.service.all.BaseQueryService;
|
import com.terra.system.service.data.DirService;
|
import com.terra.system.service.sys.DepService;
|
import com.terra.system.service.sys.TokenService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameters;
|
import javax.annotation.Resource;
|
|
import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import org.springframework.web.bind.annotation.*;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 项目管理
|
* @author WWW
|
*/
|
@Tag(name = "数据管理\\项目管理")
|
@RestController
|
@RequestMapping("/project")
|
public class ProjectController extends BaseController {
|
@Resource
|
DepService depService;
|
|
@Resource
|
DirService dirService;
|
|
@Resource
|
TokenService tokenService;
|
|
@Resource
|
BsprojectMapper bsprojectMapper;
|
|
@Resource
|
BaseQueryService baseQueryService;
|
|
@SysLog()
|
@Operation(summary = "查询所有单位数据")
|
@GetMapping(value = "/selectDepAll")
|
public ResponseMsg<List<DepEntity>> selectDepAll() {
|
try {
|
List<DepEntity> list = depService.selectDepAll();
|
return success(list);
|
} catch (Exception ex) {
|
return fail(ex, null);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "查询项目")
|
@Parameters({
|
@Parameter(name = "name", description = "名称", in = ParameterIn.QUERY, example = "西")
|
})
|
@GetMapping(value = "/selectProject")
|
public ResponseMsg<List<DirEntity>> selectProject(String name) {
|
try {
|
List<DirEntity> list = dirService.selectProject(name);
|
|
return success(list);
|
} catch (Exception ex) {
|
return fail(ex, null);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "分页查询并返回记录数")
|
@Parameters({
|
@Parameter(name = "dirid", description = "目录ID", in = ParameterIn.QUERY, example = "1"),
|
@Parameter(name = "pageSize", description = "每页条数", in = ParameterIn.QUERY, example = "10"),
|
@Parameter(name = "pageIndex", description = "分页数(从1开始)", in = ParameterIn.QUERY, example = "1")
|
})
|
@GetMapping(value = "/selectByPageAndCount")
|
public ResponseMsg<Object> selectByPageAndCount(String dirid, Integer pageSize, Integer pageIndex) {
|
try {
|
QueryWrapper<BsprojectEntity> wrapper = new QueryWrapper<>();
|
wrapper.select("ST_AsText(geom) as geom, *");
|
if (null != dirid) {
|
wrapper.eq("dirid", dirid);
|
}
|
|
Page<BsprojectEntity> page = new Page<>(pageIndex, pageSize);
|
page.addOrder(OrderItem.desc("gid"));
|
Page paged = bsprojectMapper.selectPage(page, wrapper);
|
|
return success(paged.getTotal(), paged.getRecords());
|
} catch (Exception ex) {
|
return fail(ex, null);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "查询字段信息")
|
@GetMapping(value = "/selectFields")
|
public ResponseMsg<List<DictEntity>> selectFields() {
|
try {
|
String tabName = BaseQueryService.getTabName(bsprojectMapper);
|
if (tabName == null) {
|
return null;
|
}
|
|
String[] strs = tabName.split("\\.");
|
List<DictEntity> list = baseQueryService.selectFields(strs[0], strs[1]);
|
|
return success(list);
|
} catch (Exception ex) {
|
return fail(ex, null);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "查询位置")
|
@Parameters({
|
@Parameter(name = "x", description = "X", in = ParameterIn.QUERY, example = "114.178955"),
|
@Parameter(name = "y", description = "Y", in = ParameterIn.QUERY, example = "38.991743")
|
})
|
@GetMapping(value = "/selectLocation")
|
public ResponseMsg<Object> selectLocation(double x, double y) {
|
try {
|
String wkt = String.format("POINT(%f %f)", x, y);
|
List<KeyValueEntity> list = baseQueryService.selectLocation(wkt);
|
|
return success(list);
|
} catch (Exception ex) {
|
return fail(ex, null);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "删除一条")
|
@Parameters({
|
@Parameter(name = "gid", description = "ID", in = ParameterIn.QUERY, example = "1")
|
})
|
@GetMapping(value = "/delete")
|
public ResponseMsg<Integer> delete(int gid) {
|
try {
|
int rows = bsprojectMapper.deleteById(gid);
|
|
return success(rows);
|
} catch (Exception ex) {
|
return fail(ex, -1);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "插入一条")
|
@Parameters({
|
@Parameter(name = "entity", description = "实体类")
|
})
|
@PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
|
public ResponseMsg<Integer> insert(@RequestBody BsprojectEntity entity, HttpServletRequest req) {
|
try {
|
if (null == entity) {
|
return fail("实体类不能为空", 0);
|
}
|
|
UserEntity ue = tokenService.getCurrentUser(req);
|
entity.setCreateuser(ue.getId());
|
entity.setEventid(StringHelper.getGuid());
|
entity.setCreatetime(WebHelper.getCurrentTimestamp());
|
entity.setGeom(StringHelper.getGeomWkt(entity.getGeom()));
|
|
List<BsprojectEntity> list = new ArrayList<>();
|
list.add(entity);
|
|
int rows = bsprojectMapper.insertBatch(list);
|
|
return success(rows);
|
} catch (Exception ex) {
|
return fail(ex, -1);
|
}
|
}
|
|
@SysLog()
|
@Operation(summary = "更新一条")
|
@Parameters({
|
@Parameter(name = "entity", description = "实体类")
|
})
|
@ResponseBody
|
@PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
|
public ResponseMsg<Integer> update(@RequestBody BsprojectEntity entity, HttpServletRequest req) {
|
try {
|
if (null == entity) {
|
return fail("实体类不能为空", 0);
|
}
|
|
UserEntity ue = tokenService.getCurrentUser(req);
|
entity.setUpdateuser(ue.getId());
|
entity.setUpdatetime(WebHelper.getCurrentTimestamp());
|
entity.setGeom(StringHelper.getGeomWkt(entity.getGeom()));
|
|
List<BsprojectEntity> list = new ArrayList<>();
|
list.add(entity);
|
|
int rows = bsprojectMapper.updateBatch(list);
|
|
return success(rows);
|
} catch (Exception ex) {
|
return fail(ex, -1);
|
}
|
}
|
}
|