Commit cb54b46c authored by suhuiguang's avatar suhuiguang

1.西安数据补充使用单位信用代码接口

parent a180c222
......@@ -2638,4 +2638,13 @@
tup.expiry_date <![CDATA[<]]> CURRENT_DATE AND tup.permission_post IN ('permissionData66151', 'permissionData66152', 'permissionData6552');
</select>
<select id="queryAllCompanyDict" resultType="com.yeejoin.amos.boot.biz.common.dto.KeyValueDto">
select
company_name as strKey,
company_code as strValue
from
tzs_jg_unit_import
where
company_code <![CDATA[<>]]> ''
</select>
</mapper>
......@@ -176,4 +176,14 @@ public class DataHandlerController extends BaseController {
watch.stop();
return ResponseHelper.buildResponse(String.format("同步成功,耗时:%s", watch.getTotalTimeSeconds()));
}
@ApiOperation(httpMethod = "PUT", value = "补充西安导入数据的使用信用代码,压力管道除外", notes = "补充西安导入数据的使用信用代码,压力管道除外")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/v1/xa/useInfo")
public ResponseModel<Boolean> updateUseInfoOfCompanyV1(){
dataHandlerService.updateUseInfoOfCompanyV1();
return ResponseHelper.buildResponse(true);
}
}
......@@ -13,8 +13,10 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.dto.KeyValueDto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
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.dto.ESEquipmentCategoryDto;
......@@ -23,6 +25,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.PieLineEquipContraptionDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.PipelineEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.DataHandlerMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgInstallationNoticeEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgInstallationNoticeMapper;
......@@ -91,7 +94,7 @@ public class DataHandlerServiceImpl {
private final JgInstallationNoticeMapper jgInstallationNoticeMapper;
private final DataHandlerMapper dataHandlerMapper;
private final CategoryOtherInfoMapper categoryOtherInfoMapper;
;
private final CommonMapper commonMapper;
/**
......@@ -1029,4 +1032,36 @@ public class DataHandlerServiceImpl {
}
}
}
/**
* 查询公司代码为空的设备西安设备,以tzs_jg_unit_import为准【按照单位名称】更新使用信息表的【使用单位编码】、es的【使用单位编码】
*/
public void updateUseInfoOfCompanyV1() {
List<IdxBizJgUseInfo> useInfos = useInfoService.getBaseMapper().selectXAList();
Map<String, String> companynameCodeMap = getCompanyNameCodeMap();
useInfos.forEach(e->{
String companyCode = companynameCodeMap.get(e.getUseUnitName());
if(companyCode != null){
// 1.数据库更新
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(TzsBaseEntity::getSequenceNbr, e.getSequenceNbr());
updateWrapper.set(IdxBizJgUseInfo::getUseUnitCreditCode, companyCode);
updateWrapper.set(TzsBaseEntity::getRecDate, new Date());
useInfoService.update(updateWrapper);
// 2.es 更新
Optional<ESEquipmentCategoryDto> categoryDto = esEquipmentCategory.findById(e.getRecord());
categoryDto.ifPresent(categoryEs -> {
categoryEs.setUSE_UNIT_CREDIT_CODE(companyCode);
// 捎带更新单位名称保持数据库和es一致
categoryEs.setUSC_UNIT_NAME(e.getUseUnitName());
esEquipmentCategory.save(categoryEs);
});
}
});
}
private Map<String, String> getCompanyNameCodeMap() {
List<KeyValueDto> companyList = commonMapper.queryAllCompanyDict();
return companyList.stream().collect(Collectors.toMap(KeyValueDto::getStrKey, KeyValueDto::getStrValue, (k1, k2)->k1));
}
}
......@@ -13,4 +13,6 @@ import java.util.List;
*/
public interface IdxBizJgUseInfoMapper extends BaseMapper<IdxBizJgUseInfo> {
void batchUpdateUseInfo(@Param("records") List<String> records, Integer code);
List<IdxBizJgUseInfo> selectXAList();
}
......@@ -8,4 +8,19 @@
#{record}
</foreach>
</update>
<select id="selectXAList" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo"> select
select
u."SEQUENCE_NBR",
u."RECORD",
u."USE_UNIT_CREDIT_CODE",
u."USE_UNIT_NAME"
from
idx_biz_jg_use_info u
where
u.DATA_SOURCE = 'jg_his_xa'
and (
u."USE_UNIT_CREDIT_CODE" is null or length(u."USE_UNIT_CREDIT_CODE") <![CDATA[ < ]]> 15
)
and u."USE_UNIT_NAME" <![CDATA[ <> ]]> ''
</select>
</mapper>
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