bug(办公每月作价):办公作价迁移

This commit is contained in:
purple
2020-06-30 19:31:35 +08:00
parent 3691553aeb
commit fab2701bab
18 changed files with 1690 additions and 340 deletions

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.data.cases.mapper.sync.DownloadOriginalOfficeCaseMapper">
<resultMap id="DownloadMapping" type="com.ruoyi.project.data.cases.domain.OriginalOfficeCase">
<result property="url" column="url"/>
<result property="title" column="title"/>
<result property="floorAreaRatio" column="容积率"/>
<result property="caseTotalPrice" column="总价售"/>
<result property="caseUnitPrice" column="均价售"/>
<result property="name" column="楼盘名称"/>
<result property="caseFloor" column="楼层"/>
<result property="area" column="面积" javaType="java.math.BigDecimal"/>
<result property="managementFee" column="物业费"/>
<result property="seatCount" column="工位数"/>
<result property="address" column="地址"/>
<result property="metro" column="地铁"/>
<result property="publishDate" column="发布时间" javaType="java.sql.Date"/>
<result property="sourceNo" column="房源编号"/>
<result property="lng" column="百度lng"/>
<result property="lat" column="百度lat"/>
<result property="county" column="区域"/>
<result property="catalog" column="分类"/>
<result property="source" column="来源"/>
<result property="level" column="等级"/>
<result property="homePageUrl" column="楼盘网址"/>
<result property="decoration" column="装修"/>
<result property="type" column="类型"/>
<result property="block" column="板块"/>
<result property="agency" column="挂牌中介"/>
<result property="rentOfMonthly" column="月租金租"/>
<result property="rentOfStandard" column="标准租金租"/>
<result property="score" column="得房率"/>
<result property="totalPrice" column="总价"/>
<result property="unitPrice" column="单价"/>
</resultMap>
<select id="download" resultMap="DownloadMapping">
select url, title, 容积率, 总价售, 均价售, 楼盘名称, 楼层, 面积, 物业费, 工位数, 地址, 地铁,
发布时间,房源编号, 百度lng, 百度lat, 区域, 分类, 来源, 等级, 楼盘网址, 装修,
类型, 板块, 挂牌中介, 月租金租, 标准租金租, 更新时间, 得房率,
case when 分类 = '售' then 总价售
when 分类 = '租' then 月租金租 end as 总价,
case when 分类 = '售' then 均价售
when 分类 = '租' then 标准租金租 end as 单价
from dbo.办公
where 更新时间 >= #{startDate} and 更新时间 <![CDATA[ < ]]> #{endDate}
</select>
</mapper>

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.data.cases.mapper.OriginalOfficeCaseMapper">
<update id="createTable">
<bind name="targetTableName" value="'dbo.ODS_OFFICECASELISTED_' + yearMonth + '_RAW'"/>
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
create TABLE ${targetTableName}
(
ID uniqueidentifier not null primary key,
url varchar (1000) NULL,
title varchar (1000) NULL,
容积率 varchar (1000) NULL,
总价售 varchar (1000) NULL,
均价售 varchar (1000) NULL,
楼盘名称 varchar (1000) NULL,
楼盘名称_M nvarchar (512) NULL,
楼层 varchar (1000) NULL,
面积 varchar (1000) NULL,
物业费 varchar (1000) NULL,
工位数 varchar (1000) NULL,
地址 varchar (1000) NULL,
地铁 varchar (1000) NULL,
发布时间 date NULL,
房源编号 varchar (1000) NULL,
百度lng varchar (1000) NULL,
百度lat varchar (1000) NULL,
区域 varchar (1000) NULL,
分类 varchar (1000) NULL,
来源 varchar (1000) NULL,
等级 varchar (1000) NULL,
楼盘网址 varchar (1000) NULL,
装修 varchar (1000) NULL,
类型 varchar (1000) NULL,
板块 varchar (1000) NULL,
挂牌中介 varchar (1000) NULL,
月租金租 varchar (1000) NULL,
标准租金租 varchar (1000) NULL,
更新时间 varchar (1000) NULL,
得房率 varchar (1000) NULL,
总价 decimal (18, 2) NULL,
单价 decimal (18, 2) NULL
);
</update>
<!-- 创建人工修正表 -->
<update id="createArtificialTable">
<bind name="targetTableName" value="'dbo.DWA_PROJECTBASEPRICE_OFFICE_MANU_' + yearMonth"/>
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
CREATE TABLE ${targetTableName}
(
id uniqueidentifier not null,
BuildingID bigint NOT NULL,
UnifiedID bigint NULL,
ProjectID bigint NOT NULL,
BuildingID_P nvarchar (20) NOT NULL,
ProjectID_P bigint NULL,
MainPrice decimal (38, 6) NULL,
MainPriceRent decimal (38, 6) NULL,
MainPricePst decimal (38, 6) NULL,
MainPriceRentPst decimal (38, 6) NULL,
MainPriceType varchar (2) NULL,
MainPriceRentType varchar (2) NULL,
ModifyDate date NULL,
Status nvarchar (30) NULL,
BuildingStd tinyint NULL,
AdjEvd nvarchar (1000) NULL,
MainPrice_1 decimal (38, 6) NULL,
MainPriceRent_1 decimal (38, 6) NULL,
AreaCoff decimal (7, 4) NULL,
YearCoff decimal (7, 4) NULL,
BuildingCoff decimal (7, 4) NULL,
ProjectName nvarchar (1024) NULL,
ProjectAddr nvarchar (1024) NULL,
BuildingAddr nvarchar (1024) NULL,
County nvarchar (512) NULL,
Loop nvarchar (512) NULL,
Block nvarchar (512) NULL,
Street nvarchar (512) NULL,
Year int NULL,
AvgArea decimal (18, 2) NULL,
TotalFloorSum nvarchar (32) NULL,
UpperFloorSum nvarchar (32) NULL,
OfficeClass nvarchar (256) NULL,
Grade nvarchar (64) NULL
);
</update>
</mapper>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.data.cases.mapper.OriginalResidenceRentOpeningCaseMapper">
<update id="createTable">
<bind name="targetTableName" value="'dbo.original_residence_rent_opening_case_' + yearMonth" />
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
CREATE TABLE ${targetTableName}
(
case_id varchar (32) NOT NULL,
case_no nvarchar (32) NULL,
case_lianjia_id nvarchar (50) NOT null primary key,
case_lianjia_community_id nvarchar (50) NOT NULL,
case_title nvarchar (500) NOT NULL,
clean_property_type nvarchar (20) NULL,
case_apartment_layout nvarchar (500) NOT NULL,
case_house_structure nvarchar (50) NULL,
case_area decimal (10, 2) NOT NULL,
case_total_area decimal (10, 2) NOT NULL,
case_rent_type nvarchar (20) NULL,
case_status nvarchar (20) NULL,
case_block nvarchar (20) NULL,
case_county nvarchar (20) NULL,
case_loop nvarchar (20) NULL,
case_hall_num int NULL,
case_room_num int NULL,
case_underground_area decimal (10, 2) NULL,
case_toward nvarchar (50) NOT NULL,
clean_toward nvarchar (50) NULL,
case_storey nvarchar (20) NOT NULL,
clean_total_floor int NOT NULL,
clean_current_floor_desc nvarchar (20) NULL,
case_elevator nvarchar (20) NULL,
clean_elevator nvarchar (20) NULL,
case_tihu nvarchar (20) NULL,
case_decoration nvarchar (20) NULL,
clean_decoration nvarchar (50) NULL,
case_year int NOT NULL,
clean_year int NOT NULL,
case_address nvarchar (500) NULL,
case_vid nvarchar (500) NULL,
case_chan_quan_xing_zhi nvarchar (200) NULL,
case_price decimal (18, 2) NOT NULL,
clean_unit_price decimal (18, 2) NOT NULL,
clean_total_price decimal (18, 2) NOT NULL,
case_community_name nvarchar (500) NULL,
case_visited_num int NOT NULL,
case_visited_num_15 int NOT NULL,
case_visited_num_30 int NOT NULL,
case_latest_deal_date date NULL,
case_latest_visited_date date NULL,
case_first_visited_date date NULL,
case_url nvarchar (500) NOT NULL,
case_community_url nvarchar (500) NOT NULL,
case_get_date date NOT NULL,
case_provider nvarchar (50) NOT NULL,
uv_community_name nvarchar (500) NULL,
uv_community_address nvarchar (1024) NULL,
uv_community_id nvarchar (20) NULL,
uv_building_id nvarchar (20) NULL,
uv_county nvarchar (50) NULL,
uv_block nvarchar (50) NULL,
uv_loop nvarchar (50) NULL,
area_coefficient decimal (18, 6) NULL,
toward_coefficient decimal (18, 6) NULL,
floor_coefficient decimal (18, 6) NULL,
decoration_coefficient int NULL,
year_coefficient decimal (18, 6) NULL,
building_coefficient decimal (18, 6) NULL,
adjust_unit_price decimal (18, 2) NULL,
clean_project_level nvarchar (50) NULL,
create_time datetime NOT NULL
);
</update>
<update id="createCleanTable">
<bind name="targetTableName" value="'dbo.ODS_HOUSINGCASELISTED_LJ_' + yearMonth" />
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
CREATE TABLE ${targetTableName}
(
case_id varchar(32) not null,
HouseholdsID_LJ bigint not null primary key,
ProjectID_LJ bigint null,
ProjectID bigint null,
Roomtype nvarchar(64) null,
Area decimal(18, 2) null,
Towards nvarchar(64) null,
UpperFloorSum nvarchar(32) null,
UpperFloorNum nvarchar(32) null,
Elevator tinyint null,
Decoration nvarchar(64) null,
Year int null,
AreaCoff decimal(7, 4) null,
TowardsCoff decimal(7, 4) null,
FloorCoff decimal(7, 4) null,
DecorationRng int null,
YearCoff decimal(7, 4) null,
BuildingCoff decimal(7, 4) null,
PriceTotal decimal(18, 2) null,
PriceUnit decimal(18, 2) not null,
PriceUnitAdj decimal(18, 2) not null,
Visited_Num int null,
First_Visit_Time date null,
Visited_Num_15 int null,
Visited_Num_30 int null,
Status tinyint null,
AdjustedValue decimal(18, 2) null,
AdjustedPst decimal(18, 6) null,
AdjustedCumValue decimal(18, 2) null,
AdjustedCumPst decimal(18, 6) null,
AdjustedCumValueAbs decimal(18, 2) null,
AdjustedCumPstAbs decimal(18, 6) null,
AdjustedCumNum int null,
PriceTotalIn decimal(18, 2) null,
PriceTotalOut decimal(18, 2) null,
PriceDateIn date null,
PriceDateOut date null
);
</update>
<update id="createAssembleTable">
<bind name="targetTableName" value="'dbo.DW_HOUSINGCASE_COMM_' + yearMonth" />
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
create table ${targetTableName}
(
SID int primary key identity
, case_id varchar(32) not null
, HouseholdsID_LJ bigint
, ProjectID_LJ bigint
, ProjectID bigint --modified
, ProjectName nvarchar(1024)
, ProjectAddr nvarchar(1024)
, County nvarchar(512)
, Block nvarchar(512)
, Loop nvarchar(512)
, Roomtype nvarchar(64)
, Area decimal(18, 2)
, Towards nvarchar(64)
, UpperFloorSum nvarchar(32)
, UpperFloorNum nvarchar(32)
, Elevator tinyint
, Decoration nvarchar(64)
, Year int
, AreaCoff decimal(7, 4)
, TowardsCoff decimal(7, 4)
, FloorCoff decimal(7, 4)
, DecorationRng int
, YearCoff decimal(7, 4)
, BuildingCoff decimal(7, 4)
, BasePrice_1 decimal(18, 2)
, PriceTotal decimal(18, 2) not null
, PriceUnit decimal(18, 2) not null
, PriceUnitAdj decimal(18, 2) not null
, Visited_Num int
, First_Visit_Time date
, Visited_Num_15 int
, Visited_Num_30 int
, Status tinyint
, AdjustedValue decimal(18, 2)
, AdjustedPst decimal(18, 6)
, AdjustedCumValue decimal(18, 2)
, AdjustedCumPst decimal(18, 6)
, AdjustedCumValueAbs decimal(18, 2)
, AdjustedCumPstAbs decimal(18, 6)
, AdjustedCumNum int
, PriceTotalIn decimal(18, 2)
, PriceDateIn date
, CaseType int
, RangeFlag int
);
</update>
<update id="createComputePriceTable">
<bind name="targetTableName" value="'dbo.DWA_PROJECTBASEPRICE_IMDT_' + yearMonth" />
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
create table ${targetTableName}
(
SID int not null identity(1,1)
, ProjectID nvarchar(20) primary key
, ProjectName nvarchar(1024)
, ProjectAddr nvarchar(1024)
, County nvarchar(512)
, Block nvarchar(512)
, Loop nvarchar(512)
, IsIndxGen tinyint
, IsPstCalc tinyint
, StatusRun tinyint
, ProjectSPLabel nvarchar(64)
, PropertyType nvarchar(256)
, ProjectType nvarchar(256)
, ProjectTypeDtl nvarchar(256)
, ProjectLevel nvarchar(64)
, Year int
, MainArea decimal(18, 2)
, AreaCoff decimal(7, 4)
, YearCoff decimal(7, 4)
, PriceNote nvarchar(1024)
, BasePriceDft decimal(18, 2)
, MainPriceDft decimal(18, 2)
, BasePrice_1 decimal(18, 2)
, PriceUnitAdj decimal(18, 2)
, Visited_Num int
, First_Visit_Time date
, Visited_Num_15 int
, Visited_Num_30 int
, PriceDealMean_1 decimal(18, 2)
, PriceDealMax_1 decimal(18, 2)
, SumDeal_1 int
, PriceDealMean decimal(18, 2)
, PriceDealMax decimal(18, 2)
, SumDeal int
, PriceListedMin decimal(18, 2)
, PriceCase1_ToAI_Pst decimal(18, 6)
, PriceCase2_ToAI_Pst decimal(18, 6)
, PriceCase1_ToLst_Pst decimal(18, 6)
, PriceCase2_ToLst_Pst decimal(18, 6)
, PriceCase1 decimal(18, 2)
, PriceCase1AdjPst decimal(18, 6)
, SumCase1 int
, PriceCase2 decimal(18, 2)
, PriceCase2AdjPst decimal(18, 6)
, SumCase2 int
, VOPPBT varchar(64)
, VOPPB decimal(18, 6)
, BindProjID int
, Bind_Proj_Pst decimal(18, 6)
, Bind_Block_Class nvarchar(128)
, Bind_Block_Class_Pst decimal(18, 6)
, Bind_Block_Plevel nvarchar(128)
, Bind_Block_Plevel_Pst decimal(18, 6)
, Bind_Block_PType nvarchar(128)
, Bind_Block_Ptype_Pst decimal(18, 6)
, Bind_County_PType nvarchar(128)
, Bind_County_Ptype_Pst decimal(18, 6)
, VOPPAT varchar(64)
, VOPPA decimal(18, 6)
);
</update>
<!-- 人工修正价格表和作价表一摸一样 -->
<update id="createArtificialPriceTable">
<bind name="targetTableName" value="'dbo.DWA_PROJECTBASEPRICE_MANU_' + yearMonth" />
IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL
drop table ${targetTableName};
create table ${targetTableName}
(
SID int not null identity(1,1)
, ProjectID nvarchar(20) primary key
, ProjectName nvarchar(1024)
, ProjectAddr nvarchar(1024)
, County nvarchar(512)
, Block nvarchar(512)
, Loop nvarchar(512)
, IsIndxGen tinyint
, IsPstCalc tinyint
, StatusRun tinyint
, ProjectSPLabel nvarchar(64)
, PropertyType nvarchar(256)
, ProjectType nvarchar(256)
, ProjectTypeDtl nvarchar(256)
, ProjectLevel nvarchar(64)
, Year int
, MainArea decimal(18, 2)
, AreaCoff decimal(7, 4)
, YearCoff decimal(7, 4)
, PriceNote nvarchar(1024)
, BasePriceDft decimal(18, 2)
, MainPriceDft decimal(18, 2)
, BasePrice_1 decimal(18, 2)
, PriceUnitAdj decimal(18, 2)
, Visited_Num int
, First_Visit_Time date
, Visited_Num_15 int
, Visited_Num_30 int
, PriceDealMean_1 decimal(18, 2)
, PriceDealMax_1 decimal(18, 2)
, SumDeal_1 int
, PriceDealMean decimal(18, 2)
, PriceDealMax decimal(18, 2)
, SumDeal int
, PriceListedMin decimal(18, 2)
, PriceCase1_ToAI_Pst decimal(18, 6)
, PriceCase2_ToAI_Pst decimal(18, 6)
, PriceCase1_ToLst_Pst decimal(18, 6)
, PriceCase2_ToLst_Pst decimal(18, 6)
, PriceCase1 decimal(18, 2)
, PriceCase1AdjPst decimal(18, 6)
, SumCase1 int
, PriceCase2 decimal(18, 2)
, PriceCase2AdjPst decimal(18, 6)
, SumCase2 int
, VOPPBT varchar(64)
, VOPPB decimal(18, 6)
, BindProjID int
, Bind_Proj_Pst decimal(18, 6)
, Bind_Block_Class nvarchar(128)
, Bind_Block_Class_Pst decimal(18, 6)
, Bind_Block_Plevel nvarchar(128)
, Bind_Block_Plevel_Pst decimal(18, 6)
, Bind_Block_PType nvarchar(128)
, Bind_Block_Ptype_Pst decimal(18, 6)
, Bind_County_PType nvarchar(128)
, Bind_County_Ptype_Pst decimal(18, 6)
, VOPPAT varchar(64)
, VOPPA decimal(18, 6)
);
</update>
</mapper>

View File

@ -122,13 +122,13 @@
<update id="updateBasePrice" parameterType="com.ruoyi.project.data.price.domain.OfficeBasePriceModifyModel">
update ODS_OFFICE_BUILDING_PRICE_INFO_${yearMonth} set Status=0 where id=#{id};
</update>
<insert id="batchInsertArtificialOfficeBase" >
<insert id="batchInsertArtificialOfficeBase">
insert into
dbo.DWA_PROJECTBASEPRICE_OFFICE_MANU_${yearMonth}(ID,BuildingID,ProjectID,County,"Loop",Block,ProjectAddr,ProjectName,Year,AvgArea,TotalFloorSum,UpperFloorSum,OfficeClass,Grade,MainPrice_1,MainPriceRent_1,MainPrice,MainPriceRent,ModifyDate)
values
<foreach collection="list" item="item" separator="," >
(#{item.id},#{item.buildingId},#{item.communityId},#{item.countyName},#{item.loopName},#{item.blockName},#{item.communityAddress},#{item.communityName},#{item.year},#{item.avgArea},#{item.totalFloorSum},#{item.upperFloorSum},#{item.officeClass},#{item.officeLevel},#{item.mainPrice_1},#{item.mainPriceRent_1},#{item.mainPrice},#{item.mainPriceRent},getdate())
</foreach>
<foreach collection="list" item="item" separator=",">
(#{item.id},#{item.buildingId},#{item.communityId},#{item.countyName},#{item.loopName},#{item.blockName},#{item.communityAddress},#{item.communityName},#{item.year},#{item.avgArea},#{item.totalFloorSum},#{item.upperFloorSum},#{item.officeClass},#{item.officeLevel},#{item.mainPrice_1},#{item.mainPriceRent_1},#{item.mainPrice},#{item.mainPriceRent},getdate())
</foreach>
</insert>
<!-- 更新基价 -->
<insert id="updateBasePriceCopyNew" parameterType="com.ruoyi.project.data.price.domain.OfficeBasePriceModifyModel">
@ -214,4 +214,82 @@
insert into
dbo.DWA_PROJECTBASEPRICE_OFFICE_MANU_${yearMonth}(ID,BuildingID,ProjectID,County,"Loop",Block,ProjectAddr,ProjectName,Year,AvgArea,TotalFloorSum,UpperFloorSum,OfficeClass,Grade,MainPrice_1,MainPriceRent_1,MainPrice,MainPriceRent,ModifyDate) values(#{id},#{buildingId},#{communityId},#{countyName},#{loopName},#{blockName},#{communityAddress},#{communityName},#{year},#{avgArea},#{totalFloorSum},#{upperFloorSum},#{officeClass},#{officeLevel},#{mainPrice_1},#{mainPriceRent_1},#{mainPrice},#{mainPriceRent},getdate())
</insert>
<!-- 更新状态 -->
<update id="updateStatus">
update ODS_OFFICE_BUILDING_PRICE_INFO_${yearMonth} set Status=0 where id=#{id};
</update>
<!-- 新增记录 -->
<update id="insertNewRecord">
insert into dbo.ODS_OFFICE_BUILDING_PRICE_INFO_${yearMonth}
(
BuildingID
, UnifiedID
, ProjectID
, BuildingID_P
, ProjectID_P
, MainPrice
, MainPriceRent
, MainPricePst
, MainPriceRentPst
, MainPriceType
, MainPriceRentType
, ModifyDate
, Status
, BuildingStd
, AdjEvd
, MainPrice_1
, MainPriceRent_1
, AreaCoff
, YearCoff
, BuildingCoff
, ProjectName
, ProjectAddr
, BuildingAddr
, County
, Loop
, Block
, Street
, Year
, AvgArea
, TotalFloorSum
, UpperFloorSum
, OfficeClass
, Grade
)
select BuildingID
, UnifiedID
, ProjectID
, BuildingID_P
, ProjectID_P
, #{mainPrice}
, #{mainPriceRent}
, #{mainPricePst}
, #{mainPriceRentPst}
, #{mainPriceType}
, #{mainPriceRentType}
, getdate()
, 1
, BuildingStd
, AdjEvd
, MainPrice_1
, MainPriceRent_1
, AreaCoff
, YearCoff
, BuildingCoff
, ProjectName
, ProjectAddr
, BuildingAddr
, County
, Loop
, Block
, Street
, Year
, AvgArea
, TotalFloorSum
, UpperFloorSum
, OfficeClass
, Grade
from ODS_OFFICE_BUILDING_PRICE_INFO_${yearMonth}
where id=#{id};
</update>
</mapper>