From ac4b5920f8e5348ce5755fe076db68db050bbc35 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Fri, 13 Dec 2024 19:26:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E6=8D=A2=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ahsbs/AhSafetyBackServerApplication.java | 2 +- .../com/bonus/ahsbs/base/entity/BidProVo.java | 1 + .../ahsbs/base/mapper/ProTaskMapper.java | 14 +++++ .../ahsbs/base/service/ProTaskService.java | 24 +++++++- .../com/bonus/ahsbs/base/task/ProTask.java | 57 ++++++++++++++++++- .../resources/mappers/base/ProTaskMapper.xml | 38 +++++++++++-- 6 files changed, 128 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/bonus/ahsbs/AhSafetyBackServerApplication.java b/src/main/java/com/bonus/ahsbs/AhSafetyBackServerApplication.java index 21ce328..0acca40 100644 --- a/src/main/java/com/bonus/ahsbs/AhSafetyBackServerApplication.java +++ b/src/main/java/com/bonus/ahsbs/AhSafetyBackServerApplication.java @@ -7,7 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration; @SpringBootApplication -@MapperScan("com.bonus.ahsbs.*.dao") +@MapperScan(value = {"com.bonus.ahsbs.*.dao","com.bonus.ahsbs.*.mapper"}) @EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class }) public class AhSafetyBackServerApplication { public static void main(String[] args) { diff --git a/src/main/java/com/bonus/ahsbs/base/entity/BidProVo.java b/src/main/java/com/bonus/ahsbs/base/entity/BidProVo.java index 0f3362d..93b4b99 100644 --- a/src/main/java/com/bonus/ahsbs/base/entity/BidProVo.java +++ b/src/main/java/com/bonus/ahsbs/base/entity/BidProVo.java @@ -19,6 +19,7 @@ public class BidProVo { /***/ private String id; + private String name; /** * 单项编码(单号) */ diff --git a/src/main/java/com/bonus/ahsbs/base/mapper/ProTaskMapper.java b/src/main/java/com/bonus/ahsbs/base/mapper/ProTaskMapper.java index 43f55f5..505a3b6 100644 --- a/src/main/java/com/bonus/ahsbs/base/mapper/ProTaskMapper.java +++ b/src/main/java/com/bonus/ahsbs/base/mapper/ProTaskMapper.java @@ -49,4 +49,18 @@ public interface ProTaskMapper { * @date 2024/11/26 14:40 */ List getBidProIds(); + + /** + * 获取电压等级列表 + * @return List + * @author cwchen + * @date 2024/11/ + */ + List getVoltagelevelList(); + + /** + * 获取项目列表 + * @return + */ + List getProjectList(); } diff --git a/src/main/java/com/bonus/ahsbs/base/service/ProTaskService.java b/src/main/java/com/bonus/ahsbs/base/service/ProTaskService.java index 4c122f4..73293fb 100644 --- a/src/main/java/com/bonus/ahsbs/base/service/ProTaskService.java +++ b/src/main/java/com/bonus/ahsbs/base/service/ProTaskService.java @@ -24,6 +24,8 @@ import java.util.List; @Slf4j public class ProTaskService { + + @Resource(name = "ProTaskMapper") private ProTaskMapper mapper; @@ -48,7 +50,7 @@ public class ProTaskService { projectVos.forEach(item -> { item.setStarttime(DateTimeHelper.parseDate(item.getStarttime())); item.setCompletiontime(DateTimeHelper.parseDate(item.getCompletiontime())); - item.setVoltagelevel(handleVoltagelevel(item.getVoltagelevel())); +// item.setVoltagelevel(handleVoltagelevel(item.getVoltagelevel())); }); mapper.saveBidProList(projectVos); } catch (Exception e) { @@ -104,4 +106,24 @@ public class ProTaskService { } return list; } + + public List getVoltagelevelList() { + List list = null; + try { + list = mapper.getVoltagelevelList(); + } catch (Exception e) { + log.error(e.toString(),e); + } + return list; + } + + public List getProjectList() { + List list = null; + try { + list = mapper.getProjectList(); + } catch (Exception e) { + log.error(e.toString(),e); + } + return list; + } } diff --git a/src/main/java/com/bonus/ahsbs/base/task/ProTask.java b/src/main/java/com/bonus/ahsbs/base/task/ProTask.java index 436c04b..81c5e82 100644 --- a/src/main/java/com/bonus/ahsbs/base/task/ProTask.java +++ b/src/main/java/com/bonus/ahsbs/base/task/ProTask.java @@ -22,6 +22,8 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @className:ProTask @@ -90,7 +92,8 @@ public class ProTask { } @Async("testTaskExecutor") - @Scheduled(cron = "0 0 23 * * ?") +// @Scheduled(cron = "0 0 23 * * ?") + @Scheduled(cron = "0 0/1 * * * ?") @ApiOperation("获取标段工程列表") public void bidProTask() { log.info("获取标段工程列表----------->start"); @@ -103,6 +106,37 @@ public class ProTask { String data = "{\"pageindex\":\"" + pageNum + "\",\"pagesize\":\"" + LIMIT + "\"}"; String url = InterfaceUtil.TEST_IP + "?" + InterfaceUtil.get_list_biaoduan + InterfaceUtil.sign_name + "&data=" + data; String result = HttpRequestHelper.doGet(url); + /*String result = "{\n" + + " \"result\": true,\n" + + " \"errcode\": \"\",\n" + + " \"errmsg\": \"\",\n" + + " \"data\": [{\n" + + " \"bid_no\": \"BD20230101\",\n" + + " \"zxm\": \"项目A\",\n" + + " \"bmname\": \"分公司A\",\n" + + " \"bdname\": \"标段A\",\n" + + " \"constructionsite\": \"施工地点A\",\n" + + " \"projectcategory\": \"变电工程\",\n" + + " \"voltagelevel\": \"220kV\",\n" + + " \"starttime\": \"2023-01-01\",\n" + + " \"completiontime\": \"2023-12-31\",\n" + + " \"xmfzr\": \"张三\",\n" + + " \"gczg\": \"李四\",\n" + + " \"aqzg\": \"王五\",\n" + + " \"zlzg\": \"赵六\",\n" + + " \"jyzg\": \"孙七\",\n" + + " \"cwzg\": \"周八\",\n" + + " \"wlzg\": \"吴九\",\n" + + " \"ngzg\": \"郑十\",\n" + + " \"jjzg\": \"钱十一\",\n" + + " \"xm_zt\": \"在建\",\n" + + " \"dwname\": \"分包商A\",\n" + + " \"projectscale\": \"大型\",\n" + + " \"remark\": \"备注信息\",\n" + + " \"zt\": \"启用\",\n" + + " \"isused\": \"启用\"\n" + + " }]\n" + + "}";*/ log.info("响应参数:{}", result); if (StringUtils.isNotBlank(result)) { JSONObject jsonObject = JSON.parseObject(result); @@ -111,6 +145,27 @@ public class ProTask { JSONArray jsonArray = jsonObject.getJSONArray("data"); if (CollectionUtils.isNotEmpty(jsonArray)) { List projectVos = JSONObject.parseArray(jsonArray.toJSONString(), BidProVo.class); + //获取电压等级 + List voltagelevelList = service.getVoltagelevelList(); + // 创建一个映射,方便快速查找 + Map voltageLevelMap = voltagelevelList.stream() + .collect(Collectors.toMap(BidProVo::getName, BidProVo::getId)); + // 遍历 projectVos 并设置 voltagelevel + for (BidProVo projectVo : projectVos) { + String voltageLevelName = projectVo.getVoltagelevel(); + String voltageLevelId = voltageLevelMap.get(voltageLevelName); + projectVo.setVoltagelevel(voltageLevelId); // 如果没有找到匹配项,setVoltagelevel(null) 会自动处理 + } + //获取工程类型 + List projectList = service.getProjectList(); + // 创建一个映射,方便快速查找 + Map projectMap = projectList.stream() + .collect(Collectors.toMap(BidProVo::getName, BidProVo::getId)); + for (BidProVo projectVo : projectVos) { + String projectName = projectVo.getProjectcategory(); + String projectId = projectMap.get(projectName); + projectVo.setProjectcategory(projectId); // 如果没有找到匹配项,setProjectcategory(null) 会自动处理 + } service.saveBidProList(projectVos); } Integer count = jsonObject.getInteger("totalrecord"); diff --git a/src/main/resources/mappers/base/ProTaskMapper.xml b/src/main/resources/mappers/base/ProTaskMapper.xml index 36acc94..231b3d8 100644 --- a/src/main/resources/mappers/base/ProTaskMapper.xml +++ b/src/main/resources/mappers/base/ProTaskMapper.xml @@ -20,17 +20,33 @@ ) + + + REPLACE INTO - tb_bid_project(id,bid_no,zxm,bmname,bdname,constructionsite, - projectcategory,voltagelevel,starttime,completiontime, + bm_project(num,zxm,bmname,name,address, + type_id,vol_id,starttime,completiontime, xmfzr,gczg,aqzg,zlzg,jyzg,cwzg,wlzg,ngzg,jjzg, - xm_zt,dwname,projectscale,remark,zt,data_source) + xm_zt,dwname,projectscale,remarks,is_active,data_source) VALUES ( - #{item.id},#{item.bid_no},#{item.zxm},#{item.bmname},#{item.bdname},#{item.constructionsite}, + #{item.bid_no},#{item.zxm},#{item.bmname},#{item.bdname},#{item.constructionsite}, #{item.projectcategory},#{item.voltagelevel},#{item.starttime},#{item.completiontime}, #{item.xmfzr},#{item.gczg},#{item.aqzg},#{item.zlzg},#{item.jyzg},#{item.cwzg},#{item.wlzg},#{item.ngzg},#{item.jjzg}, #{item.xm_zt},#{item.dwname},#{item.projectscale},#{item.remark},#{item.zt},#{item.data_source} @@ -43,6 +59,18 @@ + + + + \ No newline at end of file