package cn.com.goldenwater.dcproj.controller.tac; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.dcproj.dto.TacProvincePblmInfoFromDto; import cn.com.goldenwater.dcproj.model.TacProvincePblmMendInfo; import cn.com.goldenwater.dcproj.param.TacProvincePblmMendInfoParam; import cn.com.goldenwater.dcproj.service.OlBisInspOrgService; import cn.com.goldenwater.dcproj.service.TacProvincePblmMendInfoService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.Link; import org.springframework.hateoas.mvc.ControllerLinkBuilder; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo; /** * @author lhc * @date 2021-6-2 */ @Api(value = "稽察整改问题管理", tags = "稽察整改问题管理") @RestController @RequestMapping("/tac/province/pblm/mendInfo") public class TacProvincePblmMendInfoController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private TacProvincePblmMendInfoService tacProvincePblmMendInfoService; @Autowired private OlBisInspOrgService olBisInspOrgService; @ApiOperation(value = "获取所有问题清单") @RequestMapping(value = "/getList", method = RequestMethod.POST) public BaseResponse> getList(@ApiParam(name = "tacProvincePblmMendInfoParam", value = "tacProvincePblmMendInfoParam", required = true) @RequestBody TacProvincePblmMendInfoParam tacProvincePblmMendInfoParam) { //所属省份 String province = olBisInspOrgService.getProvince(getCurrentOrgId()); //是否市县级用户 String rlPrvince = olBisInspOrgService.getRlProvince(getCurrentOrgId()); tacProvincePblmMendInfoParam.setOrgId(getCurrentOrgId()); tacProvincePblmMendInfoParam.setProvince(province); tacProvincePblmMendInfoParam.setAdCode(AdLevelUtil.getAddvcd(rlPrvince)); PageInfo pblmPlistPageInfo = tacProvincePblmMendInfoService.getList(tacProvincePblmMendInfoParam); return buildSuccessResponse(pblmPlistPageInfo); } @ApiOperation(value = "获取所有问题清单") @RequestMapping(value = "/export", method = RequestMethod.POST) public void exportZip(@ApiParam(name = "tacProvincePblmMendInfoParam", value = "tacProvincePblmMendInfoParam", required = true) @RequestBody TacProvincePblmMendInfoParam tacProvincePblmMendInfoParam, HttpServletResponse response) throws Exception { String province = olBisInspOrgService.getRlProvince(getCurrentOrgId()); tacProvincePblmMendInfoParam.setOrgId(getCurrentOrgId()); tacProvincePblmMendInfoParam.setProvince(province); tacProvincePblmMendInfoService.export(tacProvincePblmMendInfoParam, response); } @ApiOperation(value = "发起-问题整改-审批") @RequestMapping(value = "/allStartup", method = RequestMethod.POST) public BaseResponse allStartup(@ApiParam(name = "tacProvincePblmMendInfoParam", value = "tacProvincePblmMendInfoParam", required = true) @RequestBody TacProvincePblmMendInfoParam tacProvincePblmMendInfoParam) { String province = olBisInspOrgService.getRlProvince(getCurrentOrgId()); tacProvincePblmMendInfoParam.setProvince(province); tacProvincePblmMendInfoParam.setOrgId(getCurrentOrgId()); tacProvincePblmMendInfoParam.setPersId(getCurrentPersId()); tacProvincePblmMendInfoService.allStartup(tacProvincePblmMendInfoParam); return buildSuccessResponse(); } @ApiOperation(value = "发起-问题整改-审批") @RequestMapping(value = "/startup", method = RequestMethod.POST) public BaseResponse startup(@ApiParam(name = "tacProvincePblmMendInfo", value = "tacProvincePblmMendInfo", required = true) @RequestBody List dtos) { String province = olBisInspOrgService.getRlProvince(getCurrentOrgId()); for (int i = 0; i < dtos.size(); i++) { tacProvincePblmMendInfoService.saveFormsAndStartFlow(dtos.get(i), getCurrentPersId(), getCurrentOrgId(), province); } return buildSuccessResponse(); } @ApiOperation(value = "发起-问题整改-审批-单条") @RequestMapping(value = "/startupSinge", method = RequestMethod.POST) public BaseResponse startupSinge(@ApiParam(name = "tacProvincePblmMendInfo", value = "tacProvincePblmMendInfo", required = true) @RequestBody TacProvincePblmInfoFromDto tacProvincePblmInfoFromDto) { String province = olBisInspOrgService.getRlProvince(getCurrentOrgId()); tacProvincePblmMendInfoService.saveFormsAndStartFlow(tacProvincePblmInfoFromDto, getCurrentPersId(), getCurrentOrgId(), province); return buildSuccessResponse(); } /** * 提交/下发 */ @ApiOperation(value = "提交") @PostMapping("/submit") public BaseResponse submit(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.submitForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * 反馈 */ @ApiOperation(value = "反馈") @PostMapping("/feedback") public BaseResponse feedback(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.feedbackForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * 退回 */ @ApiOperation(value = "退回") @PostMapping("/backward") public BaseResponse backward(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.backwardForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * 完成 */ @ApiOperation(value = "完成") @PostMapping("/complete") public BaseResponse complete(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.complete(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * 下发 */ @ApiOperation(value = "下发到县 根据网关要跳转到县反馈") @PostMapping("/sendCounty") public BaseResponse sendCounty(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.sendCountyForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * 市转本级反馈 */ @ApiOperation(value = "下发 市转本级反馈") @PostMapping("/feedbackCity") public BaseResponse feedbackCity(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.feedbackCityForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * 流程表单-详情明细 */ @ApiOperation(value = "流程表单-详情明细") @GetMapping("/{applyFormId}") public BaseResponse> getDetail(@PathVariable(value = "applyFormId") String applyFormId) { RespDTO result = new RespDTO<>(); result.setContent(tacProvincePblmMendInfoService.get(applyFormId)); return buildSuccessResponse(buildLinks(result)); } /** * 转省本级反馈 */ @ApiOperation(value = "转省本级反馈") @PostMapping("/sendProvince") public BaseResponse sendProvince(@RequestBody TacProvincePblmInfoFromDto dto) { return tacProvincePblmMendInfoService.sendProvinceForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse(); } /** * _links */ private RespDTO buildLinks(RespDTO result) { Link submitLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).submit(null)).withRel("submit"); Link feedbackLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).feedback(null)).withRel("feedback"); Link backwardLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).backward(null)).withRel("backward"); Link sendCountyLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).sendCounty(null)).withRel("sendCounty"); Link feedbackCityLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).feedbackCity(null)).withRel("feedbackCity"); Link completeLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).complete(null)).withRel("complete"); Link sendProvinceLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).sendProvince(null)).withRel("sendProvince"); Map linkMap = new HashMap<>(); linkMap.put("submit", submitLink.getHref().substring(submitLink.getHref().indexOf("/tac/"))); linkMap.put("feedback", feedbackLink.getHref().substring(feedbackLink.getHref().indexOf("/tac/"))); linkMap.put("backward", backwardLink.getHref().substring(backwardLink.getHref().indexOf("/tac/"))); linkMap.put("sendCounty", sendCountyLink.getHref().substring(sendCountyLink.getHref().indexOf("/tac/"))); linkMap.put("feedbackCity", feedbackCityLink.getHref().substring(feedbackCityLink.getHref().indexOf("/tac/"))); linkMap.put("complete", completeLink.getHref().substring(completeLink.getHref().indexOf("/tac/"))); linkMap.put("sendProvince", sendProvinceLink.getHref().substring(completeLink.getHref().indexOf("/tac/"))); result.set_links(linkMap); return result; } @ApiOperation(value = "添加稽察整改问题") @RequestMapping(value = "/", method = RequestMethod.POST) public BaseResponse> insert(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List tacProvincePblmMendInfos) { for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos ) { if (StringUtils.isBlank(tacProvincePblmMendInfo.getId())) { tacProvincePblmMendInfoService.insert(tacProvincePblmMendInfo); } else { tacProvincePblmMendInfoService.update(tacProvincePblmMendInfo); } } return buildSuccessResponse(tacProvincePblmMendInfos); } @ApiOperation(value = "批量更新整改问题") @RequestMapping(value = "/batchUpdate", method = RequestMethod.POST) public BaseResponse> batchUpdate(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List tacProvincePblmMendInfos) { for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos) { tacProvincePblmMendInfoService.update(tacProvincePblmMendInfo); } return buildSuccessResponse(tacProvincePblmMendInfos); } @ApiOperation(value = "批量更新行政区划") @RequestMapping(value = "/batchAddvcd", method = RequestMethod.POST) public BaseResponse> batchAddvcd(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List tacProvincePblmMendInfos) { for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos) { int ret = tacProvincePblmMendInfoService.updateAddvcd(tacProvincePblmMendInfo); } return buildSuccessResponse(tacProvincePblmMendInfos); } @ApiOperation(value = "批量删除整改问题") @RequestMapping(value = "/batchDelete", method = RequestMethod.POST) public BaseResponse batchDelete(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List tacProvincePblmMendInfos) { for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos) { tacProvincePblmMendInfoService.delete(tacProvincePblmMendInfo.getId()); } return buildSuccessResponse(); } @ApiOperation(value = "根据ID删除稽察整改问题") @RequestMapping(value = "delete/{id}", method = RequestMethod.POST) public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { int ret = tacProvincePblmMendInfoService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "更新稽察整改问题信息") @RequestMapping(value = "/update", method = RequestMethod.POST) public BaseResponse update(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody TacProvincePblmMendInfo tacProvincePblmMendInfo) { Assert.notNull(tacProvincePblmMendInfo.getId(), "主键id为必填参数"); int ret = tacProvincePblmMendInfoService.update(tacProvincePblmMendInfo); return buildSuccessResponse(tacProvincePblmMendInfo); } }