工程换表

This commit is contained in:
lSun 2024-12-13 19:26:03 +08:00
parent 5a629637dc
commit ac4b5920f8
6 changed files with 128 additions and 8 deletions

View File

@ -7,7 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration; import org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration;
@SpringBootApplication @SpringBootApplication
@MapperScan("com.bonus.ahsbs.*.dao") @MapperScan(value = {"com.bonus.ahsbs.*.dao","com.bonus.ahsbs.*.mapper"})
@EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class }) @EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class })
public class AhSafetyBackServerApplication { public class AhSafetyBackServerApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -19,6 +19,7 @@ public class BidProVo {
/***/ /***/
private String id; private String id;
private String name;
/** /**
* 单项编码(单号) * 单项编码(单号)
*/ */

View File

@ -49,4 +49,18 @@ public interface ProTaskMapper {
* @date 2024/11/26 14:40 * @date 2024/11/26 14:40
*/ */
List<String> getBidProIds(); List<String> getBidProIds();
/**
* 获取电压等级列表
* @return List<BidProVo>
* @author cwchen
* @date 2024/11/
*/
List<BidProVo> getVoltagelevelList();
/**
* 获取项目列表
* @return
*/
List<BidProVo> getProjectList();
} }

View File

@ -24,6 +24,8 @@ import java.util.List;
@Slf4j @Slf4j
public class ProTaskService { public class ProTaskService {
@Resource(name = "ProTaskMapper") @Resource(name = "ProTaskMapper")
private ProTaskMapper mapper; private ProTaskMapper mapper;
@ -48,7 +50,7 @@ public class ProTaskService {
projectVos.forEach(item -> { projectVos.forEach(item -> {
item.setStarttime(DateTimeHelper.parseDate(item.getStarttime())); item.setStarttime(DateTimeHelper.parseDate(item.getStarttime()));
item.setCompletiontime(DateTimeHelper.parseDate(item.getCompletiontime())); item.setCompletiontime(DateTimeHelper.parseDate(item.getCompletiontime()));
item.setVoltagelevel(handleVoltagelevel(item.getVoltagelevel())); // item.setVoltagelevel(handleVoltagelevel(item.getVoltagelevel()));
}); });
mapper.saveBidProList(projectVos); mapper.saveBidProList(projectVos);
} catch (Exception e) { } catch (Exception e) {
@ -104,4 +106,24 @@ public class ProTaskService {
} }
return list; return list;
} }
public List<BidProVo> getVoltagelevelList() {
List<BidProVo> list = null;
try {
list = mapper.getVoltagelevelList();
} catch (Exception e) {
log.error(e.toString(),e);
}
return list;
}
public List<BidProVo> getProjectList() {
List<BidProVo> list = null;
try {
list = mapper.getProjectList();
} catch (Exception e) {
log.error(e.toString(),e);
}
return list;
}
} }

View File

@ -22,6 +22,8 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @className:ProTask * @className:ProTask
@ -90,7 +92,8 @@ public class ProTask {
} }
@Async("testTaskExecutor") @Async("testTaskExecutor")
@Scheduled(cron = "0 0 23 * * ?") // @Scheduled(cron = "0 0 23 * * ?")
@Scheduled(cron = "0 0/1 * * * ?")
@ApiOperation("获取标段工程列表") @ApiOperation("获取标段工程列表")
public void bidProTask() { public void bidProTask() {
log.info("获取标段工程列表----------->start"); log.info("获取标段工程列表----------->start");
@ -103,6 +106,37 @@ public class ProTask {
String data = "{\"pageindex\":\"" + pageNum + "\",\"pagesize\":\"" + LIMIT + "\"}"; String data = "{\"pageindex\":\"" + pageNum + "\",\"pagesize\":\"" + LIMIT + "\"}";
String url = InterfaceUtil.TEST_IP + "?" + InterfaceUtil.get_list_biaoduan + InterfaceUtil.sign_name + "&data=" + data; String url = InterfaceUtil.TEST_IP + "?" + InterfaceUtil.get_list_biaoduan + InterfaceUtil.sign_name + "&data=" + data;
String result = HttpRequestHelper.doGet(url); 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); log.info("响应参数:{}", result);
if (StringUtils.isNotBlank(result)) { if (StringUtils.isNotBlank(result)) {
JSONObject jsonObject = JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
@ -111,6 +145,27 @@ public class ProTask {
JSONArray jsonArray = jsonObject.getJSONArray("data"); JSONArray jsonArray = jsonObject.getJSONArray("data");
if (CollectionUtils.isNotEmpty(jsonArray)) { if (CollectionUtils.isNotEmpty(jsonArray)) {
List<BidProVo> projectVos = JSONObject.parseArray(jsonArray.toJSONString(), BidProVo.class); List<BidProVo> projectVos = JSONObject.parseArray(jsonArray.toJSONString(), BidProVo.class);
//获取电压等级
List<BidProVo> voltagelevelList = service.getVoltagelevelList();
// 创建一个映射方便快速查找
Map<String, String> 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<BidProVo> projectList = service.getProjectList();
// 创建一个映射方便快速查找
Map<String, String> 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); service.saveBidProList(projectVos);
} }
Integer count = jsonObject.getInteger("totalrecord"); Integer count = jsonObject.getInteger("totalrecord");

View File

@ -20,17 +20,33 @@
) )
</foreach> </foreach>
</insert> </insert>
<!-- REPLACE INTO
tb_bid_project(id,bid_no,zxm,bmname,bdname,constructionsite,
projectcategory,voltagelevel,starttime,completiontime,
xmfzr,gczg,aqzg,zlzg,jyzg,cwzg,wlzg,ngzg,jjzg,
xm_zt,dwname,projectscale,remark,zt,data_source)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},#{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}
)
</foreach>-->
<!--保存标段工程列表--> <!--保存标段工程列表-->
<insert id="saveBidProList"> <insert id="saveBidProList">
REPLACE INTO REPLACE INTO
tb_bid_project(id,bid_no,zxm,bmname,bdname,constructionsite, bm_project(num,zxm,bmname,name,address,
projectcategory,voltagelevel,starttime,completiontime, type_id,vol_id,starttime,completiontime,
xmfzr,gczg,aqzg,zlzg,jyzg,cwzg,wlzg,ngzg,jjzg, 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 VALUES
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
( (
#{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.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.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} #{item.xm_zt},#{item.dwname},#{item.projectscale},#{item.remark},#{item.zt},#{item.data_source}
@ -43,6 +59,18 @@
</select> </select>
<!--获取标段工程ids--> <!--获取标段工程ids-->
<select id="getBidProIds" resultType="java.lang.String"> <select id="getBidProIds" resultType="java.lang.String">
SELECT id FROM tb_bid_project WHERE data_source = '1' SELECT id FROM bm_project WHERE data_source = '1'
</select>
<select id="getVoltagelevelList" resultType="com.bonus.ahsbs.base.entity.BidProVo">
SELECT id, name
FROM `bm_vol_level`
WHERE IS_ACTIVE = '1'
</select>
<select id="getProjectList" resultType="com.bonus.ahsbs.base.entity.BidProVo">
SELECT id, name
FROM `bm_project_type`
WHERE IS_ACTIVE = '1'
</select> </select>
</mapper> </mapper>