|
|
@@ -789,6 +789,153 @@ public class DataController {
|
|
|
if(!ObjectUtils.isEmpty(count)){
|
|
|
cityTradeData.setTotalNumberTransactions(count);
|
|
|
}*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // ================== 新增:当年各分类交易额统计 ==================
|
|
|
+ // 获取当前年份的开始和结束时间(例如 2026-01-01 00:00:00 到 2026-12-31 23:59:59)
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.set(Calendar.MONTH, Calendar.JANUARY);
|
|
|
+ cal.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+ cal.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ cal.set(Calendar.MINUTE, 0);
|
|
|
+ cal.set(Calendar.SECOND, 0);
|
|
|
+ cal.set(Calendar.MILLISECOND, 0);
|
|
|
+ String yearStart = sdf.format(cal.getTime());
|
|
|
+ cal.set(Calendar.MONTH, Calendar.DECEMBER);
|
|
|
+ cal.set(Calendar.DAY_OF_MONTH, 31);
|
|
|
+ cal.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
+ cal.set(Calendar.MINUTE, 59);
|
|
|
+ cal.set(Calendar.SECOND, 59);
|
|
|
+ String yearEnd = sdf.format(cal.getTime());
|
|
|
+
|
|
|
+ // 1. 政府采购交易额(当年)
|
|
|
+ QueryWrapper<ZcBidpublicity> zcYearQuery = new QueryWrapper<>();
|
|
|
+ zcYearQuery.select("sum(case when PRICE_UNIT = 0 then WIN_BID_PRICE when PRICE_UNIT = 1 then WIN_BID_PRICE*10000 else WIN_BID_PRICE end) as sumAll");
|
|
|
+// zcYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+ zcYearQuery.likeRight("region_code",regionCode);
|
|
|
+ zcYearQuery.ge("WIN_BID_BULLETIN_START_TIME", yearStart);
|
|
|
+ zcYearQuery.le("WIN_BID_BULLETIN_START_TIME", yearEnd);
|
|
|
+ ZcBidpublicity zcYearSum = zcBidpublicityService.getOne(zcYearQuery);
|
|
|
+ String zcYearAmount = "0";
|
|
|
+ if (!ObjectUtils.isEmpty(zcYearSum) && !ObjectUtils.isEmpty(zcYearSum.getSumAll())) {
|
|
|
+ zcYearAmount = zcYearSum.getSumAll();
|
|
|
+ }
|
|
|
+ cityTradeData.setZcTransactionVolume(zcYearAmount);
|
|
|
+
|
|
|
+ // 2. 自然资源交易额(当年)
|
|
|
+ BigDecimal zrzyYearAmount = BigDecimal.ZERO;
|
|
|
+ // ZRZY_TD_BIDWINNOTICE
|
|
|
+ QueryWrapper<ZrzyTdBidwinnotice> tdYearQuery = new QueryWrapper<>();
|
|
|
+ tdYearQuery.select("sum(case when PRICE_UNIT = 0 then DEAL_PRICE when PRICE_UNIT = 1 then DEAL_PRICE*10000 else DEAL_PRICE end) as sumAll");
|
|
|
+// tdYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+ tdYearQuery.likeRight("region_code",regionCode);
|
|
|
+ tdYearQuery.ge("PUBLISHING_TIME", yearStart);
|
|
|
+ tdYearQuery.le("PUBLISHING_TIME", yearEnd);
|
|
|
+ ZrzyTdBidwinnotice tdYearSum = zrzyTdBidwinnoticeService.getOne(tdYearQuery);
|
|
|
+ if (!ObjectUtils.isEmpty(tdYearSum) && !ObjectUtils.isEmpty(tdYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(tdYearSum.getSumAll()));
|
|
|
+ }
|
|
|
+ // ZRZY_TKQ_BIDWINNOTICE
|
|
|
+ QueryWrapper<ZrzyTkqBidwinnotice> tkqYearQuery = new QueryWrapper<>();
|
|
|
+ tkqYearQuery.select("sum(cast(QT_PUBLIC_PRICE as decimal(9,2)) * 10000) as sumAll");
|
|
|
+// tkqYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+
|
|
|
+ tkqYearQuery.likeRight("region_code", regionCode);
|
|
|
+ tkqYearQuery.ge("PUBLISHING_TIME", yearStart);
|
|
|
+ tkqYearQuery.le("PUBLISHING_TIME", yearEnd);
|
|
|
+ ZrzyTkqBidwinnotice tkqYearSum = zrzyTkqBidwinnoticeService.getOne(tkqYearQuery);
|
|
|
+ if (!ObjectUtils.isEmpty(tkqYearSum) && !ObjectUtils.isEmpty(tkqYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(tkqYearSum.getSumAll()));
|
|
|
+ }
|
|
|
+ // ZRZY_CKQ_BIDWINNOTICE
|
|
|
+ QueryWrapper<ZrzyCkqBidwinnotice> ckqYearQuery = new QueryWrapper<>();
|
|
|
+ ckqYearQuery.select("sum(cast(QT_PUBLIC_PRICE as decimal(9,2)) * 10000) as sumAll");
|
|
|
+// ckqYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+
|
|
|
+ ckqYearQuery.likeRight("region_code", regionCode);
|
|
|
+ ckqYearQuery.ge("PUBLISHING_TIME", yearStart);
|
|
|
+ ckqYearQuery.le("PUBLISHING_TIME", yearEnd);
|
|
|
+ ZrzyCkqBidwinnotice ckqYearSum = zrzyCkqBidwinnoticeService.getOne(ckqYearQuery);
|
|
|
+ if (!ObjectUtils.isEmpty(ckqYearSum) && !ObjectUtils.isEmpty(ckqYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(ckqYearSum.getSumAll()));
|
|
|
+ }
|
|
|
+ // ZRZY_DK_BINWIN_NOTICE
|
|
|
+ QueryWrapper<ZrzyDkBinwinNotice> dkYearQuery = new QueryWrapper<>();
|
|
|
+ dkYearQuery.select("sum(cast(ZB_PRICE as decimal(9,2)) * 10000) as sumAll");
|
|
|
+// dkYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+
|
|
|
+ dkYearQuery.likeRight("zone", regionCode);
|
|
|
+ dkYearQuery.ge("SUBMITS_TIME", yearStart);
|
|
|
+ dkYearQuery.le("SUBMITS_TIME", yearEnd);
|
|
|
+ ZrzyDkBinwinNotice dkYearSum = zrzyDkBinwinNoticeService.getOne(dkYearQuery);
|
|
|
+ if (!ObjectUtils.isEmpty(dkYearSum) && !ObjectUtils.isEmpty(dkYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(dkYearSum.getSumAll()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // ZRZY_BG_BIDWIN_NOTICE
|
|
|
+ /*QueryWrapper<ZrzyBgBidwinNotice> bgYearQuery = new QueryWrapper<>();
|
|
|
+ bgYearQuery.select("sum(cast(WIN_BID_PRICE as decimal(9,2)) * 10000) as sumAll");
|
|
|
+// bgYearQuery.likeRight("zone", regionCode);//mi
|
|
|
+ bgYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+
|
|
|
+ bgYearQuery.ge("ISSUE_TIME", yearStart);
|
|
|
+ bgYearQuery.le("ISSUE_TIME", yearEnd);
|
|
|
+ ZrzyBgBidwinNotice bgYearSum = zrzyBgBidwinNoticeService.getOne(bgYearQuery);
|
|
|
+ if (!ObjectUtils.isEmpty(bgYearSum) && !ObjectUtils.isEmpty(bgYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(bgYearSum.getSumAll()));
|
|
|
+ }*/
|
|
|
+
|
|
|
+ ZrzyBgBidwinNotice bgYearSum = zrzyBgBidwinNoticeService.getSumMoneyByRegionCode2(regionCode,yearStart,yearEnd);
|
|
|
+ if (!ObjectUtils.isEmpty(bgYearSum) && !ObjectUtils.isEmpty(bgYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(bgYearSum.getSumAll()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // ZRZY_JYZB_BIDWIN_NOTICE
|
|
|
+ QueryWrapper<ZrzyJyzbBidwinNotice> jyzbYearQuery = new QueryWrapper<>();
|
|
|
+ jyzbYearQuery.select("sum(WIN_BID_PRICE) as sumAll");
|
|
|
+// jyzbYearQuery.likeRight("zone", regionCode);
|
|
|
+// jyzbYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+ if("121500004600236091".equals(platformCode)){
|
|
|
+ jyzbYearQuery.eq("SOURCE_DATA_CODE", "2070");
|
|
|
+ }else{
|
|
|
+ jyzbYearQuery.eq("SOURCE_DATA_CODE", "20700000");//只有自治区有
|
|
|
+ }
|
|
|
+ jyzbYearQuery.ge("ISSUE_TIME", yearStart);
|
|
|
+ jyzbYearQuery.le("ISSUE_TIME", yearEnd);
|
|
|
+ ZrzyJyzbBidwinNotice jyzbYearSum = zrzyJyzbBidwinNoticeService.getOne(jyzbYearQuery);
|
|
|
+ if (!ObjectUtils.isEmpty(jyzbYearSum) && !ObjectUtils.isEmpty(jyzbYearSum.getSumAll())) {
|
|
|
+ zrzyYearAmount = zrzyYearAmount.add(new BigDecimal(jyzbYearSum.getSumAll()));
|
|
|
+ }
|
|
|
+ cityTradeData.setZrzyTransactionVolume(zrzyYearAmount.toString());
|
|
|
+
|
|
|
+ // 3. 工程建设交易额(当年)
|
|
|
+ QueryWrapper<GcBidpublicity> gcYearQuery = new QueryWrapper<>();
|
|
|
+ gcYearQuery.select("sum(case when PRICE_UNIT = 0 then BID_AMOUNT when PRICE_UNIT = 1 then BID_AMOUNT*10000 else BID_AMOUNT end) as sumAll");
|
|
|
+ if("152901".equals(platformCode)){
|
|
|
+ gcYearQuery.in("PLATFORM_CODE", "152901", "12152900085184725H");
|
|
|
+ }else{
|
|
|
+ gcYearQuery.eq("PLATFORM_CODE", platformCode);
|
|
|
+ }
|
|
|
+ gcYearQuery.ge("NOTICE_SEND_TIME", yearStart);
|
|
|
+ gcYearQuery.le("NOTICE_SEND_TIME", yearEnd);
|
|
|
+ GcBidpublicity gcYearSum = gcBidpublicityService.getOne(gcYearQuery);
|
|
|
+ String gcYearAmount = "0";
|
|
|
+ if (!ObjectUtils.isEmpty(gcYearSum) && !ObjectUtils.isEmpty(gcYearSum.getSumAll())) {
|
|
|
+ gcYearAmount = gcYearSum.getSumAll();
|
|
|
+ }
|
|
|
+ cityTradeData.setGcTransactionVolume(gcYearAmount);
|
|
|
+
|
|
|
+ // ================== 新增结束 ==================
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
cityTradeDataList.add(cityTradeData);
|
|
|
}
|
|
|
}
|