diff --git a/src/main/java/com/uva/api/point/PointService.java b/src/main/java/com/uva/api/point/PointService.java index 8fccc48a2b1f87c9d68d2410c956340d0356abcc..f515d0a28a5e39d39609657243ee0fbb10a5d3cb 100644 --- a/src/main/java/com/uva/api/point/PointService.java +++ b/src/main/java/com/uva/api/point/PointService.java @@ -18,6 +18,7 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblGrid; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr; +import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -34,9 +35,6 @@ import java.io.*; import java.math.BigInteger; import java.util.List; import java.util.*; - -import org.slf4j.Logger; - import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -88,6 +86,7 @@ public class PointService { String url = propertiesUtil.getProperty("changeCheckURL"); String result = HttpUtil.sendPostUrl(url, param); log.info("返回对比结果"); + log.info("算法返回结果: {}", result); JSONObject resultJson = JSONObject.parseObject(result); int code = resultJson.getInteger("code"); //组织id @@ -130,8 +129,9 @@ public class PointService { String picNameNum1 = picName1.split("\\.")[0].split("_")[2]; String picNameNum2 = picName2.split("\\.")[0].split("_")[2]; String changePointId = id1 + "-" + picNameNum1 + "-" + id2 + "-" + picNameNum2; - pointMapper.deleteChangePointResultBychangePointId(changePointId); - pointMapper.deleteChangePointTaskListBychangePointId(changePointId); + String changePointId1 = String.valueOf(id1); + pointMapper.deleteChangePointResultBychangePointId(changePointId1); + pointMapper.deleteChangePointTaskListBychangePointId(changePointId1); Map taskMap = new HashMap<>(); taskMap.put("CHANGEPOINT_ID", changePointId); taskMap.put("ID1", id1); @@ -1311,14 +1311,19 @@ public class PointService { int[] x = {lon1, lon2, lon3, lon4}; int[] y = {lat1, lat2, lat3, lat4}; Polygon polygon = new Polygon(x, y, 4); - graphics2D.setColor(Color.RED); + // 动态设置颜色 + if (status == 0) { + graphics2D.setColor(Color.RED); // 新增=绿色 + } else { + graphics2D.setColor(Color.GREEN); // 消失=红色 + } graphics2D.setStroke(new BasicStroke(10)); graphics2D.drawPolygon(polygon); // 添加标注文字 graphics2D.setColor(Color.blue); - graphics2D.setFont(new Font("宋体", Font.BOLD, 150)); + graphics2D.setFont(new Font("宋体", Font.BOLD, 90)); // graphics2D.drawString("增加", lon1, lat2); - graphics2D.drawString(count + "", lon1, lat1); + graphics2D.drawString(count + "", lon1 - 20, lat1 - 20); if (status == 0) { if (flag) { String mark = count + ":增加 类型:" + nameMap.get(type) + " 面积:" + area + "m²"; diff --git a/src/main/java/com/uva/api/task/TaskService.java b/src/main/java/com/uva/api/task/TaskService.java index f56513b6c9dabfbd9fc38b891d374850f69d007a..c4fcd36f27e007866b9cb7d5cd75e0e1a65f306b 100644 --- a/src/main/java/com/uva/api/task/TaskService.java +++ b/src/main/java/com/uva/api/task/TaskService.java @@ -195,7 +195,7 @@ public class TaskService { String projectName = json.getString("project_name"); projectName = "%" + projectName + "%"; String taskName = json.getString("task_name"); - String picName = json.getString("pic_name"); // 获取图片名称参数 + String ser_picName = json.getString("pic_name"); // 获取图片名称参数 String organizationKey = ""; if (json.containsKey("organization_key")) { organizationKey = json.getString("organization_key"); @@ -211,15 +211,15 @@ public class TaskService { int size = Integer.parseInt(json.getString("size")); PageHelper.startPage(page, size); List> dataList = taskMapper.getDisResultInfo(organizationKey, projectName, lineName, - typeName, startTime, endTime, picName); // 传入picName参数 + typeName, startTime, endTime, ser_picName); // 传入picName参数 for (Map map : dataList) { long lineId = (long) map.get("id"); - String picName1 = (String) map.get("pic_name"); + String picName = (String) map.get("pic_name"); String filePath = (String) map.get("file_path"); String fileName = filePath + File.separator + picName; map.put("pic", fileName); - List> picList = taskMapper.getDisResultInfoByIdAndPicName(lineId, picName1, typeName); + List> picList = taskMapper.getDisResultInfoByIdAndPicName(lineId, picName, typeName); JSONArray jsonArray = new JSONArray(); int count = 0; for (Map pic : picList) { @@ -239,11 +239,12 @@ public class TaskService { return new PageInfo>(dataList); } - /* public List> getDisResultInfo(String data) { + public List> getDisResultInfo(String data) { JSONObject json = JSONObject.parseObject(data); String projectName = json.getString("project_name"); String taskName = json.getString("task_name"); String organizationKey = ""; + String ser_picName = json.getString("pic_name"); // 获取图片名称参数 if (json.containsKey("organization_key")) { organizationKey = json.getString("organization_key"); } @@ -251,7 +252,7 @@ public class TaskService { String startTime = json.getString("start_time"); String endTime = json.getString("end_time"); List> dataList = taskMapper.getDisResultInfo(organizationKey, - projectName, taskName, typeName, startTime, endTime); + projectName, taskName, typeName, startTime, endTime,ser_picName); for (Map map : dataList) { String filePath = (String) map.get("file_path"); String picName = (String) map.get("pic_name"); @@ -259,7 +260,7 @@ public class TaskService { map.put("pic", fileName); } return dataList; - } */ + } public String execDisTask(String projectId, String projectName, String inputPath, int model_type) { PropertiesUtil propertiesUtil = new PropertiesUtil(); @@ -1068,7 +1069,7 @@ public class TaskService { PropertiesUtil propertiesUtil = new PropertiesUtil(); String url = propertiesUtil.getProperty("changeCheckURL"); String result = HttpUtil.sendPostUrl(url, param); - log.info("返回对比结果"); + log.info("返回对3比结果"); JSONObject resultJson = JSONObject.parseObject(result); int code = resultJson.getInteger("code"); if (200 != code) { diff --git a/src/main/java/com/uva/api/uvadata/UvaDataControl.java b/src/main/java/com/uva/api/uvadata/UvaDataControl.java index bdd20e9c3950064505e155b91c06f6a0d3da5d8f..ef339dc1306934522f26146071e0b62c01a9e552 100644 --- a/src/main/java/com/uva/api/uvadata/UvaDataControl.java +++ b/src/main/java/com/uva/api/uvadata/UvaDataControl.java @@ -1,16 +1,13 @@ package com.uva.api.uvadata; -import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.uva.api.entity.ReturnT; -import com.uva.api.task.TaskService; import com.uva.api.util.DataUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.Arrays; @@ -60,6 +57,28 @@ public class UvaDataControl { return ReturnT.success(result); } + @RequestMapping(value = "/updateChangeTime", method = RequestMethod.POST) + @ApiOperation(value = "更新 changetime 字段", httpMethod = "POST") + @ApiImplicitParam( + paramType = "body", + name = "data", + dataType = "String", + required = true, + dataTypeClass = String.class, + value = "JSON 格式:{\"changetime\": 数字}" + ) + public ReturnT updateChangeTime(@RequestBody String data) { + String result = uvaDataService.updateChangeTime(data); + return ReturnT.success(result); + } + + @RequestMapping(value = "/getChangeTime", method = RequestMethod.GET) + @ApiOperation(value = "获取当前changetime值", httpMethod = "GET") + public ReturnT getChangeTime() { + Integer result = uvaDataService.getChangeTime(); + return ReturnT.success(result); + } + /** * 删除 */ diff --git a/src/main/java/com/uva/api/uvadata/UvaDataService.java b/src/main/java/com/uva/api/uvadata/UvaDataService.java index 7ac3e6646be1ff730afc39a7af83f036fa251c2d..1c7fe0acbebfdbdfa0cdd5cc0d4761efaa70b4f4 100644 --- a/src/main/java/com/uva/api/uvadata/UvaDataService.java +++ b/src/main/java/com/uva/api/uvadata/UvaDataService.java @@ -2,11 +2,6 @@ package com.uva.api.uvadata; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSClientBuilder; -import com.aliyun.oss.common.auth.CredentialsProviderFactory; -import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider; -import com.aliyun.oss.model.GetObjectRequest; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.uva.api.util.HttpUtil; @@ -16,7 +11,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.io.File; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -88,6 +82,23 @@ public class UvaDataService { } } + public String updateChangeTime(String data) { + JSONObject json = JSONObject.parseObject(data); + Integer changetime = json.getInteger("changetime"); // 从 JSON 中提取数字 + + int result = uvaDataMapper.updateChangeTime(changetime); + if (result > 0) { + return "success"; + } else { + return "fail"; + } + } + + public Integer getChangeTime() { + // 直接查询单字段值 + return uvaDataMapper.getChangeTime(); + } + public String removeWayLineByIds(List ids) { int result = uvaDataMapper.removeWayLineByIds(ids); if (0 <= result) { diff --git a/src/main/java/com/uva/api/uvadata/mapper/UvaDataMapper.java b/src/main/java/com/uva/api/uvadata/mapper/UvaDataMapper.java index bbf5c128b31c7d162d5dad908a3619632a50f8e4..68ecd793edc990c90d85251b2222ee5e499efca8 100644 --- a/src/main/java/com/uva/api/uvadata/mapper/UvaDataMapper.java +++ b/src/main/java/com/uva/api/uvadata/mapper/UvaDataMapper.java @@ -26,6 +26,10 @@ public interface UvaDataMapper { int updateWaylineById(@Param("id") Integer id, @Param("model_type") Integer model_type); + int updateChangeTime(@Param("changetime") Integer changetime); + + int getChangeTime(); + // 删除要素 int removeWayLineByIds(@Param("ids") List ids); diff --git a/src/main/resources/mapper/changePoint.xml b/src/main/resources/mapper/changePoint.xml index 4bca1319ff8c64b5a8533da6221707d11dc3aa8a..7215985f08ae316fdc230b716d30db22f3631d54 100644 --- a/src/main/resources/mapper/changePoint.xml +++ b/src/main/resources/mapper/changePoint.xml @@ -374,12 +374,14 @@ from t_uva_change_point_info t + - delete from t_uva_change_point_result where changepointid=#{changePointId} + DELETE FROM t_uva_change_point_result + WHERE changepointid LIKE CONCAT(#{changePointId}, '%') - delete from t_uva_change_point_tasklist where changepointid=#{changePointId} + delete from t_uva_change_point_tasklist where changepointid LIKE CONCAT(#{changePointId}, '%') @@ -407,11 +409,9 @@ WHEN t.changed = TRUE THEN '是' ELSE '否' -- 处理 NULL 或其他情况 END AS changed - from t_uva_change_point_word t, - (select t.id, t.task_name,t.line_name from t_task_info t, t_uva_change_point_word t1 where t.id=t1.id1)t2, - (select t.id, t.task_name from t_task_info t, t_uva_change_point_word t1 where t.id=t1.id2)t3 - where t.id1=t2."id" - and t.id2=t3."id" + FROM t_uva_change_point_word t + JOIN t_task_info t2 ON t.id1 = t2.id + JOIN t_task_info t3 ON t.id2 = t3.id and t.organization_id = (select tu.organization_id from t_user_organization tu where tu.organization_key=#{organizationKey}) diff --git a/src/main/resources/mapper/task.xml b/src/main/resources/mapper/task.xml index 88706844a09c930f35e8e6b1f91c9b2fe890d590..a132ef17a005bce885431c56e85f527c430ab40b 100644 --- a/src/main/resources/mapper/task.xml +++ b/src/main/resources/mapper/task.xml @@ -383,13 +383,15 @@ from t_task_info t where t.project_id=#{projectId} and t.task_type='四乱违法巡检-计划任务' and t.line_name=#{lineName} - and t.ddatetime (select t1.ddatetime - INTERVAL '15 days' from t_task_info t1 - where t1.project_id=#{projectId} - and t1.task_id=#{taskId} - and t1.line_name=#{lineName}) + and t.ddatetime (select (select t1.ddatetime from t_task_info t1 + where t1.project_id=#{projectId} + and t1.task_id=#{taskId} + and t1.line_name=#{lineName}) + - (select changetime from example_table limit 1) * interval '1 day') ORDER BY t.ddatetime desc limit 1; + + SELECT changetime FROM example_table LIMIT 1 + + delete from t_wayline_info @@ -96,7 +104,7 @@ SELECT CASE WHEN COUNT(*) > 0 THEN (SELECT model_type FROM public.t_wayline_info WHERE uuid = #{uuid} limit 1) - ELSE 1 + ELSE 0 END AS model_type FROM public.t_wayline_info WHERE uuid = #{uuid}