Commit 141bc55b authored by 韩桐桐's avatar 韩桐桐

fix(jg):延炼八大类设备数据调整接口

parent 599a92bb
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.DataDockServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.DataDockServiceImpl;
import com.yeejoin.amos.component.robot.BadRequest;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
...@@ -8,6 +9,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -8,6 +9,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
...@@ -52,9 +54,7 @@ public class DataDockController { ...@@ -52,9 +54,7 @@ public class DataDockController {
String contentType = file.getContentType(); String contentType = file.getContentType();
String fileExtension = FilenameUtils.getExtension(file.getOriginalFilename()); String fileExtension = FilenameUtils.getExtension(file.getOriginalFilename());
// 校验 Excel 文件的 MIME type 和扩展名 // 校验 Excel 文件的 MIME type 和扩展名
if (!("application/vnd.ms-excel".equals(contentType) || if (!("application/vnd.ms-excel".equals(contentType) || "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".equals(contentType)) || !("xls".equalsIgnoreCase(fileExtension) || "xlsx".equalsIgnoreCase(fileExtension))) {
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".equals(contentType)) ||
!("xls".equalsIgnoreCase(fileExtension) || "xlsx".equalsIgnoreCase(fileExtension))) {
return ResponseHelper.buildResponse("文件类型必须是 Excel 文件"); return ResponseHelper.buildResponse("文件类型必须是 Excel 文件");
} }
return ResponseHelper.buildResponse(dataDockService.dataCheckAndImportEquipmentData(remark, file)); return ResponseHelper.buildResponse(dataDockService.dataCheckAndImportEquipmentData(remark, file));
...@@ -68,14 +68,24 @@ public class DataDockController { ...@@ -68,14 +68,24 @@ public class DataDockController {
// return ResponseHelper.buildResponse("ok"); // return ResponseHelper.buildResponse("ok");
// } // }
// @TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
// @GetMapping(value = "/yanChang/ORG_BRANCH_CODE") @GetMapping(value = "/yanChang/ORG_BRANCH_CODE")
// @ApiOperation(httpMethod = "get", value = "延炼-延长-刷入属地监管部门", notes = "延炼-延长-刷入属地监管部门") @ApiOperation(httpMethod = "get", value = "延炼-延长-刷入属地监管部门", notes = "延炼-延长-刷入属地监管部门")
// public Object writeOrgBranchCode2YanChang(@NotNull @RequestParam String remark) { public Object writeOrgBranchCode2YanChang(@RequestParam String remark) {
// if (ValidationUtil.isEmpty(remark)) { if (ValidationUtil.isEmpty(remark)) {
// throw new BadRequest("remark必填!"); throw new BadRequest("remark必填!");
// } }
// return ResponseHelper.buildResponse("更新成功,共" + dataDockService.writeOrgBranchCode2YanChang(remark) + "条数据"); return ResponseHelper.buildResponse("更新成功,共" + dataDockService.writeOrgBranchCode2YanChang(remark) + "条数据");
// } }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/yanChang/USE_PLACE")
@ApiOperation(httpMethod = "get", value = "延炼-延长-刷入所属区域", notes = "延炼-延长-刷入所属区域")
public Object writeUsePlace2YanChang(@RequestParam String remark) {
if (ValidationUtil.isEmpty(remark)) {
throw new BadRequest("remark必填!");
}
return ResponseHelper.buildResponse("更新成功,共" + dataDockService.writeUsePlace2YanChang(remark) + "条数据");
}
} }
...@@ -9,16 +9,19 @@ import com.alibaba.excel.read.metadata.holder.ReadRowHolder; ...@@ -9,16 +9,19 @@ import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.api.converter.EquCategoryConverter; import com.yeejoin.amos.boot.module.jg.api.converter.EquCategoryConverter;
import com.yeejoin.amos.boot.module.jg.api.converter.EquDefineConverter; import com.yeejoin.amos.boot.module.jg.api.converter.EquDefineConverter;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipInfoExcelDto; import com.yeejoin.amos.boot.module.jg.api.dto.EquipInfoExcelDto;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.*; import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import io.seata.spring.annotation.GlobalTransactional; import io.seata.spring.annotation.GlobalTransactional;
...@@ -29,7 +32,6 @@ import org.apache.commons.lang3.StringUtils; ...@@ -29,7 +32,6 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
...@@ -67,7 +69,10 @@ public class DataDockServiceImpl { ...@@ -67,7 +69,10 @@ public class DataDockServiceImpl {
private final IIdxBizJgTechParamsRopewayService iIdxBizJgTechParamsRopewayService; private final IIdxBizJgTechParamsRopewayService iIdxBizJgTechParamsRopewayService;
private final IIdxBizJgTechParamsElevatorService iIdxBizJgTechParamsElevatorService; private final IIdxBizJgTechParamsElevatorService iIdxBizJgTechParamsElevatorService;
private final IdxBizJgProjectContraptionServiceImpl idxBizJgProjectContraptionServiceImpl; private final IdxBizJgProjectContraptionServiceImpl idxBizJgProjectContraptionServiceImpl;
private final TransactionTemplate transactionTemplate; private final TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
private final RedisUtils redisUtils;
private final TzsServiceFeignClient tzsServiceFeignClient;
;
private final CommonServiceImpl commonService; private final CommonServiceImpl commonService;
private final Map<String, Object> resultError = new HashMap<>(); private final Map<String, Object> resultError = new HashMap<>();
...@@ -140,16 +145,98 @@ public class DataDockServiceImpl { ...@@ -140,16 +145,98 @@ public class DataDockServiceImpl {
// records.forEach(record -> this.saveEquInfoToEs(record)); // records.forEach(record -> this.saveEquInfoToEs(record));
// } // }
// public Integer writeOrgBranchCode2YanChang(String remark) { public Integer writeOrgBranchCode2YanChang(String remark) {
// List<String> records = idxBizJgUseInfoService.lambdaQuery().select(IdxBizJgUseInfo::getRecord).eq(IdxBizJgUseInfo::getRemark, remark).list().stream().map(IdxBizJgUseInfo::getRecord).collect(Collectors.toList()); List<String> records = idxBizJgUseInfoService.lambdaQuery().select(IdxBizJgUseInfo::getRecord).eq(IdxBizJgUseInfo::getRemark, remark).list().stream().map(IdxBizJgUseInfo::getRecord).collect(Collectors.toList());
//
// idxBizJgSupervisionInfoService.lambdaUpdate().set(IdxBizJgSupervisionInfo::getOrgBranchCode, "50*74*160*12478").set(IdxBizJgSupervisionInfo::getOrgBranchName, "交口河镇市场监管所").in(IdxBizJgSupervisionInfo::getRecord, records).update(); idxBizJgSupervisionInfoService.lambdaUpdate().set(IdxBizJgSupervisionInfo::getOrgBranchCode, "50*74*160*12478").set(IdxBizJgSupervisionInfo::getOrgBranchName, "交口河镇市场监管所").in(IdxBizJgSupervisionInfo::getRecord, records).update();
// records.forEach(record -> { records.forEach(record -> {
// esEquipmentCategory.deleteById(record); esEquipmentCategory.deleteById(record);
// this.saveEquInfoToEs(record); this.saveEquInfoToEs(record);
// }); });
// return records.size(); return records.size();
// } }
/**
* 根据name获取市区县Code
*
* @param name
* @return code
*/
private String getRegionCode(String name, String key) {
return Optional.ofNullable((List<LinkedHashMap>) redisUtils.get(key))
.flatMap(list -> list.stream()
.filter(item -> String.valueOf(item.get("regionName"))
.equals(name))
.map(item -> String.valueOf(item.get("regionCode")))
.findFirst())
.orElse("");
}
public Integer writeUsePlace2YanChang(String remark) {
List<String> records = idxBizJgUseInfoService.lambdaQuery()
.select(IdxBizJgUseInfo::getRecord)
.eq(IdxBizJgUseInfo::getRemark, remark)
.list()
.stream()
.map(IdxBizJgUseInfo::getRecord)
.collect(Collectors.toList());
if (records.isEmpty()) {
return 0;
}
Optional<String> useUnitCreditCode = idxBizJgUseInfoService.lambdaQuery()
.select(IdxBizJgUseInfo::getUseUnitCreditCode)
.eq(IdxBizJgUseInfo::getRecord, records.get(0))
.list().stream().findFirst().map(IdxBizJgUseInfo::getUseUnitCreditCode);
useUnitCreditCode.ifPresent(useCode -> {
TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>()
.eq(TzBaseEnterpriseInfo::getUseUnitCode, useCode));
String provinceName = enterpriseInfo.getProvince();
String provinceCode = "610000";
String cityName = enterpriseInfo.getCity();
String cityCode = "";
if (!ValidationUtil.isEmpty(cityName)) {
cityCode = getRegionCode(cityName, "CITY");
}
String districtName = enterpriseInfo.getDistrict();
String districtCode = "";
if (!ValidationUtil.isEmpty(districtName)) {
districtCode = getRegionCode(districtName, "COUNTY");
}
String usePlace = provinceName + "/" + cityName + "/" + districtName;
String usePlaceCode = provinceCode + "#" + cityCode + "#" + districtCode;
idxBizJgUseInfoService.lambdaUpdate()
.set(IdxBizJgUseInfo::getProvince, provinceCode)
.set(IdxBizJgUseInfo::getProvinceName, provinceName)
.set(IdxBizJgUseInfo::getCity, cityCode)
.set(IdxBizJgUseInfo::getCityName, cityName)
.set(IdxBizJgUseInfo::getCounty, districtCode)
.set(IdxBizJgUseInfo::getCountyName, districtName)
.set(IdxBizJgUseInfo::getStreetName, enterpriseInfo.getStreet())
.set(IdxBizJgUseInfo::getAddress, enterpriseInfo.getAddress())
.set(!ValidationUtil.isEmpty(enterpriseInfo.getLatitude()) && !ValidationUtil.isEmpty(enterpriseInfo.getLongitude()),
IdxBizJgUseInfo::getLongitudeLatitude,
String.format("{\"latitude\":\"%s\",\"longitude\":\"%s\"}", enterpriseInfo.getLatitude(), enterpriseInfo.getLongitude()))
.in(IdxBizJgUseInfo::getRecord, records)
.update();
records.forEach(record -> {
log.error("向{}刷入使用地点信息", record);
HashMap<String, Map<String, Object>> objMap = new HashMap<>();
HashMap<String, Object> param = new HashMap<>();
param.put("USE_PLACE", usePlace);
param.put("USE_PLACE_CODE", usePlaceCode);
objMap.put(record, param);
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
});
});
return records.size();
}
/** /**
* 保存工程装置表信息 * 保存工程装置表信息
...@@ -209,6 +296,32 @@ public class DataDockServiceImpl { ...@@ -209,6 +296,32 @@ public class DataDockServiceImpl {
log.error("数据===>{}", JSONObject.toJSONString(equ)); log.error("数据===>{}", JSONObject.toJSONString(equ));
IdxBizJgUseInfo useInfo = JSON.parseObject(JSON.toJSONString(equ), IdxBizJgUseInfo.class); IdxBizJgUseInfo useInfo = JSON.parseObject(JSON.toJSONString(equ), IdxBizJgUseInfo.class);
if (!ValidationUtil.isEmpty(useInfo)) { if (!ValidationUtil.isEmpty(useInfo)) {
TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>()
.eq(TzBaseEnterpriseInfo::getUseUnitCode, String.valueOf(equ.get("useUnitCode")).trim()));
if (!ValidationUtil.isEmpty(enterpriseInfo)) {
String provinceName = enterpriseInfo.getProvince();
String provinceCode = "610000";
String cityName = enterpriseInfo.getCity();
String cityCode = "";
if (!ValidationUtil.isEmpty(cityName)) {
cityCode = getRegionCode(cityName, "CITY");
}
String districtName = enterpriseInfo.getDistrict();
String districtCode = "";
if (!ValidationUtil.isEmpty(districtName)) {
districtCode = getRegionCode(districtName, "COUNTY");
}
useInfo.setProvince(provinceCode);
useInfo.setProvinceName(provinceName);
useInfo.setCity(cityCode);
useInfo.setCityName(cityName);
useInfo.setCounty(districtCode);
useInfo.setCountyName(districtName);
useInfo.setStreetName(enterpriseInfo.getStreet());
if (ValidationUtil.isEmpty(enterpriseInfo.getLatitude()) && !ValidationUtil.isEmpty(enterpriseInfo.getLongitude())) {
useInfo.setLongitudeLatitude(String.format("{\"latitude\":\"%s\",\"longitude\":\"%s\"}", enterpriseInfo.getLatitude(), enterpriseInfo.getLongitude()));
}
}
useInfo.setRecDate(new Date()); useInfo.setRecDate(new Date());
useInfo.setRecord(record); useInfo.setRecord(record);
useInfo.setDataSource(dataSource); useInfo.setDataSource(dataSource);
...@@ -269,6 +382,7 @@ public class DataDockServiceImpl { ...@@ -269,6 +382,7 @@ public class DataDockServiceImpl {
registerInfo.setRegisterState("6045"); registerInfo.setRegisterState("6045");
if (EquipmentClassifityEnum.YLGD.getCode().equals(equList)) { if (EquipmentClassifityEnum.YLGD.getCode().equals(equList)) {
registerInfo.setEquCodeType("2"); registerInfo.setEquCodeType("2");
registerInfo.setProductName((String) equ.get("pipeName"));
} }
idxBizJgRegisterInfoServiceImpl.save(registerInfo); idxBizJgRegisterInfoServiceImpl.save(registerInfo);
} }
......
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