diff --git a/ruoyi/sql/rent_price.sql b/ruoyi/sql/rent_price.sql index 8d3364bb0..9e6345c1f 100644 --- a/ruoyi/sql/rent_price.sql +++ b/ruoyi/sql/rent_price.sql @@ -7,6 +7,5 @@ create type [dbo].[DWA_PROJECTBASEPRICE_RENT_MANU_Table] as table( , RentPrice_1 decimal(18, 2) , VOPPAT varchar(64) , VOPPA decimal(18, 6) - , ModifyDate date ) go \ No newline at end of file diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/cases/mapper/sync/SyncResidenceRentCaseMapper.java b/ruoyi/src/main/java/com/ruoyi/project/data/cases/mapper/sync/SyncResidenceRentCaseMapper.java index 56d9b2378..73c62730e 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/cases/mapper/sync/SyncResidenceRentCaseMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/cases/mapper/sync/SyncResidenceRentCaseMapper.java @@ -62,4 +62,10 @@ public interface SyncResidenceRentCaseMapper { */ int insertUltimatePriceTable(UltimateResidenceRentBasePrice ultimateOfficeBasePrice); + /** + * @param yearMonth + * @param lastYearMonth + * @return + */ + int createView(@Param("yearMonth") Integer yearMonth, @Param("lastYearMonth") Integer lastYearMonth); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java index 8cbe65320..0fd9ec148 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java @@ -237,9 +237,9 @@ public class ResidenceRentBasePriceController extends BaseController { ultimateResidenceRentBasePrice.setPageIndex(pageIndex <= 1 ? 0 : (pageIndex - 1) * pageSize); ultimateResidenceRentBasePrice.setPageSize(pageSize); - int total = ultimateResidenceRentBasePriceService.selectCount(ultimateResidenceRentBasePrice); + int total = ultimateResidenceRentBasePriceService.selectPageCount(ultimateResidenceRentBasePrice); List list = - ultimateResidenceRentBasePriceService.selectList(ultimateResidenceRentBasePrice); + ultimateResidenceRentBasePriceService.selectPageList(ultimateResidenceRentBasePrice); list.forEach(x -> x.setYearMonth(ultimateResidenceRentBasePrice.getYearMonth())); return getDataTable(list, total); } @@ -251,11 +251,11 @@ public class ResidenceRentBasePriceController extends BaseController { @Log(title = "审核住宅租赁基价", businessType = BusinessType.EXPORT) @GetMapping("/ultimate/export") public AjaxResult ultimateResidenceRentBasePriceExport(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { - int total = ultimateResidenceRentBasePriceService.selectCount(ultimateResidenceRentBasePrice); + int total = ultimateResidenceRentBasePriceService.selectPageCount(ultimateResidenceRentBasePrice); ultimateResidenceRentBasePrice.setPageIndex(0); ultimateResidenceRentBasePrice.setPageSize(total); List list = - ultimateResidenceRentBasePriceService.selectList(ultimateResidenceRentBasePrice); + ultimateResidenceRentBasePriceService.selectPageList(ultimateResidenceRentBasePrice); ExcelUtil util = new ExcelUtil<>(UltimateResidenceRentBasePrice.class); return util.exportExcel(list, "核准住宅租赁基价"); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java deleted file mode 100644 index 7ca3fb3af..000000000 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ruoyi.project.data.price.controller; - -public class UltimateResidenceSaleBasePriceController { -} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java index 6a8fa9f7b..0f45e485b 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java @@ -58,9 +58,15 @@ public class ComputeResidenceRentBasePrice extends BaseEntity { private BigDecimal rentPriceDft; @Excel(name = "主力面积租金(草稿)") private BigDecimal mainRentPriceDft; + @Excel(name = "主力面积(㎡)") + private BigDecimal area; @Excel(name = "上月AI租金") private BigDecimal rentPrice_1; + @Excel(name = "价格涨跌幅类型-调整后") + private String voppat; + @Excel(name = "价格涨跌幅-调整后") + private BigDecimal voppa; @Excel(name = "成交均价(上周期)") private BigDecimal priceDealMean_1; @Excel(name = "成交最大价(上周期)") @@ -141,10 +147,7 @@ public class ComputeResidenceRentBasePrice extends BaseEntity { private String bind_MixProject_PType; @Excel(name = "绑定混合小区涨跌幅") private BigDecimal bind_MixProject_Pst; - @Excel(name = "价格涨跌幅类型-调整后") - private String voppat; - @Excel(name = "价格涨跌幅-调整后") - private BigDecimal voppa; + public Integer getYearMonth() { return yearMonth; @@ -641,4 +644,12 @@ public class ComputeResidenceRentBasePrice extends BaseEntity { public void setVoppa(BigDecimal voppa) { this.voppa = voppa; } + + public BigDecimal getArea() { + return area; + } + + public void setArea(BigDecimal area) { + this.area = area; + } } diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java index b22e18cb2..cb9936694 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java @@ -8,7 +8,9 @@ import java.math.BigDecimal; import java.util.Date; /** + * 住宅销售基价 * + * @author lihe */ public class UltimateResidenceSaleBasePrice extends BaseEntity { diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentPriceService.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentPriceService.java index 7ee260f7f..885425610 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentPriceService.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentPriceService.java @@ -19,7 +19,7 @@ public interface IUltimateResidenceRentPriceService { * @param ultimateResidenceRentBasePrice * @return */ - List selectList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + List selectPageList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); @@ -29,7 +29,7 @@ public interface IUltimateResidenceRentPriceService { * @param ultimateResidenceRentBasePrice * @return */ - int selectCount(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + int selectPageCount(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); /** * 获取表名 diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java index 7484a9bc3..cac8262d7 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java @@ -198,7 +198,7 @@ public class ArtificialResidenceRentPriceServiceImpl implements IArtificialResid Integer lastPriceTableRoute = new Integer(String.format("%d%02d", calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); -// pushData(yearMonth, lastYearMonth, lastPriceTableRoute); + pushData(yearMonth, lastYearMonth, lastPriceTableRoute); } catch (Exception e) { log.error("住宅租赁基价人工修正异常", e); } @@ -248,6 +248,8 @@ public class ArtificialResidenceRentPriceServiceImpl implements IArtificialResid ultimateResidenceRentBasePrice.setYearMonth(lastPriceTableRoute); syncResidenceRentCaseMapper.insertUltimatePriceTable(ultimateResidenceRentBasePrice); }); + // 生成视图 + syncResidenceRentCaseMapper.createView(currentPriceTableRoute, lastPriceTableRoute); } catch (Exception e) { log.error("推送住宅租赁数据失败", e); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentPriceServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentPriceServiceImpl.java index 7d2ba19e0..3d5d97721 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentPriceServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentPriceServiceImpl.java @@ -24,12 +24,12 @@ public class UltimateResidenceRentPriceServiceImpl implements IUltimateResidence private UltimateResidenceRentPriceMapper ultimateResidenceRentPriceMapper; @Override - public List selectList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + public List selectPageList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { return ultimateResidenceRentPriceMapper.selectPageList(ultimateResidenceRentBasePrice); } @Override - public int selectCount(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + public int selectPageCount(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { return ultimateResidenceRentPriceMapper.selectPageCount(ultimateResidenceRentBasePrice); } diff --git a/ruoyi/src/main/resources/mybatis/data/OriginalResidenceRentClosingCaseMapper.xml b/ruoyi/src/main/resources/mybatis/data/OriginalResidenceRentClosingCaseMapper.xml index 64d500f90..5c188cc2f 100644 --- a/ruoyi/src/main/resources/mybatis/data/OriginalResidenceRentClosingCaseMapper.xml +++ b/ruoyi/src/main/resources/mybatis/data/OriginalResidenceRentClosingCaseMapper.xml @@ -175,6 +175,7 @@ MainCoff_Rent decimal (7, 4) NULL, RentPriceDft decimal (18, 2) NULL, MainRentPriceDft decimal (18, 2) NULL, + area decimal(18,2) null, RentPrice_1 decimal (18, 2) NULL, PriceDealMean_1 decimal (18, 2) NULL, PriceDealMax_1 decimal (18, 2) NULL, diff --git a/ruoyi/src/main/resources/mybatis/data/SyncResidenceRentCaseMapper.xml b/ruoyi/src/main/resources/mybatis/data/SyncResidenceRentCaseMapper.xml index 00918ba26..99acfdd91 100644 --- a/ruoyi/src/main/resources/mybatis/data/SyncResidenceRentCaseMapper.xml +++ b/ruoyi/src/main/resources/mybatis/data/SyncResidenceRentCaseMapper.xml @@ -198,4 +198,38 @@ IF OBJECT_ID(#{targetTableName}, 'U') IS NOT NULL truncate table ${targetTableName} + + CREATE VIEW ODS_PROJECT_RENT_PRICE_INFO_#lastYearMonth#_VIEW AS + SELECT A.ProjectID AS "小区ID", + B.ProjectName AS "小区名称", + B.ProjectAddr AS "小区地址", + B.County AS "区域", + B.Block AS "板块", + B.Loop AS "环线", + B.InterCommunity AS "国际社区分", + B.MagnetSchool AS "重点小学名称", + B.ProjectLevel AS "物业档次", + B.RoomNum AS "室数量-AI", + A.BasePrice_1 AS "标准基价-#yearMonth#", + A.RentPrice AS "平均租金-#yearMonth#", + A.SumCase1 AS "散租挂牌案例", + A.VOPPA AS "租金涨跌幅-#yearMonth#", + A.GF_1Room AS "租金-工房1室", + A.GF_2Room AS "租金-工房2室", + A.GY_2Room AS "租金-公寓2室", + A.GY_3Room AS "租金-公寓3室", + A.One_Room AS "1房", + A.Two_Room AS "2房", + A.Three_Room AS "3房", + A.EntireRentRatio AS "整租比-#yearMonth#", + A.EntireRentNum AS "整租案例", + A.ShareRentRatio AS "分租比-#yearMonth#", + A.ShareRentNum AS "分租案例", + A.SaleRentRatio AS "租售比-#yearMonth#" + FROM ODS_PROJECT_RENT_PRICE_INFO_#lastYearMonth# A + LEFT JOIN ODS_PROJECT_INFO_202007 B + ON A.ProjectID = B.ProjectID AND B.EffDate + GETDATE() and B.ExpirDate ]]> GETDATE() and A.Status=1 + WHERE B.ProjectID IS NOT NULL + \ No newline at end of file diff --git a/ruoyi/src/main/resources/sql-template/compute_rent_price.sql b/ruoyi/src/main/resources/sql-template/compute_rent_price.sql index 8c1e8f088..c46779f96 100644 --- a/ruoyi/src/main/resources/sql-template/compute_rent_price.sql +++ b/ruoyi/src/main/resources/sql-template/compute_rent_price.sql @@ -635,6 +635,7 @@ insert into dbo.DWA_PROJECTBASEPRICE_RENT_IMDT_#yearMonth# ,MainCoff_Rent ,RentPriceDft ,MainRentPriceDft + ,area ,RentPrice_1 ,PriceDealMean_1 ,PriceDealMax_1 @@ -694,6 +695,7 @@ select A.ProjectID , isnull(D.MainCoff_Rent, 1) , A.RentPrice_1 * (1 + isnull(C.VOPPA, 0)) as RentPriceDft , A.RentPrice_1 * (1 + isnull(C.VOPPA, 0)) * isnull(D.MainCoff_Rent, 1) as MainRentPriceDft + , D.MainArea , A.RentPrice_1 , A.PriceDealMean_1 , A.PriceDealMax_1 diff --git a/ruoyi/src/main/resources/sql-template/update_rent_price.sql b/ruoyi/src/main/resources/sql-template/update_rent_price.sql index 39389ef26..9d3c87b37 100644 --- a/ruoyi/src/main/resources/sql-template/update_rent_price.sql +++ b/ruoyi/src/main/resources/sql-template/update_rent_price.sql @@ -73,7 +73,7 @@ select a.ProjectID, a.PriceType, a.BasePrice_1, b.RentPrice, a.SumCase1, b.VOPPA a.ShareRentRatio*b.RentPrice/a.RentPrice as ShareRentRatio, a.ShareRentNum, a.SaleRentRatio*b.RentPrice/a.RentPrice as SaleRentRatio, - b.ModifyDate, 1 as Status, + getdate(), 1 as Status, case when RentPriceChg=0 then '' else 'RentPriceChg|' end + case when VOPPATChg=0 then '' else 'VOPPATChg|' end + case when VOPPAChg=0 then '' else 'VOPPAChg|' end as AdjEvd @@ -107,7 +107,8 @@ select a.ProjectID, a.PriceType, a.BasePrice_1, b.RentPrice_1, a.SumCase1, a.VOP a.ShareRentRatio*b.RentPrice_1/a.RentPrice as ShareRentRatio, a.ShareRentNum, a.SaleRentRatio*b.RentPrice_1/a.RentPrice as SaleRentRatio, - b.ModifyDate, 1 as Status, + getdate(), + 1 as Status, 'RentPrice_1Chg|' as AdjEvd into #InfoChgLst from ODS_PROJECT_RENT_PRICE_INFO_#lastYearMonth# a @@ -127,7 +128,7 @@ select * from #InfoChgLst; drop table #InfoChg, #InfoChgCurr, #InfoChgLst -更新上月价格 +-- 更新上月价格 update a set a.ITEM_MAINAREAPRICE = b.RentPrice from obpm_LianCheng_Data.dbo.TLK_基价信息 a @@ -179,7 +180,7 @@ select newid() , 'BclzHtmfLQoAA5ICTb5' , newid() , ProjectID - , 2 + , 1 , 2 , RentPrice , '#priceDate#'