TaHousingResourcesServiceImpl.java 47KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047
  1. package com.huiju.estateagents.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.huiju.estateagents.base.ResponseBean;
  7. import com.huiju.estateagents.common.CommConstant;
  8. import com.huiju.estateagents.common.StringUtils;
  9. import com.huiju.estateagents.entity.*;
  10. import com.huiju.estateagents.mapper.*;
  11. import com.huiju.estateagents.po.BuildingImgPO;
  12. import com.huiju.estateagents.po.TaHousingResourcesPO;
  13. import com.huiju.estateagents.service.ITaHousingResourcesService;
  14. import org.apache.commons.collections.CollectionUtils;
  15. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  16. import org.apache.poi.ss.usermodel.Row;
  17. import org.apache.poi.ss.usermodel.Sheet;
  18. import org.apache.poi.ss.usermodel.Workbook;
  19. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  20. import org.slf4j.Logger;
  21. import org.slf4j.LoggerFactory;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Service;
  24. import org.springframework.transaction.annotation.Transactional;
  25. import org.springframework.web.multipart.MultipartFile;
  26. import sun.util.locale.LocaleUtils;
  27. import java.math.BigDecimal;
  28. import java.time.LocalDateTime;
  29. import java.util.ArrayList;
  30. import java.util.HashMap;
  31. import java.util.List;
  32. import java.util.Map;
  33. /**
  34. * <p>
  35. * 房源表 服务实现类
  36. * </p>
  37. *
  38. * @author jobob
  39. * @since 2020-02-10
  40. */
  41. @Transactional(rollbackFor = Exception.class)
  42. @Service
  43. public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResourcesMapper, TaHousingResources> implements ITaHousingResourcesService {
  44. private Logger logger = LoggerFactory.getLogger(TaHousingResourcesServiceImpl.class);
  45. @Autowired
  46. private TaHousingResourcesMapper taHousingResourcesMapper;
  47. @Autowired
  48. private TaBuildingTermMapper taBuildingTermMapper;
  49. @Autowired
  50. private TaBuildingBlockMapper taBuildingBlockMapper;
  51. @Autowired
  52. private TaBuildingUnitMapper taBuildingUnitMapper;
  53. @Autowired
  54. private TaBuildingFloorMapper taBuildingFloorMapper;
  55. @Autowired
  56. private TaBuildingRoomMapper taBuildingRoomMapper;
  57. @Autowired
  58. private TaBuildingMapper taBuildingMapper;
  59. @Autowired
  60. private TaPreselectionRecordMapper taPreselectionRecordMapper;
  61. @Autowired
  62. TaBuildingImgMapper taBuildingImgMapper;
  63. @Autowired
  64. TaApartmentImgMapper taApartmentImgMapper;
  65. @Autowired
  66. private TaBuildingPanoramaMapper taBuildingPanoramaMapper;
  67. @Autowired
  68. private TaSalesBatchMapper taSalesBatchMapper;
  69. @Autowired
  70. private TaPersonServiceImpl taPersonService;
  71. @Autowired
  72. private TaRaiseHouseServiceImpl taRaiseHouseService;
  73. @Autowired
  74. private TaPreselectionMapper taPreselectionMapper;
  75. @Autowired
  76. private TaRaiseMapper taRaiseMapper;
  77. @Autowired
  78. private TaRaiseRecordMapper taRaiseRecordMapper;
  79. /**
  80. * 分页获取房源列表
  81. *
  82. * @param salesBatchId 销售批次ID
  83. * @param startPrice
  84. * @param endPrice
  85. * @param apartmentId
  86. * @return
  87. */
  88. @Override
  89. public List<TaHousingResourcesPO> listHousingResources(Integer orgId, String salesBatchId, String startPrice, String endPrice, String apartmentId,
  90. String personId, String source) {
  91. logger.info("listHousingResources 接收参数:orgId:{},salesBatchId:{},startPrice:{},endPrice:{},apartmentId:{},source:{}",
  92. orgId, salesBatchId, startPrice, endPrice, apartmentId, source);
  93. startPrice = StringUtils.isEmpty(startPrice) ? null : startPrice;
  94. endPrice = StringUtils.isEmpty(endPrice) ? null : endPrice;
  95. List<TaHousingResourcesPO> resourcesPOList =
  96. taHousingResourcesMapper.listHousingResources(orgId, salesBatchId, startPrice, endPrice, apartmentId, personId, source);
  97. return resourcesPOList;
  98. }
  99. /**
  100. * 分页获取房源列表-后台管理端
  101. *
  102. * @param salesBatchId 销售批次ID
  103. * @param startPrice
  104. * @param endPrice
  105. * @param apartmentId
  106. * @param type
  107. * @return
  108. */
  109. @Override
  110. public List<TaHousingResourcesPO> listHousingResourcesForCms(Integer orgId, String salesBatchId, String startPrice, String endPrice, String apartmentId, Integer type) {
  111. logger.info("listHousingResourcesForCms 接收参数:orgId:{},salesBatchId:{},startPrice:{},endPrice:{},apartmentId:{},type:{}",
  112. orgId, salesBatchId, startPrice, endPrice, apartmentId, type);
  113. startPrice = StringUtils.isEmpty(startPrice) ? null : startPrice;
  114. endPrice = StringUtils.isEmpty(endPrice) ? null : endPrice;
  115. List<TaHousingResourcesPO> resourcesPOList =
  116. taHousingResourcesMapper.listHousingResourcesForCms(orgId, salesBatchId, startPrice, endPrice, apartmentId, type);
  117. return resourcesPOList;
  118. }
  119. /**
  120. * 获取某销售批次下所有房源户型
  121. *
  122. * @param salesBatchId
  123. * @return
  124. */
  125. @Override
  126. public List<TaBuildingApartment> listBuildApartmentBySalesBatchId(String salesBatchId) {
  127. logger.info("listBuildApartmentBySalesBatchId 接收参数:salesBatchId:{}", salesBatchId);
  128. // 获取户型列表
  129. List<TaBuildingApartment> apartmentList = taHousingResourcesMapper.listBuildApartmentBySalesBatchId(salesBatchId);
  130. if (CollectionUtils.isEmpty(apartmentList)) {
  131. return null;
  132. }
  133. // 组装户型图片
  134. List<TaBuildingApartment> resultList = new ArrayList<>();
  135. List<TaBuildingImg> taBuildingImgList;
  136. List<TaApartmentImg> buildingImg;
  137. QueryWrapper<TaApartmentImg> apartmentImgQueryWrapper;
  138. QueryWrapper<TaBuildingImg> buildingImgQueryWrapper;
  139. for (TaBuildingApartment apartment : apartmentList) {
  140. apartmentImgQueryWrapper = new QueryWrapper<>();
  141. apartmentImgQueryWrapper.eq("apartment_id", apartment.getApartmentId());
  142. buildingImg = taApartmentImgMapper.selectList(apartmentImgQueryWrapper);
  143. for (TaApartmentImg apartmentImg : buildingImg) {
  144. buildingImgQueryWrapper = new QueryWrapper<>();
  145. buildingImgQueryWrapper.eq("img_id", apartmentImg.getImgId());
  146. buildingImgQueryWrapper.eq("img_type", CommConstant.BUILDING_IMG_APARMENT);
  147. buildingImgQueryWrapper.orderByAsc("order_no");
  148. taBuildingImgList = taBuildingImgMapper.selectList(buildingImgQueryWrapper);
  149. apartment.setBuildingImgList(taBuildingImgList);
  150. resultList.add(apartment);
  151. }
  152. }
  153. return resultList;
  154. }
  155. /**
  156. * 根据房源ID获取房源详情
  157. *
  158. * @param personId
  159. * @param houseId
  160. * @return
  161. */
  162. @Override
  163. public TaHousingResourcesPO getHousingDetailById(String personId, Integer houseId) {
  164. logger.info("getHousingDetailById 接收参数:personId:{},houseId:{}", personId, houseId);
  165. // 查询房源详情
  166. TaHousingResourcesPO resourcesPO = taHousingResourcesMapper.getHousingDetailById(houseId, "1");
  167. if (resourcesPO == null) {
  168. return null;
  169. }
  170. // 获取该用户是否预选房源信息
  171. TaPreselectionRecord taPreselectionRecord = taPreselectionRecordMapper.getRecordByPersonIdAndHouseId(personId, houseId);
  172. if (taPreselectionRecord != null) {
  173. resourcesPO.setIsPreselect(true);
  174. } else {
  175. resourcesPO.setIsPreselect(false);
  176. }
  177. List<BuildingImgPO> buildingImgPOList = new ArrayList<>();
  178. BuildingImgPO buildingImgPO;
  179. if (!StringUtils.isEmpty(resourcesPO.getApartmentId())) {
  180. // 获取全景图
  181. QueryWrapper<TaBuildingPanorama> buildingPanoramaQueryWrapper = new QueryWrapper<>();
  182. buildingPanoramaQueryWrapper.eq("org_id", resourcesPO.getOrgId());
  183. buildingPanoramaQueryWrapper.eq("building_id", resourcesPO.getBuildingId());
  184. buildingPanoramaQueryWrapper.eq("apartment_id", resourcesPO.getApartmentId());
  185. buildingPanoramaQueryWrapper.eq("panorama_type", "apartment");
  186. buildingPanoramaQueryWrapper.eq("status", "1");
  187. List<TaBuildingPanorama> panoramaList = taBuildingPanoramaMapper.selectList(buildingPanoramaQueryWrapper);
  188. if (CollectionUtils.isNotEmpty(panoramaList)) {
  189. for (TaBuildingPanorama panorama : panoramaList) {
  190. buildingImgPO = new BuildingImgPO();
  191. buildingImgPO.setUrl(panorama.getCoverImg());
  192. buildingImgPO.setType(1);
  193. buildingImgPO.setPanoramaLink(panorama.getPanoramaLink());
  194. buildingImgPOList.add(buildingImgPO);
  195. }
  196. }
  197. // 获取户型图片列表
  198. List<TaBuildingImg> taBuildingImgList = new ArrayList<>();
  199. List<TaApartmentImg> buildingImg;
  200. QueryWrapper<TaBuildingImg> buildingImgQueryWrapper;
  201. QueryWrapper<TaApartmentImg> apartmentImgQueryWrapper = new QueryWrapper<>();
  202. apartmentImgQueryWrapper.eq("apartment_id", resourcesPO.getApartmentId());
  203. buildingImg = taApartmentImgMapper.selectList(apartmentImgQueryWrapper);
  204. for (TaApartmentImg apartmentImg : buildingImg) {
  205. buildingImgQueryWrapper = new QueryWrapper<>();
  206. buildingImgQueryWrapper.eq("img_id", apartmentImg.getImgId());
  207. buildingImgQueryWrapper.eq("img_type", CommConstant.BUILDING_IMG_APARMENT);
  208. buildingImgQueryWrapper.orderByAsc("order_no");
  209. taBuildingImgList = taBuildingImgMapper.selectList(buildingImgQueryWrapper);
  210. }
  211. if (CollectionUtils.isNotEmpty(taBuildingImgList)) {
  212. for (TaBuildingImg img : taBuildingImgList) {
  213. buildingImgPO = new BuildingImgPO();
  214. buildingImgPO.setType(0);
  215. buildingImgPO.setUrl(img.getUrl());
  216. buildingImgPOList.add(buildingImgPO);
  217. }
  218. }
  219. }
  220. resourcesPO.setBuildingImgList(buildingImgPOList);
  221. //是否展示预选按钮
  222. Integer salesBatchId = resourcesPO.getSalesBatchId();
  223. Integer orgId = resourcesPO.getOrgId();
  224. resourcesPO.setPreselectionBtn(true);
  225. resourcesPO.setRaiseBtn(true);
  226. QueryWrapper<TaPreselection> taPreselectionQueryWrapper = new QueryWrapper<>();
  227. taPreselectionQueryWrapper.eq("sales_batch_id", salesBatchId);
  228. taPreselectionQueryWrapper.eq("org_id", orgId);
  229. taPreselectionQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  230. TaPreselection taPreselection = taPreselectionMapper.selectOne(taPreselectionQueryWrapper);
  231. if (null == taPreselection) {
  232. resourcesPO.setPreselectionBtn(false);
  233. }
  234. //是否展示认筹按钮
  235. QueryWrapper<TaRaise> taRaiseQueryWrapper = new QueryWrapper<>();
  236. taRaiseQueryWrapper.eq("sales_batch_id", salesBatchId);
  237. taRaiseQueryWrapper.eq("org_id", orgId);
  238. taRaiseQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  239. TaRaise taRaise = taRaiseMapper.selectOne(taRaiseQueryWrapper);
  240. if (null == taRaise) {
  241. resourcesPO.setRaiseBtn(false);
  242. } else {
  243. resourcesPO.setTaRaise(taRaise);
  244. }
  245. return resourcesPO;
  246. }
  247. /**
  248. * 校验楼栋信息存不存在
  249. *
  250. * @param taHousingResources
  251. * @return
  252. */
  253. @Override
  254. public StringBuffer checked(TaHousingResources taHousingResources) {
  255. StringBuffer result = new StringBuffer();
  256. //校验期
  257. String termResult = checckedTerm(taHousingResources);
  258. result.append(termResult.equals("notExist") ? "期名" + taHousingResources.getTermName() + "不存在,会直接新建。" : termResult);
  259. //校验栋
  260. String blockResult = checkedBlock(taHousingResources);
  261. result.append(blockResult.equals("notExist") ? "楼栋名" + taHousingResources.getBlockName() + "不存在,会直接新建。" : blockResult);
  262. //校验单元
  263. String unitResult = checkedUnit(taHousingResources);
  264. result.append(unitResult.equals("notExist") ? "单元名" + taHousingResources.getUnitName() + "不存在,会直接新建。" : unitResult);
  265. //校验楼层
  266. String floorResult = checkedFloor(taHousingResources);
  267. result.append(floorResult.equals("notExist") ? "楼层名" + taHousingResources.getFloorName() + "不存在,会直接新建。" : floorResult);
  268. //校验房号
  269. String roomResult = checkedRoom(taHousingResources);
  270. result.append(roomResult.equals("notExist") ? "房号" + taHousingResources.getRoomName() + "不存在,会直接新建。" : roomResult);
  271. return result;
  272. }
  273. /**
  274. * 添加楼栋信息
  275. *
  276. * @param taHousingResources
  277. * @return
  278. */
  279. @Override
  280. public ResponseBean addHouseResources(TaHousingResources taHousingResources) {
  281. //校验期
  282. String termResult = checckedTerm(taHousingResources);
  283. //校验栋
  284. String blockResult = checkedBlock(taHousingResources);
  285. //校验单元
  286. String unitResult = checkedUnit(taHousingResources);
  287. //校验楼层
  288. String floorResult = checkedFloor(taHousingResources);
  289. //校验房号
  290. String roomResult = checkedRoom(taHousingResources);
  291. //创建期
  292. if (!roomResult.equals("notExist")) {
  293. return ResponseBean.error("房间名" + taHousingResources.getRoomName() + "存在。请修改房间名!", ResponseBean.ERROR_UNAVAILABLE);
  294. }
  295. //期不存在就添加
  296. if (termResult.equals("notExist")) {
  297. addTerm(taHousingResources);
  298. }
  299. //楼栋不存在就添加
  300. if (blockResult.equals("notExist")) {
  301. addBlock(taHousingResources);
  302. }
  303. //单元不存在就添加
  304. if (unitResult.equals("notExist")) {
  305. addUnit(taHousingResources);
  306. }
  307. //楼层不存在就添加
  308. if (floorResult.equals("notExist")) {
  309. addFloor(taHousingResources);
  310. }
  311. //房间号不存在就添加
  312. if (roomResult.equals("notExist")) {
  313. addRoom(taHousingResources);
  314. }
  315. // 更新销售批次里的房源数
  316. taSalesBatchMapper.addSalesNumberById(taHousingResources.getSalesBatchId(), taHousingResources.getOrgId());
  317. // 获取楼盘名称
  318. TaBuilding taBuilding = taBuildingMapper.selectById(taHousingResources.getBuildingId());
  319. taHousingResources.setBuildingName(taBuilding.getBuildingName());
  320. //添加房源信息
  321. taHousingResources.setCreateDate(LocalDateTime.now());
  322. taHousingResourcesMapper.insert(taHousingResources);
  323. return ResponseBean.success(taHousingResources);
  324. }
  325. /**
  326. * 分页获取房源信息
  327. *
  328. * @param salesBatchId
  329. * @param buildingId
  330. * @param pageNumber
  331. * @param pageSize
  332. * @param orgId
  333. * @param termName
  334. * @param blockName
  335. * @param unitName
  336. * @param floorName
  337. * @param roomName
  338. * @param apartmentId
  339. * @param status
  340. * @param houseId
  341. * @return
  342. */
  343. @Override
  344. public ResponseBean selectPageList(Integer salesBatchId, String buildingId, Integer pageNumber, Integer pageSize, Integer orgId, String termName, String blockName,
  345. String unitName, String floorName, String roomName, String apartmentId, Integer status, String houseId, String lockingStatus) {
  346. IPage<TaHousingResources> pg = new Page<>(pageNumber, pageSize);
  347. IPage<TaHousingResources> pageData = taHousingResourcesMapper.getHouseResourceList(pg, salesBatchId, buildingId, orgId, termName, blockName, unitName,
  348. floorName, roomName, apartmentId, status, houseId, lockingStatus);
  349. return ResponseBean.success(pageData);
  350. }
  351. /**
  352. * 更新房源信息
  353. *
  354. * @param taHousingResources
  355. * @return
  356. */
  357. @Override
  358. public ResponseBean updateHouseResources(TaHousingResources taHousingResources) {
  359. TaHousingResources oldTaHousingResources = taHousingResourcesMapper.selectById(taHousingResources.getHouseId());
  360. taHousingResources.setTermId(oldTaHousingResources.getTermId());
  361. taHousingResources.setBlockId(oldTaHousingResources.getBlockId());
  362. taHousingResources.setUnitId(oldTaHousingResources.getUnitId());
  363. taHousingResources.setFloorId(oldTaHousingResources.getFloorId());
  364. taHousingResources.setRoomId(oldTaHousingResources.getRoomId());
  365. //只允许编辑房间名
  366. if (!oldTaHousingResources.getRoomName().equals(taHousingResources.getRoomName())) {
  367. //校验房号
  368. String roomResult = checkedRoom(taHousingResources);
  369. //房间号不存在就更新
  370. if (roomResult.equals("notExist")) {
  371. updateRoom(taHousingResources);
  372. } else {
  373. return ResponseBean.error("房间名" + taHousingResources.getRoomName() + "存在。请修改房间名!", ResponseBean.ERROR_UNAVAILABLE);
  374. }
  375. }
  376. //添加房源信息
  377. taHousingResources.setUpdateDate(LocalDateTime.now());
  378. taHousingResourcesMapper.updateById(taHousingResources);
  379. return ResponseBean.success(taHousingResources);
  380. }
  381. /**
  382. * 获取表格中的数据
  383. *
  384. * @param file
  385. * @param salesBatchId
  386. * @param buildingId
  387. * @param orgId
  388. * @return
  389. */
  390. @Override
  391. public ResponseBean getExcelData(MultipartFile file, Integer salesBatchId, String buildingId, Integer orgId) {
  392. ResponseBean responseBean = new ResponseBean();
  393. List<TaHousingResources> list = new ArrayList<>();
  394. if (file == null) {
  395. responseBean.addError("对象不能为空");
  396. return responseBean;
  397. }
  398. //获取文件的名字
  399. String originalFilename = file.getOriginalFilename();
  400. Workbook workbook = null;
  401. try {
  402. if (originalFilename.endsWith(CommConstant.SUFFIX_2003)) {
  403. workbook = new HSSFWorkbook(file.getInputStream());
  404. } else if (originalFilename.endsWith(CommConstant.SUFFIX_2007)) {
  405. workbook = new XSSFWorkbook(file.getInputStream());
  406. }
  407. } catch (Exception e) {
  408. logger.info(originalFilename);
  409. e.printStackTrace();
  410. responseBean.addError("格式错误");
  411. return responseBean;
  412. }
  413. if (workbook == null) {
  414. logger.info(originalFilename);
  415. responseBean.addError("格式错误");
  416. return responseBean;
  417. } else {
  418. List<String> temHousingList = new ArrayList<String>();
  419. //获取一个sheet也就是一个工作簿
  420. Sheet sheet = workbook.getSheetAt(0);
  421. int lastRowNum = sheet.getLastRowNum();
  422. //从第一行开始第一行一般是标题
  423. for (int j = 3; j <= lastRowNum; j++) {
  424. Row row = sheet.getRow(j);
  425. TaHousingResources taHousingResources = new TaHousingResources();
  426. String termName = row.getCell(0).getStringCellValue().trim();
  427. String blockName = row.getCell(1).getStringCellValue().trim();
  428. String unitName = row.getCell(2).getStringCellValue().trim();
  429. String floorName = row.getCell(3).getStringCellValue().trim();
  430. String roomName = "";
  431. try {
  432. roomName = row.getCell(4).getStringCellValue().trim();
  433. } catch (Exception e) {
  434. String roomNameString = String.valueOf(row.getCell(4).getNumericCellValue());
  435. roomName = roomNameString.substring(0, roomNameString.indexOf("."));
  436. }
  437. BigDecimal price;
  438. try {
  439. price = BigDecimal.valueOf(row.getCell(5).getNumericCellValue());
  440. } catch (Exception e) {
  441. price = new BigDecimal(row.getCell(5).getStringCellValue());
  442. }
  443. // Integer heat = 0;
  444. // try {
  445. // String heatString = String.valueOf(row.getCell(6).getNumericCellValue());
  446. // String split = heatString.substring(0, heatString.indexOf("."));
  447. // heat = Integer.valueOf(split);
  448. // } catch (Exception e) {
  449. // String heatString = row.getCell(6).getStringCellValue();
  450. // heat = Integer.valueOf(heatString);
  451. // }
  452. Integer status = row.getCell(6).getStringCellValue().trim().equals("是") ? 1 : 0;
  453. int currentRow = j + 1;
  454. if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(termName)) {
  455. responseBean.addError("第" + currentRow + "行" + "期/区不能为空!");
  456. return responseBean;
  457. }
  458. if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(blockName)) {
  459. responseBean.addError("第" + currentRow + "行" + "楼栋不能为空!");
  460. return responseBean;
  461. }
  462. if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(unitName)) {
  463. responseBean.addError("第" + currentRow + "行" + "单元不能为空!");
  464. return responseBean;
  465. }
  466. if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(floorName)) {
  467. responseBean.addError("第" + currentRow + "行" + "层不能为空!");
  468. return responseBean;
  469. }
  470. if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(roomName)) {
  471. responseBean.addError("第" + currentRow + "行" + "房号不能为空!");
  472. return responseBean;
  473. }
  474. String houseInfo = termName + blockName + unitName + floorName + roomName;
  475. if (temHousingList.contains(houseInfo)) {
  476. logger.info("存在重复房源:{}", houseInfo);
  477. responseBean.addError("第" + currentRow + "行存在重复房源,请删除重复房源后再次上传文件。");
  478. return responseBean;
  479. }
  480. QueryWrapper<TaHousingResources> taHousingResourcesQueryWrapper = new QueryWrapper<>();
  481. // taHousingResourcesQueryWrapper.eq("sales_batch_id",salesBatchId);
  482. taHousingResourcesQueryWrapper.eq("building_id", buildingId);
  483. taHousingResourcesQueryWrapper.eq("org_id", orgId);
  484. taHousingResourcesQueryWrapper.gt("status", CommConstant.STATUS_DELETE);
  485. taHousingResourcesQueryWrapper.eq("term_name", termName);
  486. taHousingResourcesQueryWrapper.eq("block_name", blockName);
  487. taHousingResourcesQueryWrapper.eq("unit_name", unitName);
  488. taHousingResourcesQueryWrapper.eq("floor_name", floorName);
  489. taHousingResourcesQueryWrapper.eq("room_name", roomName);
  490. TaHousingResources oldTaHouseingResources = taHousingResourcesMapper.selectOne(taHousingResourcesQueryWrapper);
  491. if (null != oldTaHouseingResources) {
  492. logger.info("数据库存在重复房源:{}", houseInfo);
  493. responseBean.addError("第" + currentRow + "行与系统已录入房源" + oldTaHouseingResources.getHouseId() + "重复,请删除重复房源后再次上传文件。(注意,要检查本楼盘下所有批次的房源)。");
  494. return responseBean;
  495. }
  496. //把数据塞入temList校验是否有重复的数据
  497. temHousingList.add(houseInfo);
  498. //构建数据
  499. taHousingResources.setTermName(termName);
  500. taHousingResources.setBlockName(blockName);
  501. taHousingResources.setUnitName(unitName);
  502. taHousingResources.setFloorName(floorName);
  503. taHousingResources.setRoomName(roomName);
  504. taHousingResources.setPrice(price);
  505. // taHousingResources.setHeat(heat);
  506. taHousingResources.setStatus(status);
  507. list.add(taHousingResources);
  508. }
  509. }
  510. //构建分页
  511. Map<String, Object> data = new HashMap<String, Object>();
  512. data.put("list", list);
  513. data.put("total", list.size());
  514. responseBean.addSuccess(data);
  515. return responseBean;
  516. }
  517. /**
  518. * 保存文件
  519. *
  520. * @param file
  521. * @param salesBatchId
  522. * @param buildingId
  523. * @param orgId
  524. * @return
  525. */
  526. @Override
  527. public ResponseBean saveExcelValue(MultipartFile file, Integer salesBatchId, String buildingId, Integer orgId) {
  528. ResponseBean responseBean = new ResponseBean();
  529. responseBean = getExcelData(file, salesBatchId, buildingId, orgId);
  530. if (responseBean.getCode() != ResponseBean.CODE_SUCCESS) {
  531. return responseBean;
  532. }
  533. //获取校验成功的数据
  534. Map<String, Object> data = (Map<String, Object>) responseBean.getData();
  535. List<TaHousingResources> list = (List<TaHousingResources>) data.get("list");
  536. list.forEach(e -> {
  537. e.setOrgId(orgId);
  538. e.setSalesBatchId(salesBatchId);
  539. e.setBuildingId(buildingId);
  540. addHouseResources(e);
  541. });
  542. TaSalesBatch taSalesBatch = new TaSalesBatch();
  543. taSalesBatch.setSalesNumber(list.size());
  544. taSalesBatch.setSalesBatchId(salesBatchId);
  545. taSalesBatchMapper.updateById(taSalesBatch);
  546. return ResponseBean.success(list);
  547. }
  548. @Override
  549. public ResponseBean batchUpdateRaiseHeat(List<TaHousingResources> housingResourcesList, Integer raiseHeat,
  550. Integer salesBatchId, Integer orgId, Integer updateUser) {
  551. ResponseBean responseBean = new ResponseBean();
  552. if (taHousingResourcesMapper.batchUpdateRaiseHeat(housingResourcesList, raiseHeat, updateUser, salesBatchId, orgId) > 0) {
  553. responseBean.addSuccess("success");
  554. } else {
  555. responseBean.addError("fail");
  556. }
  557. return responseBean;
  558. }
  559. @Override
  560. public ResponseBean batchUpdateHeat(List<TaHousingResources> housingResourcesList, Integer heat, Integer salesBatchId, Integer orgId, Integer updateUser) {
  561. ResponseBean responseBean = new ResponseBean();
  562. if (taHousingResourcesMapper.batchUpdateHeat(housingResourcesList, heat, updateUser, salesBatchId, orgId) > 0) {
  563. responseBean.addSuccess("success");
  564. } else {
  565. responseBean.addError("fail");
  566. }
  567. return responseBean;
  568. }
  569. @Override
  570. public ResponseBean listHouseByRaiseRecordId(Integer raiseRecordId, Integer orgId, Integer pageNumber, Integer pageSize) {
  571. logger.info("listHouseByRaiseRecordId 接收参数:raiseRecordId:{},orgId:{},pageNumber:{},pageSize:{}",
  572. raiseRecordId, orgId, pageNumber, pageSize);
  573. ResponseBean responseBean = new ResponseBean();
  574. IPage<TaHousingResourcesPO> pg = new Page<>(pageNumber, pageSize);
  575. responseBean.addSuccess(taHousingResourcesMapper.listHouseByRaiseRecordId(pg, raiseRecordId, orgId));
  576. return responseBean;
  577. }
  578. @Override
  579. public ResponseBean updateLockingStatus(Integer houseId, String type, Integer orgId, Integer raiseHouseId, String personId, Integer raiseRecordId) {
  580. logger.info("updateLockingStatus 接收参数:houseId:{},type:{},orgId:{},raiseHouseId:{},personId:{}",
  581. houseId, type, orgId, raiseHouseId, personId);
  582. ResponseBean responseBean = new ResponseBean();
  583. // 获取房源信息
  584. TaHousingResourcesPO po = taHousingResourcesMapper.getHouseByRaiseHouseId(orgId, raiseHouseId);
  585. if (po == null) {
  586. responseBean.addError("未找到该房源");
  587. return responseBean;
  588. }
  589. QueryWrapper<TaRaiseHouse> taRaiseHouseQueryWrapper = new QueryWrapper<>();
  590. taRaiseHouseQueryWrapper.eq("raise_record_id", raiseRecordId);
  591. taRaiseHouseQueryWrapper.eq("raise_house_id", raiseHouseId);
  592. TaRaiseHouse taRaiseHouse = taRaiseHouseService.getOne(taRaiseHouseQueryWrapper);
  593. QueryWrapper<TaRaiseRecord> taRaiseRecordQueryWrapper = new QueryWrapper<>();
  594. taRaiseRecordQueryWrapper.eq("raise_record_id", raiseRecordId);
  595. TaRaiseRecord raiseRecord = taRaiseRecordMapper.selectOne(taRaiseRecordQueryWrapper);
  596. // 更新为锁定状态
  597. if ("locked".equals(type)) {
  598. // 校验当前房源状态
  599. if ("locked".equals(po.getHouseLockingStatus())){
  600. responseBean.addError("房源已被锁定");
  601. return responseBean;
  602. }
  603. TaHousingResources housingResources = new TaHousingResources();
  604. housingResources.setHouseId(po.getHouseId());
  605. housingResources.setHouseLockingStatus("locked");
  606. housingResources.setHouseLockingPerson(taRaiseHouse.getPersonId());
  607. housingResources.setUpdateDate(LocalDateTime.now());
  608. housingResources.setHouseLockingPerson(raiseRecord.getPersonId());
  609. updateById(housingResources);
  610. //更新认筹单房源锁定状态
  611. TaRaiseRecord taRaiseRecord = new TaRaiseRecord();
  612. taRaiseRecord.setRaiseRecordId(raiseRecordId);
  613. taRaiseRecord.setHouseLockingStatus("locked");
  614. taRaiseRecordMapper.updateById(taRaiseRecord);
  615. // 更新关联表状态
  616. TaRaiseHouse raiseHouse = new TaRaiseHouse();
  617. raiseHouse.setRaiseHouseId(raiseHouseId);
  618. raiseHouse.setHouseLockingStatus("locked");
  619. responseBean.addSuccess(taRaiseHouseService.updateById(raiseHouse));
  620. return responseBean;
  621. }
  622. // 更新为解锁状态
  623. if ("unlocked".equals(type)) {
  624. // 校验当前房源状态
  625. if ("unlocked".equals(po.getHouseLockingStatus())){
  626. responseBean.addError("房源已被解锁");
  627. return responseBean;
  628. }
  629. TaHousingResources housingResources = new TaHousingResources();
  630. housingResources.setHouseId(po.getHouseId());
  631. housingResources.setHouseLockingStatus("unlocked");
  632. housingResources.setHouseLockingPerson("");
  633. housingResources.setUpdateDate(LocalDateTime.now());
  634. updateById(housingResources);
  635. //更新认筹单房源锁定状态
  636. TaRaiseRecord taRaiseRecord = new TaRaiseRecord();
  637. taRaiseRecord.setRaiseRecordId(raiseRecordId);
  638. taRaiseRecord.setHouseLockingStatus("unlocked");
  639. taRaiseRecordMapper.updateById(taRaiseRecord);
  640. // 更新关联表状态
  641. TaRaiseHouse raiseHouse = new TaRaiseHouse();
  642. raiseHouse.setRaiseHouseId(raiseHouseId);
  643. raiseHouse.setHouseLockingStatus("unlocked");
  644. raiseHouse.setPersonId("");
  645. raiseHouse.setPersonName("");
  646. responseBean.addSuccess(taRaiseHouseService.updateById(raiseHouse));
  647. return responseBean;
  648. }
  649. responseBean.addError("fail");
  650. return responseBean;
  651. }
  652. /**
  653. * 校验房源的认筹状态
  654. *
  655. * @param houseIds
  656. * @param personId
  657. * @param orgId
  658. * @return
  659. */
  660. @Override
  661. public boolean checkRaiseState(String houseIds, String personId, Integer orgId) throws Exception {
  662. String[] houseIdArr = houseIds.split(",");
  663. //房源信息
  664. TaHousingResources taHousingResources = taHousingResourcesMapper.selectById(houseIdArr[0]);
  665. //通过销售批次信息获取认筹信息
  666. QueryWrapper<TaRaise> taRaiseQueryWrapper = new QueryWrapper<>();
  667. taRaiseQueryWrapper.eq("org_id",orgId);
  668. taRaiseQueryWrapper.eq("sales_batch_id",taHousingResources.getSalesBatchId());
  669. taRaiseQueryWrapper.eq("building_id",taHousingResources.getBuildingId());
  670. TaRaise taRaise = taRaiseMapper.selectOne(taRaiseQueryWrapper);
  671. if (taRaise.getStatus() != CommConstant.STATUS_NORMAL) {
  672. throw new Exception("认筹单已经作废");
  673. }
  674. //校验房源是否同一批次
  675. for (String houseId : houseIdArr){
  676. TaHousingResources taHousingResourcesChecked = taHousingResourcesMapper.selectById(houseId);
  677. if (taHousingResources.getSalesBatchId() != taHousingResourcesChecked.getSalesBatchId()){
  678. throw new Exception("非同一批次房源");
  679. }
  680. if (taRaise.getNeedPreselection()) {
  681. //查看是否有当前房源的预选记录
  682. QueryWrapper<TaPreselectionRecord> preselectionRecordQueryWrapper = new QueryWrapper<>();
  683. preselectionRecordQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
  684. preselectionRecordQueryWrapper.eq("building_id", taRaise.getBuildingId());
  685. preselectionRecordQueryWrapper.eq("org_id", orgId);
  686. preselectionRecordQueryWrapper.eq("house_id", houseId);
  687. preselectionRecordQueryWrapper.eq("person_id", personId);
  688. TaPreselectionRecord taPreselectionRecord = taPreselectionRecordMapper.selectOne(preselectionRecordQueryWrapper);
  689. if (null == taPreselectionRecord) {
  690. throw new Exception("需要先预选才能认筹");
  691. }
  692. }
  693. //查询我的认筹记录表
  694. QueryWrapper<TaRaiseHouse> taRaiseHouseQueryWrapper = new QueryWrapper<>();
  695. taRaiseHouseQueryWrapper.eq("org_id", orgId);
  696. taRaiseHouseQueryWrapper.eq("house_id", houseId);
  697. taRaiseHouseQueryWrapper.eq("person_id", personId);
  698. List<TaRaiseHouse> list = taRaiseHouseService.list(taRaiseHouseQueryWrapper);
  699. if (list.size() > 0) {
  700. throw new Exception("您已有认筹单包含当前房源");
  701. }
  702. }
  703. if (taHousingResources.getStatus() != CommConstant.STATUS_NORMAL) {
  704. throw new Exception("房源已被取消发布");
  705. }
  706. if (CommConstant.HOUSE_LOCKING_STATUS_LOCKED.equals(taHousingResources.getHouseLockingStatus())){
  707. throw new Exception("房源已被其他客户锁定");
  708. }
  709. //销售批次信息
  710. TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(taHousingResources.getSalesBatchId());
  711. //销售批次校验
  712. if (null == taSalesBatch) {
  713. throw new Exception("无销售批次无法认筹");
  714. }
  715. if (taSalesBatch.getStatus() != CommConstant.STATUS_NORMAL) {
  716. throw new Exception("销售批次已被取消发布");
  717. }
  718. //判断是否在时间之内
  719. LocalDateTime raiseStartTime = taRaise.getRaiseStartTime();
  720. LocalDateTime raiseEndTime = taRaise.getRaiseEndTime();
  721. LocalDateTime now = LocalDateTime.now();
  722. if (now.isBefore(raiseStartTime) || now.isAfter(raiseEndTime)) {
  723. throw new Exception("不在认筹时间内");
  724. }
  725. return true;
  726. }
  727. //更新房号
  728. private void updateRoom(TaHousingResources taHousingResources) {
  729. TaBuildingRoom taBuildingRoom = new TaBuildingRoom();
  730. taBuildingRoom.setUpdateDate(LocalDateTime.now());
  731. taBuildingRoom.setTermId(taHousingResources.getTermId());
  732. taBuildingRoom.setBlockId(taHousingResources.getBlockId());
  733. taBuildingRoom.setUnitId(taHousingResources.getUnitId());
  734. taBuildingRoom.setFloorId(taHousingResources.getFloorId());
  735. taBuildingRoom.setRoomName(taHousingResources.getRoomName());
  736. taBuildingRoom.setRoomId(taHousingResources.getRoomId());
  737. taBuildingRoomMapper.updateById(taBuildingRoom);
  738. }
  739. //更新楼层
  740. private void updateFloor(TaHousingResources taHousingResources) {
  741. TaBuildingFloor taBuildingFloor = new TaBuildingFloor();
  742. taBuildingFloor.setUpdateDate(LocalDateTime.now());
  743. taBuildingFloor.setTermId(taHousingResources.getTermId());
  744. taBuildingFloor.setBlockId(taHousingResources.getBlockId());
  745. taBuildingFloor.setUnitId(taHousingResources.getUnitId());
  746. taBuildingFloor.setFloorName(taHousingResources.getFloorName());
  747. taBuildingFloorMapper.updateById(taBuildingFloor);
  748. }
  749. //更新单元
  750. private void updateUnit(TaHousingResources taHousingResources) {
  751. TaBuildingUnit taBuildingUnit = new TaBuildingUnit();
  752. taBuildingUnit.setUpdateDate(LocalDateTime.now());
  753. taBuildingUnit.setTermId(taHousingResources.getTermId());
  754. taBuildingUnit.setBlockId(taHousingResources.getBlockId());
  755. taBuildingUnit.setUnitName(taHousingResources.getUnitName());
  756. taBuildingUnit.setUnitId(taHousingResources.getUnitId());
  757. taBuildingUnitMapper.updateById(taBuildingUnit);
  758. }
  759. //更新栋
  760. private void updataBlock(TaHousingResources taHousingResources) {
  761. TaBuildingBlock taBuildingBlock = new TaBuildingBlock();
  762. taBuildingBlock.setUpdateDate(LocalDateTime.now());
  763. taBuildingBlock.setTermId(taHousingResources.getTermId());
  764. taBuildingBlock.setBlockName(taHousingResources.getBlockName());
  765. taBuildingBlock.setBlockId(taHousingResources.getBlockId());
  766. taBuildingBlockMapper.updateById(taBuildingBlock);
  767. }
  768. //添加房间号
  769. private void addRoom(TaHousingResources taHousingResources) {
  770. TaBuildingRoom taBuildingRoom = new TaBuildingRoom();
  771. taBuildingRoom.setBuildingId(taHousingResources.getBuildingId());
  772. taBuildingRoom.setCreateDate(LocalDateTime.now());
  773. taBuildingRoom.setOrgId(taHousingResources.getOrgId());
  774. taBuildingRoom.setStatus(CommConstant.STATUS_NORMAL);
  775. taBuildingRoom.setTermId(taHousingResources.getTermId());
  776. taBuildingRoom.setBlockId(taHousingResources.getBlockId());
  777. taBuildingRoom.setUnitId(taHousingResources.getUnitId());
  778. taBuildingRoom.setFloorId(taHousingResources.getFloorId());
  779. taBuildingRoom.setRoomName(taHousingResources.getRoomName());
  780. taBuildingRoomMapper.insert(taBuildingRoom);
  781. taHousingResources.setRoomId(taBuildingRoom.getRoomId());
  782. }
  783. //添加楼层
  784. private void addFloor(TaHousingResources taHousingResources) {
  785. TaBuildingFloor taBuildingFloor = new TaBuildingFloor();
  786. taBuildingFloor.setBuildingId(taHousingResources.getBuildingId());
  787. taBuildingFloor.setCreateDate(LocalDateTime.now());
  788. taBuildingFloor.setOrgId(taHousingResources.getOrgId());
  789. taBuildingFloor.setStatus(CommConstant.STATUS_NORMAL);
  790. taBuildingFloor.setTermId(taHousingResources.getTermId());
  791. taBuildingFloor.setBlockId(taHousingResources.getBlockId());
  792. taBuildingFloor.setUnitId(taHousingResources.getUnitId());
  793. taBuildingFloor.setFloorName(taHousingResources.getFloorName());
  794. taBuildingFloorMapper.insert(taBuildingFloor);
  795. taHousingResources.setFloorId(taBuildingFloor.getFloorId());
  796. }
  797. //添加单元
  798. private void addUnit(TaHousingResources taHousingResources) {
  799. TaBuildingUnit taBuildingUnit = new TaBuildingUnit();
  800. taBuildingUnit.setBuildingId(taHousingResources.getBuildingId());
  801. taBuildingUnit.setCreateDate(LocalDateTime.now());
  802. taBuildingUnit.setOrgId(taHousingResources.getOrgId());
  803. taBuildingUnit.setStatus(CommConstant.STATUS_NORMAL);
  804. taBuildingUnit.setTermId(taHousingResources.getTermId());
  805. taBuildingUnit.setBlockId(taHousingResources.getBlockId());
  806. taBuildingUnit.setUnitName(taHousingResources.getUnitName());
  807. taBuildingUnitMapper.insert(taBuildingUnit);
  808. taHousingResources.setUnitId(taBuildingUnit.getUnitId());
  809. }
  810. //添加楼栋
  811. private void addBlock(TaHousingResources taHousingResources) {
  812. TaBuildingBlock taBuildingBlock = new TaBuildingBlock();
  813. taBuildingBlock.setBuildingId(taHousingResources.getBuildingId());
  814. taBuildingBlock.setCreateDate(LocalDateTime.now());
  815. taBuildingBlock.setOrgId(taHousingResources.getOrgId());
  816. taBuildingBlock.setStatus(CommConstant.STATUS_NORMAL);
  817. taBuildingBlock.setTermId(taHousingResources.getTermId());
  818. taBuildingBlock.setBlockName(taHousingResources.getBlockName());
  819. taBuildingBlockMapper.insert(taBuildingBlock);
  820. taHousingResources.setBlockId(taBuildingBlock.getBlockId());
  821. }
  822. //添加期
  823. private void addTerm(TaHousingResources taHousingResources) {
  824. TaBuildingTerm taBuildingTerm = new TaBuildingTerm();
  825. taBuildingTerm.setBuildingId(taHousingResources.getBuildingId());
  826. taBuildingTerm.setCreateDate(LocalDateTime.now());
  827. taBuildingTerm.setOrgId(taHousingResources.getOrgId());
  828. taBuildingTerm.setStatus(CommConstant.STATUS_NORMAL);
  829. taBuildingTerm.setTermName(taHousingResources.getTermName());
  830. taBuildingTermMapper.insert(taBuildingTerm);
  831. taHousingResources.setTermId(taBuildingTerm.getTermId());
  832. }
  833. //校验房号
  834. private String checkedRoom(TaHousingResources taHousingResources) {
  835. if (StringUtils.isEmpty(taHousingResources.getRoomName())) {
  836. return "请输入房号。";
  837. } else {
  838. //查询房号
  839. TaBuildingRoom taBuildingRoom = selectRoom(taHousingResources);
  840. if (null != taBuildingRoom) {
  841. taHousingResources.setRoomId(taBuildingRoom.getRoomId());
  842. return "房间名" + taHousingResources.getRoomName() + "存在。不允许保存,请修改!";
  843. } else {
  844. return "notExist";
  845. }
  846. }
  847. }
  848. //查询房间号
  849. private TaBuildingRoom selectRoom(TaHousingResources taHousingResources) {
  850. QueryWrapper<TaBuildingRoom> queryWrapper = new QueryWrapper<>();
  851. queryWrapper.eq("org_id", taHousingResources.getOrgId());
  852. queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  853. queryWrapper.eq("building_id", taHousingResources.getBuildingId());
  854. queryWrapper.eq("term_id", taHousingResources.getTermId());
  855. queryWrapper.eq("block_id", taHousingResources.getBlockId());
  856. queryWrapper.eq("unit_id", taHousingResources.getUnitId());
  857. queryWrapper.eq("floor_id", taHousingResources.getFloorId());
  858. queryWrapper.eq("room_name", taHousingResources.getRoomName());
  859. return taBuildingRoomMapper.selectOne(queryWrapper);
  860. }
  861. //校验楼层
  862. private String checkedFloor(TaHousingResources taHousingResources) {
  863. if (StringUtils.isEmpty(taHousingResources.getFloorName())) {
  864. return "请输入楼层名。";
  865. } else {
  866. QueryWrapper<TaBuildingFloor> queryWrapper = new QueryWrapper<>();
  867. queryWrapper.eq("org_id", taHousingResources.getOrgId());
  868. queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  869. queryWrapper.eq("building_id", taHousingResources.getBuildingId());
  870. queryWrapper.eq("term_id", taHousingResources.getTermId());
  871. queryWrapper.eq("block_id", taHousingResources.getBlockId());
  872. queryWrapper.eq("unit_id", taHousingResources.getUnitId());
  873. queryWrapper.eq("floor_name", taHousingResources.getFloorName());
  874. TaBuildingFloor taBuildingFloor = taBuildingFloorMapper.selectOne(queryWrapper);
  875. if (null != taBuildingFloor) {
  876. taHousingResources.setFloorId(taBuildingFloor.getFloorId());
  877. return "楼层名" + taHousingResources.getFloorName() + "存在。";
  878. } else {
  879. return "notExist";
  880. }
  881. }
  882. }
  883. //校验单元
  884. private String checkedUnit(TaHousingResources taHousingResources) {
  885. if (StringUtils.isEmpty(taHousingResources.getUnitName())) {
  886. return "请输入单元名。";
  887. } else {
  888. QueryWrapper<TaBuildingUnit> queryWrapper = new QueryWrapper<>();
  889. queryWrapper.eq("org_id", taHousingResources.getOrgId());
  890. queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  891. queryWrapper.eq("building_id", taHousingResources.getBuildingId());
  892. queryWrapper.eq("term_id", taHousingResources.getTermId());
  893. queryWrapper.eq("block_id", taHousingResources.getBlockId());
  894. queryWrapper.eq("unit_name", taHousingResources.getUnitName());
  895. TaBuildingUnit taBuildingUnit = taBuildingUnitMapper.selectOne(queryWrapper);
  896. if (null != taBuildingUnit) {
  897. taHousingResources.setUnitId(taBuildingUnit.getUnitId());
  898. return "单元名" + taHousingResources.getUnitName() + "存在。";
  899. } else {
  900. return "notExist";
  901. }
  902. }
  903. }
  904. //校验楼盘
  905. private String checkedBlock(TaHousingResources taHousingResources) {
  906. if (StringUtils.isEmpty(taHousingResources.getBlockName())) {
  907. return "请输入楼栋名。";
  908. } else {
  909. QueryWrapper<TaBuildingBlock> queryWrapper = new QueryWrapper<>();
  910. queryWrapper.eq("org_id", taHousingResources.getOrgId());
  911. queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  912. queryWrapper.eq("building_id", taHousingResources.getBuildingId());
  913. queryWrapper.eq("term_id", taHousingResources.getTermId());
  914. queryWrapper.eq("block_name", taHousingResources.getBlockName());
  915. TaBuildingBlock taBuildingBlock = taBuildingBlockMapper.selectOne(queryWrapper);
  916. if (null != taBuildingBlock) {
  917. taHousingResources.setBlockId(taBuildingBlock.getBlockId());
  918. return "楼栋名" + taHousingResources.getBlockName() + "存在。";
  919. } else {
  920. return "notExist";
  921. }
  922. }
  923. }
  924. //校验期
  925. private String checckedTerm(TaHousingResources taHousingResources) {
  926. if (StringUtils.isEmpty(taHousingResources.getTermName())) {
  927. return "请输入期名。";
  928. } else {
  929. QueryWrapper<TaBuildingTerm> queryWrapper = new QueryWrapper<>();
  930. queryWrapper.eq("org_id", taHousingResources.getOrgId());
  931. queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
  932. queryWrapper.eq("building_id", taHousingResources.getBuildingId());
  933. queryWrapper.eq("term_name", taHousingResources.getTermName());
  934. TaBuildingTerm taBuildingTerm = taBuildingTermMapper.selectOne(queryWrapper);
  935. if (null != taBuildingTerm) {
  936. taHousingResources.setTermId(taBuildingTerm.getTermId());
  937. return "期名" + taHousingResources.getTermName() + "存在。";
  938. } else {
  939. return "notExist";
  940. }
  941. }
  942. }
  943. }