package cn.com.goldenwater.dcproj.controller.ydb; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.AttSdBaseCrrctParam; import cn.com.goldenwater.dcproj.param.BisInspAllObjParam; import cn.com.goldenwater.dcproj.param.BisInspSdRgstrParam; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.dcproj.utils.BeanUtil; import cn.com.goldenwater.dcproj.utils.GeoUtil; import cn.com.goldenwater.id.util.UuidUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; import com.github.pagehelper.PageInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; /** * @author lune * @date 2019-8-1 */ @Api(value = "ATT 淤地坝基本信息纠错表管理", tags = "ATT 淤地坝基本信息纠错表管理") @RestController @RequestMapping("/att/sd/base/crrct") public class AttSdBaseCrrctController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private AttSdBaseCrrctService attSdBaseCrrctService; @Autowired private BisInspSdRgstrService rgstrService; @Autowired private AttAdXBaseService adBaseService; @Autowired private BisInspAllObjService allObjService; @Autowired private AttSdBaseService baseService; @ApiOperation(value = "添加/修改淤地坝基本信息纠错表") @RequestMapping(value = "", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "attSdBaseCrrct", value = "AttSdBaseCrrct", required = true) @RequestBody AttSdBaseCrrct attSdBaseCrrct) { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String persId = request.getHeader("persId"); if (StringUtils.isBlank(attSdBaseCrrct.getId())) { String uuid = UuidUtil.uuid(); // 生成uuid attSdBaseCrrct.setId(uuid); attSdBaseCrrct.setPersId(persId); attSdBaseCrrctService.insert(attSdBaseCrrct); } else { if (null != attSdBaseCrrct.getGdX() && null != attSdBaseCrrct.getGdY()) { Map map = GeoUtil.gcj02towgs84(attSdBaseCrrct.getGdX(), attSdBaseCrrct.getGdY()); attSdBaseCrrct.setCenterX(map.get("long")); attSdBaseCrrct.setCenterY(map.get("lat")); } attSdBaseCrrctService.update(attSdBaseCrrct); } BisInspSdRgstrParam param = new BisInspSdRgstrParam(); param.setObjId(attSdBaseCrrct.getObjId()); param.setSdCode(attSdBaseCrrct.getSdCode()); BisInspSdRgstr rgstr = rgstrService.getBy(param); if (rgstr != null) { String rgstrId = rgstr.getId(); BeanUtil.copyObject1(attSdBaseCrrct, rgstr); rgstr.setId(rgstrId); rgstrService.update(rgstr); } if (StringUtils.isNotBlank(attSdBaseCrrct.getSdCode())) { BisInspAllObjParam objParam = new BisInspAllObjParam(); objParam.setCode(attSdBaseCrrct.getSdCode()); objParam.setObjId(attSdBaseCrrct.getObjId()); BisInspAllObj obj = allObjService.getBy(objParam); if (obj != null) { obj.setNm(attSdBaseCrrct.getSdName()); allObjService.update(obj); } } return buildSuccessResponse(attSdBaseCrrct); } @ApiOperation(value = "根据ID删除淤地坝基本信息纠错表") @RequestMapping(value = "/del/{id}", method = RequestMethod.GET) public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { int ret = attSdBaseCrrctService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "获取纠错信息") @RequestMapping(value = "/{sdCode}/{persId}", method = RequestMethod.GET) public BaseResponse getCrrct(@ApiParam(name = "sdCode", value = "sdCode", required = true) @PathVariable String sdCode, @PathVariable String persId) { if (StringUtils.isBlank(sdCode)) { return buildFailResponse("淤地坝工程编码为空"); } AttSdBaseCrrctParam param = new AttSdBaseCrrctParam(); param.setSdCode(sdCode); param.setPersId(persId); AttSdBaseCrrct crrct = attSdBaseCrrctService.getBy(param); if (crrct == null) { AttSdBase base = baseService.get(sdCode); AttAdXBase xBase = adBaseService.get(base.getAdCode()); if (xBase != null) { base.setAdFullName(xBase.getAdFullName()); } return buildSuccessResponse(base); } AttAdXBase xBase = adBaseService.get(crrct.getAdCode()); if (xBase != null) { crrct.setAdFullName(xBase.getAdFullName()); } return buildSuccessResponse(crrct); } @ApiOperation(value = "根据ID获取淤地坝基本信息纠错表(单表)") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public BaseResponse get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { AttSdBaseCrrct attSdBaseCrrct = attSdBaseCrrctService.get(id); return buildSuccessResponse(attSdBaseCrrct); } @ApiOperation(value = "获取淤地坝基本信息纠错表(列表所有)") @RequestMapping(value = "/list", method = RequestMethod.POST) public BaseResponse> list(@ApiParam(name = "attSdBaseCrrctParam", value = "attSdBaseCrrctParam", required = true) @RequestBody AttSdBaseCrrctParam attSdBaseCrrctParam) { List attSdBaseCrrctList = attSdBaseCrrctService.findList(attSdBaseCrrctParam); return buildSuccessResponse(attSdBaseCrrctList); } @ApiOperation(value = "获取淤地坝基本信息纠错表(列表--分页)") @RequestMapping(value = "/page", method = RequestMethod.POST) public BaseResponse> page(@ApiParam(name = "attSdBaseCrrctParam", value = "attSdBaseCrrctParam", required = true) @RequestBody AttSdBaseCrrctParam attSdBaseCrrctParam) { PageInfo attSdBaseCrrctList = attSdBaseCrrctService.findPageInfo(attSdBaseCrrctParam); return buildSuccessResponse(attSdBaseCrrctList); } }