Commit c4707e83 authored by 周昊's avatar 周昊

1、开发数据中台数据

parent 27f71b12
...@@ -2,6 +2,7 @@ package com.censoft.censoftrongtong.controller; ...@@ -2,6 +2,7 @@ package com.censoft.censoftrongtong.controller;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -10,6 +11,8 @@ import javax.servlet.http.HttpServletRequest; ...@@ -10,6 +11,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import com.censoft.censoftrongtong.domain.LedgerBuilding; import com.censoft.censoftrongtong.domain.LedgerBuilding;
import com.censoft.censoftrongtong.domain.RiskPlan; import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.RiskPlanInherentList; import com.censoft.censoftrongtong.domain.RiskPlanInherentList;
...@@ -17,9 +20,7 @@ import com.censoft.censoftrongtong.domain.dto.RiskInherentListExportDto; ...@@ -17,9 +20,7 @@ import com.censoft.censoftrongtong.domain.dto.RiskInherentListExportDto;
import com.censoft.censoftrongtong.domain.dto.RiskNotificationExportWordDto; import com.censoft.censoftrongtong.domain.dto.RiskNotificationExportWordDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppTaskDetailsDto; import com.censoft.censoftrongtong.domain.dto.RiskPlanAppTaskDetailsDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType; import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.service.ILedgerBuildingService; import com.censoft.censoftrongtong.service.*;
import com.censoft.censoftrongtong.service.IRiskPlanInherentListService;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.WordUtil; import com.ruoyi.common.utils.WordUtil;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
...@@ -214,4 +215,19 @@ public class RiskPlanController extends BaseController ...@@ -214,4 +215,19 @@ public class RiskPlanController extends BaseController
} }
return getDataTable(dtos); return getDataTable(dtos);
} }
@Resource
private IInfoAssetsService infoAssetsService;
@Resource
private IInfoLedgerService infoLedgerService;
/**
* 查询固有风险信息列表
*/
@GetMapping("/test")
public String test()
{
return infoAssetsService.saveOrUpdateByHttp();
}
} }
package com.censoft.censoftrongtong.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 数据中台资产项目数据对象 info_ledger
*
* @author ruoyi
* @date 2023-10-07
*/
public class InfoLedger{
private static final long serialVersionUID = 1L;
/** 资产项目ID */
private String id;
/** 项目名称 */
@Excel(name = "项目名称")
private String name;
/** 所属公司 */
@Excel(name = "所属公司")
private String corp_name;
/** 项目编码 */
@Excel(name = "项目编码")
private String business_code;
/** 项目类型 */
@Excel(name = "项目类型")
private String business_type;
/** 坐落号 */
@Excel(name = "坐落号")
private String location_number;
/** 资产状态 */
@Excel(name = "资产状态")
private String asset_status;
/** 来源类型 */
@Excel(name = "来源类型")
private String source_type;
/** 接收人 */
@Excel(name = "接收人")
private String recipient;
/** 资产接受时间 */
@Excel(name = "资产接受时间")
private String receiving_time;
/** 区域类型 */
@Excel(name = "区域类型")
private String area_type;
/** 资产类别 */
@Excel(name = "资产类别")
private String asset_rank;
/** 规划用途 */
@Excel(name = "规划用途")
private String planned_use;
/** 实际用途 */
@Excel(name = "实际用途")
private String practical_use;
/** 规划容积率 */
@Excel(name = "规划容积率")
private String planned_floor_area_ratio;
/** 集团资产编码 */
@Excel(name = "集团资产编码")
private String out_id;
/** 财务系统资产编 */
@Excel(name = "财务系统资产编")
private String asset_code_of_financial_system;
/** 建筑结构安全等级 */
@Excel(name = "建筑结构安全等级")
private String safety_level_of_building_structure;
/** 楼栋数量 */
@Excel(name = "楼栋数量")
private String quantity_of_buildings;
/** 项目经营现状 */
@Excel(name = "项目经营现状")
private String operation_situation;
/** 纬度 */
@Excel(name = "纬度")
private String lat;
/** 经度 */
@Excel(name = "经度")
private String lng;
/** 省 */
@Excel(name = "省")
private String province_name;
/** 市 */
@Excel(name = "市")
private String city_name;
/** 区 */
@Excel(name = "区")
private String district_name;
/** 街道 */
@Excel(name = "街道")
private String street_name;
/** 详细地址 */
@Excel(name = "详细地址")
private String detail;
/** 创建时间 */
private String create_time;
/** 更新时间 */
private String update_time;
/** 公司id */
@Excel(name = "公司id")
private String corp_id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCorp_name() {
return corp_name;
}
public void setCorp_name(String corp_name) {
this.corp_name = corp_name;
}
public String getBusiness_code() {
return business_code;
}
public void setBusiness_code(String business_code) {
this.business_code = business_code;
}
public String getBusiness_type() {
return business_type;
}
public void setBusiness_type(String business_type) {
this.business_type = business_type;
}
public String getLocation_number() {
return location_number;
}
public void setLocation_number(String location_number) {
this.location_number = location_number;
}
public String getAsset_status() {
return asset_status;
}
public void setAsset_status(String asset_status) {
this.asset_status = asset_status;
}
public String getSource_type() {
return source_type;
}
public void setSource_type(String source_type) {
this.source_type = source_type;
}
public String getRecipient() {
return recipient;
}
public void setRecipient(String recipient) {
this.recipient = recipient;
}
public String getReceiving_time() {
return receiving_time;
}
public void setReceiving_time(String receiving_time) {
this.receiving_time = receiving_time;
}
public String getArea_type() {
return area_type;
}
public void setArea_type(String area_type) {
this.area_type = area_type;
}
public String getAsset_rank() {
return asset_rank;
}
public void setAsset_rank(String asset_rank) {
this.asset_rank = asset_rank;
}
public String getPlanned_use() {
return planned_use;
}
public void setPlanned_use(String planned_use) {
this.planned_use = planned_use;
}
public String getPractical_use() {
return practical_use;
}
public void setPractical_use(String practical_use) {
this.practical_use = practical_use;
}
public String getPlanned_floor_area_ratio() {
return planned_floor_area_ratio;
}
public void setPlanned_floor_area_ratio(String planned_floor_area_ratio) {
this.planned_floor_area_ratio = planned_floor_area_ratio;
}
public String getOut_id() {
return out_id;
}
public void setOut_id(String out_id) {
this.out_id = out_id;
}
public String getAsset_code_of_financial_system() {
return asset_code_of_financial_system;
}
public void setAsset_code_of_financial_system(String asset_code_of_financial_system) {
this.asset_code_of_financial_system = asset_code_of_financial_system;
}
public String getSafety_level_of_building_structure() {
return safety_level_of_building_structure;
}
public void setSafety_level_of_building_structure(String safety_level_of_building_structure) {
this.safety_level_of_building_structure = safety_level_of_building_structure;
}
public String getQuantity_of_buildings() {
return quantity_of_buildings;
}
public void setQuantity_of_buildings(String quantity_of_buildings) {
this.quantity_of_buildings = quantity_of_buildings;
}
public String getOperation_situation() {
return operation_situation;
}
public void setOperation_situation(String operation_situation) {
this.operation_situation = operation_situation;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLng() {
return lng;
}
public void setLng(String lng) {
this.lng = lng;
}
public String getProvince_name() {
return province_name;
}
public void setProvince_name(String province_name) {
this.province_name = province_name;
}
public String getCity_name() {
return city_name;
}
public void setCity_name(String city_name) {
this.city_name = city_name;
}
public String getDistrict_name() {
return district_name;
}
public void setDistrict_name(String district_name) {
this.district_name = district_name;
}
public String getStreet_name() {
return street_name;
}
public void setStreet_name(String street_name) {
this.street_name = street_name;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public String getCreate_time() {
return create_time;
}
public void setCreate_time(String create_time) {
this.create_time = create_time;
}
public String getUpdate_time() {
return update_time;
}
public void setUpdate_time(String update_time) {
this.update_time = update_time;
}
public String getCorp_id() {
return corp_id;
}
public void setCorp_id(String corp_id) {
this.corp_id = corp_id;
}
}
...@@ -60,6 +60,9 @@ public class LedgerBuilding extends BaseEntityClean ...@@ -60,6 +60,9 @@ public class LedgerBuilding extends BaseEntityClean
@Excel(name = "详细地址",sort = 8) @Excel(name = "详细地址",sort = 8)
private String address; private String address;
/** 中台楼宇id */
private String infoAssetsId;
/** 状态(0正常 1停用) */ /** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用") @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
......
...@@ -45,6 +45,9 @@ public class LedgerProject extends BaseEntityClean ...@@ -45,6 +45,9 @@ public class LedgerProject extends BaseEntityClean
/** 0-关联 1-自建 */ /** 0-关联 1-自建 */
private String source; private String source;
/** 中台楼宇id */
private String infoAssetsId;
/** 状态(0正常 1停用) */ /** 状态(0正常 1停用) */
@Excel(name = "状态", dictType = "sys_normal_disable",sort = 7) @Excel(name = "状态", dictType = "sys_normal_disable",sort = 7)
private String status; private String status;
......
package com.censoft.censoftrongtong.domain.dto;
import lombok.Data;
import java.util.List;
/**
* @author 周昊
* @desc ...
* @date 2023-10-08 10:52:06
*/
@Data
public class InfoResultDto {
private String retCode;
private retJSONDto retJSON;
public String getData() {
return retJSON.getResult().getData();
}
public String getTotal() {
return retJSON.getResult().getTotal();
}
}
@Data
class retJSONDto {
private resultDto result;
}
@Data
class resultDto {
private String total;
private String data;
private String pageSize;
private String pageNum;
}
package com.censoft.censoftrongtong.mapper;
import java.util.List;
import com.censoft.censoftrongtong.domain.InfoAssets;
import com.github.yulichang.base.MPJBaseMapper;
/**
* 数据中台资产数据Mapper接口
*
* @author ruoyi
* @date 2023-10-07
*/
public interface InfoAssetsMapper extends MPJBaseMapper<InfoAssets>
{
/**
* 查询数据中台资产数据
*
* @param id 数据中台资产数据主键
* @return 数据中台资产数据
*/
public InfoAssets selectInfoAssetsById(String id);
/**
* 查询数据中台资产数据列表
*
* @param infoAssets 数据中台资产数据
* @return 数据中台资产数据集合
*/
public List<InfoAssets> selectInfoAssetsList(InfoAssets infoAssets);
/**
* 新增数据中台资产数据
*
* @param infoAssets 数据中台资产数据
* @return 结果
*/
public int insertInfoAssets(InfoAssets infoAssets);
/**
* 修改数据中台资产数据
*
* @param infoAssets 数据中台资产数据
* @return 结果
*/
public int updateInfoAssets(InfoAssets infoAssets);
/**
* 删除数据中台资产数据
*
* @param id 数据中台资产数据主键
* @return 结果
*/
public int deleteInfoAssetsById(String id);
/**
* 批量删除数据中台资产数据
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteInfoAssetsByIds(String[] ids);
}
package com.censoft.censoftrongtong.mapper;
import java.util.List;
import com.censoft.censoftrongtong.domain.InfoLedger;
import com.github.yulichang.base.MPJBaseMapper;
/**
* 数据中台资产项目数据Mapper接口
*
* @author ruoyi
* @date 2023-10-07
*/
public interface InfoLedgerMapper extends MPJBaseMapper<InfoLedger>
{
/**
* 查询数据中台资产项目数据
*
* @param id 数据中台资产项目数据主键
* @return 数据中台资产项目数据
*/
public InfoLedger selectInfoLedgerById(String id);
/**
* 查询数据中台资产项目数据列表
*
* @param infoLedger 数据中台资产项目数据
* @return 数据中台资产项目数据集合
*/
public List<InfoLedger> selectInfoLedgerList(InfoLedger infoLedger);
/**
* 新增数据中台资产项目数据
*
* @param infoLedger 数据中台资产项目数据
* @return 结果
*/
public int insertInfoLedger(InfoLedger infoLedger);
/**
* 修改数据中台资产项目数据
*
* @param infoLedger 数据中台资产项目数据
* @return 结果
*/
public int updateInfoLedger(InfoLedger infoLedger);
/**
* 删除数据中台资产项目数据
*
* @param id 数据中台资产项目数据主键
* @return 结果
*/
public int deleteInfoLedgerById(String id);
/**
* 批量删除数据中台资产项目数据
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteInfoLedgerByIds(String[] ids);
}
package com.censoft.censoftrongtong.service;
import java.util.List;
import com.censoft.censoftrongtong.domain.InfoAssets;
import com.github.yulichang.base.MPJBaseService;
/**
* 数据中台资产数据Service接口
*
* @author ruoyi
* @date 2023-10-07
*/
public interface IInfoAssetsService extends MPJBaseService<InfoAssets>
{
/**
* 查询数据中台资产数据
*
* @param id 数据中台资产数据主键
* @return 数据中台资产数据
*/
public InfoAssets selectInfoAssetsById(String id);
/**
* 查询数据中台资产数据列表
*
* @param infoAssets 数据中台资产数据
* @return 数据中台资产数据集合
*/
public List<InfoAssets> selectInfoAssetsList(InfoAssets infoAssets);
/**
* 新增数据中台资产数据
*
* @param infoAssets 数据中台资产数据
* @return 结果
*/
public int insertInfoAssets(InfoAssets infoAssets);
/**
* 修改数据中台资产数据
*
* @param infoAssets 数据中台资产数据
* @return 结果
*/
public int updateInfoAssets(InfoAssets infoAssets);
/**
* 批量删除数据中台资产数据
*
* @param ids 需要删除的数据中台资产数据主键集合
* @return 结果
*/
public int deleteInfoAssetsByIds(String[] ids);
/**
* 删除数据中台资产数据信息
*
* @param id 数据中台资产数据主键
* @return 结果
*/
public int deleteInfoAssetsById(String id);
String saveOrUpdateByHttp();
}
package com.censoft.censoftrongtong.service;
import java.util.List;
import com.censoft.censoftrongtong.domain.InfoLedger;
import com.github.yulichang.base.MPJBaseService;
/**
* 数据中台资产项目数据Service接口
*
* @author ruoyi
* @date 2023-10-07
*/
public interface IInfoLedgerService extends MPJBaseService<InfoLedger>
{
/**
* 查询数据中台资产项目数据
*
* @param id 数据中台资产项目数据主键
* @return 数据中台资产项目数据
*/
public InfoLedger selectInfoLedgerById(String id);
/**
* 查询数据中台资产项目数据列表
*
* @param infoLedger 数据中台资产项目数据
* @return 数据中台资产项目数据集合
*/
public List<InfoLedger> selectInfoLedgerList(InfoLedger infoLedger);
/**
* 新增数据中台资产项目数据
*
* @param infoLedger 数据中台资产项目数据
* @return 结果
*/
public int insertInfoLedger(InfoLedger infoLedger);
/**
* 修改数据中台资产项目数据
*
* @param infoLedger 数据中台资产项目数据
* @return 结果
*/
public int updateInfoLedger(InfoLedger infoLedger);
/**
* 批量删除数据中台资产项目数据
*
* @param ids 需要删除的数据中台资产项目数据主键集合
* @return 结果
*/
public int deleteInfoLedgerByIds(String[] ids);
/**
* 删除数据中台资产项目数据信息
*
* @param id 数据中台资产项目数据主键
* @return 结果
*/
public int deleteInfoLedgerById(String id);
String saveOrUpdateByHttp();
}
package com.censoft.censoftrongtong.service.impl;
import java.util.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.censoft.censoftrongtong.domain.InfoAssets;
import com.censoft.censoftrongtong.domain.InfoLedger;
import com.censoft.censoftrongtong.domain.LedgerBuilding;
import com.censoft.censoftrongtong.domain.LedgerProject;
import com.censoft.censoftrongtong.domain.dto.InfoResultDto;
import com.censoft.censoftrongtong.mapper.InfoAssetsMapper;
import com.censoft.censoftrongtong.mapper.LedgerBuildingMapper;
import com.censoft.censoftrongtong.service.IInfoAssetsService;
import com.censoft.censoftrongtong.service.ILedgerBuildingService;
import com.censoft.censoftrongtong.service.ILedgerProjectService;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.yulichang.base.MPJBaseServiceImpl;
import javax.annotation.Resource;
/**
* 数据中台资产数据Service业务层处理
*
* @author ruoyi
* @date 2023-10-07
*/
@Service
public class InfoAssetsServiceImpl extends MPJBaseServiceImpl<InfoAssetsMapper, InfoAssets> implements IInfoAssetsService
{
@Autowired
private InfoAssetsMapper infoAssetsMapper;
@Resource
private ILedgerBuildingService ledgerBuildingService;
@Resource
private ILedgerProjectService ledgerProjectService;
@Resource
private LedgerBuildingMapper ledgerBuildingMapper;
/**
* 查询数据中台资产数据
*
* @param id 数据中台资产数据主键
* @return 数据中台资产数据
*/
@Override
public InfoAssets selectInfoAssetsById(String id)
{
return infoAssetsMapper.selectInfoAssetsById(id);
}
/**
* 查询数据中台资产数据列表
*
* @param infoAssets 数据中台资产数据
* @return 数据中台资产数据
*/
@Override
public List<InfoAssets> selectInfoAssetsList(InfoAssets infoAssets)
{
return infoAssetsMapper.selectInfoAssetsList(infoAssets);
}
/**
* 新增数据中台资产数据
*
* @param infoAssets 数据中台资产数据
* @return 结果
*/
@Override
public int insertInfoAssets(InfoAssets infoAssets)
{
return infoAssetsMapper.insertInfoAssets(infoAssets);
}
/**
* 修改数据中台资产数据
*
* @param infoAssets 数据中台资产数据
* @return 结果
*/
@Override
public int updateInfoAssets(InfoAssets infoAssets)
{
return infoAssetsMapper.updateInfoAssets(infoAssets);
}
/**
* 批量删除数据中台资产数据
*
* @param ids 需要删除的数据中台资产数据主键
* @return 结果
*/
@Override
public int deleteInfoAssetsByIds(String[] ids)
{
return infoAssetsMapper.deleteInfoAssetsByIds(ids);
}
/**
* 删除数据中台资产数据信息
*
* @param id 数据中台资产数据主键
* @return 结果
*/
@Override
public int deleteInfoAssetsById(String id)
{
return infoAssetsMapper.deleteInfoAssetsById(id);
}
@Override
public String saveOrUpdateByHttp() {
//获取全部数据
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("create_time", DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
paramMap.put("update_time", DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
paramMap.put("pageSize", "1");
paramMap.put("pageNum", "1");
//链式构建请求
String result = HttpRequest.get("http://101.36.148.173:17027/api/risk/assets_info")
.header("X-HW-ID", "rpa.ioc.301test")//头信息,多个头信息多次调用此方法即可
.header("X-HW-APPKEY", "V6Ms/P7SvsFN/WdhFYgxrA==")
.form(paramMap)//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
InfoResultDto infoResultDto = JSONObject.parseObject(result, InfoResultDto.class);
String total = infoResultDto.getTotal();
Integer totalNumber = Integer.valueOf(total);
int totalNum = totalNumber / 100 + 1;
for (int i = 1; i <= totalNum; i++) {
paramMap.put("pageSize", "100");
paramMap.put("pageNum", i);
//链式构建请求
result = HttpRequest.get("http://101.36.148.173:17027/api/risk/assets_info")
.header("X-HW-ID", "rpa.ioc.301test")//头信息,多个头信息多次调用此方法即可
.header("X-HW-APPKEY", "V6Ms/P7SvsFN/WdhFYgxrA==")
.form(paramMap)//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
infoResultDto = JSONObject.parseObject(result, InfoResultDto.class);
List<InfoAssets> infoAssets = JSONArray.parseArray(infoResultDto.getData(), InfoAssets.class);
saveOrUpdateBatch(infoAssets);
List<LedgerProject> ledgerProjects = ledgerProjectService.selectLedgerProjectList(new LedgerProject());
List<LedgerBuilding> ledgerBuildings = ledgerBuildingService.selectLedgerBuildingList(new LedgerBuilding());
infoAssets.forEach(infoAsset -> {
Optional<LedgerBuilding> first = ledgerBuildings.stream().filter(ledgerBuilding -> ledgerBuilding.getName().equals(infoAsset.getName())).findFirst();
if (first.isPresent()) {
//关联id
LedgerBuilding ledgerBuilding = first.get();
ledgerBuilding.setInfoAssetsId(infoAsset.getId());
ledgerBuildingMapper.updateLedgerBuilding(ledgerBuilding);
} else {
//新建
LedgerBuilding ledgerBuilding = new LedgerBuilding();
Optional<LedgerProject> first1 = ledgerProjects.stream().filter(ledgerProject -> ledgerProject.getInfoAssetsId()
.equals(infoAsset.getId())).findFirst();
if (first1.isPresent()) {
LedgerProject ledgerProject = first1.get();
ledgerBuilding.setDeptId(ledgerProject.getDeptId());
ledgerBuilding.setProjectId(ledgerProject.getId());
}
ledgerBuilding.setInfoAssetsId(infoAsset.getId());
ledgerBuilding.setName(infoAsset.getName());
ledgerBuilding.setType(infoAsset.getType_name());
if (NumberUtil.isInteger(infoAsset.getGround_plies())){
ledgerBuilding.setGroundFloor(Integer.valueOf(infoAsset.getGround_plies()));
}else {
ledgerBuilding.setGroundFloor(0);
}
if (NumberUtil.isInteger(infoAsset.getUnderground_plies())){
ledgerBuilding.setUndergroundFloor(Integer.valueOf(infoAsset.getUnderground_plies()));
}else {
ledgerBuilding.setUndergroundFloor(0);
}
ledgerBuilding.setFloor(ledgerBuilding.getGroundFloor()+ ledgerBuilding.getUndergroundFloor()+"");
ledgerBuilding.setUseto(infoAsset.getType_name());
ledgerBuilding.setCity(infoAsset.getCity_name());
ledgerBuilding.setAddress(infoAsset.getName());
ledgerBuilding.setStatus("0");
ledgerBuilding.setDelFlag("0");
ledgerBuildingService.save(ledgerBuilding);
}
});
}
return result;
}
}
package com.censoft.censoftrongtong.service.impl;
import java.util.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.censoft.censoftrongtong.domain.InfoAssets;
import com.censoft.censoftrongtong.domain.InfoLedger;
import com.censoft.censoftrongtong.domain.LedgerBuilding;
import com.censoft.censoftrongtong.domain.LedgerProject;
import com.censoft.censoftrongtong.domain.dto.InfoResultDto;
import com.censoft.censoftrongtong.mapper.InfoLedgerMapper;
import com.censoft.censoftrongtong.service.IInfoLedgerService;
import com.censoft.censoftrongtong.service.ILedgerBuildingService;
import com.censoft.censoftrongtong.service.ILedgerProjectService;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.service.ISysDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.yulichang.base.MPJBaseServiceImpl;
import javax.annotation.Resource;
/**
* 数据中台资产项目数据Service业务层处理
*
* @author ruoyi
* @date 2023-10-07
*/
@Service
public class InfoLedgerServiceImpl extends MPJBaseServiceImpl<InfoLedgerMapper, InfoLedger> implements IInfoLedgerService
{
@Autowired
private InfoLedgerMapper infoLedgerMapper;
@Resource
private ILedgerProjectService ledgerProjectService;
@Resource
private ISysDeptService sysDeptService;
/**
* 查询数据中台资产项目数据
*
* @param id 数据中台资产项目数据主键
* @return 数据中台资产项目数据
*/
@Override
public InfoLedger selectInfoLedgerById(String id)
{
return infoLedgerMapper.selectInfoLedgerById(id);
}
/**
* 查询数据中台资产项目数据列表
*
* @param infoLedger 数据中台资产项目数据
* @return 数据中台资产项目数据
*/
@Override
public List<InfoLedger> selectInfoLedgerList(InfoLedger infoLedger)
{
return infoLedgerMapper.selectInfoLedgerList(infoLedger);
}
/**
* 新增数据中台资产项目数据
*
* @param infoLedger 数据中台资产项目数据
* @return 结果
*/
@Override
public int insertInfoLedger(InfoLedger infoLedger)
{
return infoLedgerMapper.insertInfoLedger(infoLedger);
}
/**
* 修改数据中台资产项目数据
*
* @param infoLedger 数据中台资产项目数据
* @return 结果
*/
@Override
public int updateInfoLedger(InfoLedger infoLedger)
{
return infoLedgerMapper.updateInfoLedger(infoLedger);
}
/**
* 批量删除数据中台资产项目数据
*
* @param ids 需要删除的数据中台资产项目数据主键
* @return 结果
*/
@Override
public int deleteInfoLedgerByIds(String[] ids)
{
return infoLedgerMapper.deleteInfoLedgerByIds(ids);
}
/**
* 删除数据中台资产项目数据信息
*
* @param id 数据中台资产项目数据主键
* @return 结果
*/
@Override
public int deleteInfoLedgerById(String id)
{
return infoLedgerMapper.deleteInfoLedgerById(id);
}
@Override
public String saveOrUpdateByHttp() {
//获取全部数据
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("create_time", DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
paramMap.put("update_time", DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
paramMap.put("pageSize", "1");
paramMap.put("pageNum", "1");
//链式构建请求
String result = HttpRequest.get("http://101.36.148.173:17027/api/risk/ledger_info")
.header("X-HW-ID", "rpa.ioc.301test")//头信息,多个头信息多次调用此方法即可
.header("X-HW-APPKEY", "V6Ms/P7SvsFN/WdhFYgxrA==")
.form(paramMap)//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
InfoResultDto infoResultDto = JSONObject.parseObject(result, InfoResultDto.class);
String total = infoResultDto.getTotal();
Integer totalNumber = Integer.valueOf(total);
int totalNum = totalNumber / 100 + 1;
for (int i = 1; i <= totalNum; i++) {
paramMap.put("pageSize", "100");
paramMap.put("pageNum", i);
//链式构建请求
result = HttpRequest.get("http://101.36.148.173:17027/api/risk/ledger_info")
.header("X-HW-ID", "rpa.ioc.301test")//头信息,多个头信息多次调用此方法即可
.header("X-HW-APPKEY", "V6Ms/P7SvsFN/WdhFYgxrA==")
.form(paramMap)//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
infoResultDto = JSONObject.parseObject(result, InfoResultDto.class);
List<InfoLedger> infoLedgers = JSONArray.parseArray(infoResultDto.getData(), InfoLedger.class);
saveOrUpdateBatch(infoLedgers);
List<LedgerProject> ledgerProjects = ledgerProjectService.selectLedgerProjectList(new LedgerProject());
infoLedgers.forEach(infoLedger -> {
Optional<LedgerProject> first = ledgerProjects.stream().filter(ledgerProject -> ledgerProject.getInfoAssetsId()
.equals(infoLedger.getId())).findFirst();
if (first.isPresent()) {
//关联id
LedgerProject ledgerProject = first.get();
ledgerProject.setInfoAssetsId(infoLedger.getId());
ledgerProjectService.updateLedgerProject(ledgerProject);
} else {
//新建
LedgerProject ledgerProject = new LedgerProject();
ledgerProject.setInfoAssetsId(infoLedger.getId());
ledgerProject.setName(infoLedger.getName());
ledgerProject.setType(infoLedger.getBusiness_type());
ledgerProject.setCity(infoLedger.getCity_name());
ledgerProject.setAddress(infoLedger.getName());
ledgerProject.setDelFlag("0");
ledgerProject.setStatus("0");
List<SysDept> sysDepts = sysDeptService.selectDeptList(new SysDept());
Optional<SysDept> first1 = sysDepts.stream().filter(sysDept -> sysDept.getDeptName().replace("区域", "")
.equals(infoLedger.getCorp_name().replace("公司", ""))).findFirst();
if (first1.isPresent()) {
ledgerProject.setDeptId(first1.get().getDeptId());
}
ledgerProjectService.insertLedgerProject(ledgerProject);
}
});
}
return result;
}
}
...@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="city" column="city" /> <result property="city" column="city" />
<result property="area" column="area" /> <result property="area" column="area" />
<result property="address" column="address" /> <result property="address" column="address" />
<result property="infoAssetsId" column="info_assets_id" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
...@@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectLedgerBuildingVo"> <sql id="selectLedgerBuildingVo">
select id, project_id, name, type, dept_id, floor, useto, city, area, address, status, del_flag, create_by, create_time, update_by, update_time from ledger_building select id, project_id, name, type, dept_id, floor, useto, city, area, address,info_assets_id, status, del_flag, create_by, create_time, update_by, update_time from ledger_building
</sql> </sql>
<select id="selectLedgerBuildingList" parameterType="com.censoft.censoftrongtong.domain.LedgerBuilding" resultMap="LedgerBuildingResult"> <select id="selectLedgerBuildingList" parameterType="com.censoft.censoftrongtong.domain.LedgerBuilding" resultMap="LedgerBuildingResult">
...@@ -45,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -45,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
b.city, b.city,
b.area, b.area,
b.address, b.address,
b.info_assets_id,
b.STATUS, b.STATUS,
b.del_flag, b.del_flag,
b.create_by, b.create_by,
...@@ -96,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -96,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="city != null">city,</if> <if test="city != null">city,</if>
<if test="area != null">area,</if> <if test="area != null">area,</if>
<if test="address != null">address,</if> <if test="address != null">address,</if>
<if test="infoAssetsId != null">info_assets_id,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
<if test="delFlag != null">del_flag,</if> <if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
...@@ -115,6 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -115,6 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="city != null">#{city},</if> <if test="city != null">#{city},</if>
<if test="area != null">#{area},</if> <if test="area != null">#{area},</if>
<if test="address != null">#{address},</if> <if test="address != null">#{address},</if>
<if test="infoAssetsId != null">#{infoAssetsId},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
<if test="delFlag != null">#{delFlag},</if> <if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
...@@ -136,6 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -136,6 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="city != null">city = #{city},</if> <if test="city != null">city = #{city},</if>
<if test="area != null">area = #{area},</if> <if test="area != null">area = #{area},</if>
<if test="address != null">address = #{address},</if> <if test="address != null">address = #{address},</if>
<if test="infoAssetsId != null">info_assets_id = #{infoAssetsId},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if> <if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
......
...@@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="city" column="city" /> <result property="city" column="city" />
<result property="address" column="address" /> <result property="address" column="address" />
<result property="source" column="source" /> <result property="source" column="source" />
<result property="infoAssetsId" column="info_assets_id" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
<result property="businessStatus" column="business_status" /> <result property="businessStatus" column="business_status" />
...@@ -24,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -24,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectLedgerProjectVo"> <sql id="selectLedgerProjectVo">
select id, name, type,business, dept_id, city, address, source, status, del_flag, business_status, property_management, create_by, create_time, update_by, update_time from ledger_project select id, name, type,business, dept_id, city, address, source, info_assets_id,status, del_flag, business_status, property_management, create_by, create_time, update_by, update_time from ledger_project
</sql> </sql>
<select id="selectLedgerProjectList" parameterType="com.censoft.censoftrongtong.domain.LedgerProject" resultMap="LedgerProjectResult"> <select id="selectLedgerProjectList" parameterType="com.censoft.censoftrongtong.domain.LedgerProject" resultMap="LedgerProjectResult">
...@@ -38,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -38,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
p.city, p.city,
p.address, p.address,
p.source, p.source,
p.info_assets_id,
p.STATUS, p.STATUS,
p.del_flag, p.del_flag,
p.create_by, p.create_by,
...@@ -78,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -78,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
lp.source, lp.source,
lp.business_status, lp.business_status,
lp.property_management, lp.property_management,
lp.info_assets_id,
lp.STATUS, lp.STATUS,
lp.del_flag, lp.del_flag,
lp.create_by, lp.create_by,
...@@ -102,6 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -102,6 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="city != null">city,</if> <if test="city != null">city,</if>
<if test="address != null">address,</if> <if test="address != null">address,</if>
<if test="source != null">source,</if> <if test="source != null">source,</if>
<if test="infoAssetsId != null">info_assets_id,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
<if test="delFlag != null">del_flag,</if> <if test="delFlag != null">del_flag,</if>
<if test="businessStatus != null">business_status,</if> <if test="businessStatus != null">business_status,</if>
...@@ -119,6 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -119,6 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="city != null">#{city},</if> <if test="city != null">#{city},</if>
<if test="address != null">#{address},</if> <if test="address != null">#{address},</if>
<if test="source != null">#{source},</if> <if test="source != null">#{source},</if>
<if test="infoAssetsId != null">#{infoAssetsId},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
<if test="delFlag != null">#{delFlag},</if> <if test="delFlag != null">#{delFlag},</if>
<if test="businessStatus != null">#{businessStatus},</if> <if test="businessStatus != null">#{businessStatus},</if>
...@@ -140,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -140,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="city != null">city = #{city},</if> <if test="city != null">city = #{city},</if>
<if test="address != null">address = #{address},</if> <if test="address != null">address = #{address},</if>
<if test="source != null">source = #{source},</if> <if test="source != null">source = #{source},</if>
<if test="infoAssetsId != null">info_assets_id = #{infoAssetsId},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if> <if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="businessStatus != null">business_status = #{businessStatus},</if> <if test="businessStatus != null">business_status = #{businessStatus},</if>
......
...@@ -66,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -66,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN sys_dept sd2 ON sd2.dept_id = lp.dept_id) TT LEFT JOIN sys_dept sd2 ON sd2.dept_id = lp.dept_id) TT
<where> <where>
<if test="isLedger != null and isLedger != ''"> and ( TT.`status` = 'FINISH' OR TT.`status` = 'REVOKE' )</if> <!-- <if test="isLedger != null and isLedger != ''"> and ( TT.`status` = 'FINISH' OR TT.`status` = 'REVOKE' )</if>-->
<if test="name != null and name != ''"> and TT.name like concat('%', #{name}, '%')</if> <if test="name != null and name != ''"> and TT.name like concat('%', #{name}, '%')</if>
<if test="no != null and no != ''"> and TT.no = #{no}</if> <if test="no != null and no != ''"> and TT.no = #{no}</if>
<if test="projectId != null "> and TT.project_id = #{projectId}</if> <if test="projectId != null "> and TT.project_id = #{projectId}</if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment