package com.siwei.apply.controller; import com.siwei.apply.domain.Fwmx; import com.siwei.apply.domain.NodeLand; import com.siwei.apply.domain.res.GyjsydjfwscdjRes; import com.siwei.apply.domain.res.GyjsydjfwscdjSinglRes; import com.siwei.apply.domain.vo.GyjsydjfwscdjUpdateVo; import com.siwei.apply.domain.vo.GyjsydjfwscdjVo; import com.siwei.apply.domain.vo.OnChainVo; import com.siwei.apply.service.GyjsydjfwscdjService; import com.siwei.apply.service.LandOneCodeService; import com.siwei.apply.service.NodeLandService; import com.siwei.apply.service.ProjectService; import com.siwei.common.core.domain.R; import com.siwei.common.core.web.controller.BaseController; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; /** * 国有建设用地使用权及房屋所有权首次登记 控制器 * 单独选址第八步 * 批次跑批第七步 */ @RestController @RequestMapping("/gyjsydjfwscdj") public class GyjsydjfwscdjController extends BaseController { @Autowired private GyjsydjfwscdjService gyjsydjfwscdjService; @Autowired NodeLandService nodeLandService; @Autowired ProjectService projectService; @Autowired LandOneCodeService landOneCodeService; /** * 添加国有建设用地使用权及房屋所有权首次登记 */ @PostMapping() public R Add(@RequestBody GyjsydjfwscdjVo gyjsydjfwscdjVo) { try { // Boolean b = gyjsydjfwscdjService.isExit(gyjsydjfwscdjVo.getProjectId()); // if (b == true) { // return R.fail("此项目已添加国有建设用地使用权及房屋所有权首次登记"); // } String id = gyjsydjfwscdjService.add(gyjsydjfwscdjVo); Map map = new HashMap<>(); map.put("id", id); return R.ok(map); } catch (Exception e) { return R.fail(e.getMessage()); } } /** * 获取国有建设用地使用权及房屋所有权首次登记(返回结果对象,内含列表) * * @param projectId 项目ID * @return 结果对象 */ @GetMapping("/{projectId}") public R Get(@PathVariable String projectId) { try { return R.ok(gyjsydjfwscdjService.get(projectId)); } catch (Exception e) { return R.fail(e.getMessage()); } } /** * 通过主键id获取单条记录,返回包含项目名称与代码的结构(与 GyjsydscdjController 风格一致) */ @GetMapping("/id/{id}") public R GetById(@PathVariable String id) { try { return R.ok(gyjsydjfwscdjService.getById(id)); } catch (Exception e) { return R.fail(e.getMessage()); } } /** * 更新国有建设用地使用权及房屋所有权首次登记 * * @param gyjsydjfwscdjUpdateVo 国有建设用地使用权及房屋所有权首次登记 * @return 操作结果 */ @PutMapping() public R Update(@RequestBody GyjsydjfwscdjUpdateVo gyjsydjfwscdjUpdateVo) { try { gyjsydjfwscdjService.update(gyjsydjfwscdjUpdateVo); return R.ok(); } catch (Exception e) { return R.fail(e.getMessage()); } } /** * 更新国有建设用地使用权及房屋所有权首次登记的上链状态 */ @PutMapping("/onchain") public R updateHasOnchain(@RequestBody OnChainVo onChainVo) { try { if(CollectionUtils.isEmpty(onChainVo.getIds())){ return R.fail(502,"节点为空,确保基本数据填写完毕"); } for (String id : onChainVo.getIds()) { NodeLand nodeLand = nodeLandService.getNodeLandByNodeId(id); if(Objects.isNull(nodeLand)){ return R.fail(502,"数据空间信息不存在,请检查先导入空间数据"); } } for (String id : onChainVo.getIds()) { gyjsydjfwscdjService.updateHasOnchain(id, onChainVo.getHasOnchain()); } // 更新项目表的上链数量 projectService.countOnChinaNum(onChainVo.getProjectId()); //这里生成资源吗 for (String id : onChainVo.getIds()) { landOneCodeService.addOrUpdateLandOneCodeInfo(onChainVo.getProjectId(),id); } return R.ok(); } catch (Exception e) { return R.fail(e.getMessage()); } } //根据业务号获取房屋列表 @GetMapping("/house/list") public R supplyList( @RequestParam(value = "pageNum", required = false) Integer pageNum, @RequestParam(value = "pageSize", required = false) Integer pageSize, @RequestParam(value = "businessId", required = false) String businessId) { try { startPage(); List resList = gyjsydjfwscdjService.houseList(businessId); return R.ok(getDataTable(resList)); } catch (Exception e) { e.printStackTrace(); return R.fail(e.getMessage()); } } }