16d9facd0d5dda00374f30883b72801f7ab91de7.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. package cn.com.goldenwater.dcproj.controller.tac;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.dto.TacProvincePblmInfoFromDto;
  5. import cn.com.goldenwater.dcproj.model.TacProvincePblmMendInfo;
  6. import cn.com.goldenwater.dcproj.param.TacProvincePblmMendInfoParam;
  7. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  8. import cn.com.goldenwater.dcproj.service.TacProvincePblmMendInfoService;
  9. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  10. import com.github.pagehelper.PageInfo;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import io.swagger.annotations.ApiParam;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.apache.http.HttpResponse;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.hateoas.Link;
  20. import org.springframework.hateoas.mvc.ControllerLinkBuilder;
  21. import org.springframework.util.Assert;
  22. import org.springframework.web.bind.annotation.*;
  23. import javax.servlet.http.HttpServletResponse;
  24. import java.util.HashMap;
  25. import java.util.List;
  26. import java.util.Map;
  27. import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
  28. /**
  29. * @author lhc
  30. * @date 2021-6-2
  31. */
  32. @Api(value = "稽察整改问题管理", tags = "稽察整改问题管理")
  33. @RestController
  34. @RequestMapping("/tac/province/pblm/mendInfo")
  35. public class TacProvincePblmMendInfoController extends BaseController {
  36. private Logger logger = LoggerFactory.getLogger(getClass());
  37. @Autowired
  38. private TacProvincePblmMendInfoService tacProvincePblmMendInfoService;
  39. @Autowired
  40. private OlBisInspOrgService olBisInspOrgService;
  41. @ApiOperation(value = "获取所有问题清单")
  42. @RequestMapping(value = "/getList", method = RequestMethod.POST)
  43. public BaseResponse<PageInfo<TacProvincePblmMendInfo>> getList(@ApiParam(name = "tacProvincePblmMendInfoParam", value = "tacProvincePblmMendInfoParam", required = true) @RequestBody TacProvincePblmMendInfoParam tacProvincePblmMendInfoParam) {
  44. //所属省份
  45. String province = olBisInspOrgService.getProvince(getCurrentOrgId());
  46. //是否市县级用户
  47. String rlPrvince = olBisInspOrgService.getRlProvince(getCurrentOrgId());
  48. tacProvincePblmMendInfoParam.setOrgId(getCurrentOrgId());
  49. tacProvincePblmMendInfoParam.setProvince(province);
  50. tacProvincePblmMendInfoParam.setAdCode(AdLevelUtil.getAddvcd(rlPrvince));
  51. PageInfo<TacProvincePblmMendInfo> pblmPlistPageInfo = tacProvincePblmMendInfoService.getList(tacProvincePblmMendInfoParam);
  52. return buildSuccessResponse(pblmPlistPageInfo);
  53. }
  54. @ApiOperation(value = "获取所有问题清单")
  55. @RequestMapping(value = "/export", method = RequestMethod.POST)
  56. public void exportZip(@ApiParam(name = "tacProvincePblmMendInfoParam", value = "tacProvincePblmMendInfoParam", required = true) @RequestBody TacProvincePblmMendInfoParam tacProvincePblmMendInfoParam, HttpServletResponse response) throws Exception {
  57. String province = olBisInspOrgService.getRlProvince(getCurrentOrgId());
  58. tacProvincePblmMendInfoParam.setOrgId(getCurrentOrgId());
  59. tacProvincePblmMendInfoParam.setProvince(province);
  60. tacProvincePblmMendInfoService.export(tacProvincePblmMendInfoParam, response);
  61. }
  62. @ApiOperation(value = "发起-问题整改-审批")
  63. @RequestMapping(value = "/allStartup", method = RequestMethod.POST)
  64. public BaseResponse allStartup(@ApiParam(name = "tacProvincePblmMendInfoParam", value = "tacProvincePblmMendInfoParam", required = true)
  65. @RequestBody TacProvincePblmMendInfoParam tacProvincePblmMendInfoParam) {
  66. String province = olBisInspOrgService.getRlProvince(getCurrentOrgId());
  67. tacProvincePblmMendInfoParam.setProvince(province);
  68. tacProvincePblmMendInfoParam.setOrgId(getCurrentOrgId());
  69. tacProvincePblmMendInfoParam.setPersId(getCurrentPersId());
  70. tacProvincePblmMendInfoService.allStartup(tacProvincePblmMendInfoParam);
  71. return buildSuccessResponse();
  72. }
  73. @ApiOperation(value = "发起-问题整改-审批")
  74. @RequestMapping(value = "/startup", method = RequestMethod.POST)
  75. public BaseResponse startup(@ApiParam(name = "tacProvincePblmMendInfo", value = "tacProvincePblmMendInfo", required = true) @RequestBody List<TacProvincePblmInfoFromDto> dtos) {
  76. String province = olBisInspOrgService.getRlProvince(getCurrentOrgId());
  77. for (int i = 0; i < dtos.size(); i++) {
  78. tacProvincePblmMendInfoService.saveFormsAndStartFlow(dtos.get(i), getCurrentPersId(), getCurrentOrgId(), province);
  79. }
  80. return buildSuccessResponse();
  81. }
  82. @ApiOperation(value = "发起-问题整改-审批-单条")
  83. @RequestMapping(value = "/startupSinge", method = RequestMethod.POST)
  84. public BaseResponse startupSinge(@ApiParam(name = "tacProvincePblmMendInfo", value = "tacProvincePblmMendInfo", required = true) @RequestBody TacProvincePblmInfoFromDto tacProvincePblmInfoFromDto) {
  85. String province = olBisInspOrgService.getRlProvince(getCurrentOrgId());
  86. tacProvincePblmMendInfoService.saveFormsAndStartFlow(tacProvincePblmInfoFromDto, getCurrentPersId(), getCurrentOrgId(), province);
  87. return buildSuccessResponse();
  88. }
  89. /**
  90. * 提交/下发
  91. */
  92. @ApiOperation(value = "提交")
  93. @PostMapping("/submit")
  94. public BaseResponse submit(@RequestBody TacProvincePblmInfoFromDto dto) {
  95. return tacProvincePblmMendInfoService.submitForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  96. }
  97. /**
  98. * 反馈
  99. */
  100. @ApiOperation(value = "反馈")
  101. @PostMapping("/feedback")
  102. public BaseResponse feedback(@RequestBody TacProvincePblmInfoFromDto dto) {
  103. return tacProvincePblmMendInfoService.feedbackForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  104. }
  105. /**
  106. * 退回
  107. */
  108. @ApiOperation(value = "退回")
  109. @PostMapping("/backward")
  110. public BaseResponse backward(@RequestBody TacProvincePblmInfoFromDto dto) {
  111. return tacProvincePblmMendInfoService.backwardForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  112. }
  113. /**
  114. * 完成
  115. */
  116. @ApiOperation(value = "完成")
  117. @PostMapping("/complete")
  118. public BaseResponse complete(@RequestBody TacProvincePblmInfoFromDto dto) {
  119. return tacProvincePblmMendInfoService.complete(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  120. }
  121. /**
  122. * 下发
  123. */
  124. @ApiOperation(value = "下发到县 根据网关要跳转到县反馈")
  125. @PostMapping("/sendCounty")
  126. public BaseResponse sendCounty(@RequestBody TacProvincePblmInfoFromDto dto) {
  127. return tacProvincePblmMendInfoService.sendCountyForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  128. }
  129. /**
  130. * 市转本级反馈
  131. */
  132. @ApiOperation(value = "下发 市转本级反馈")
  133. @PostMapping("/feedbackCity")
  134. public BaseResponse feedbackCity(@RequestBody TacProvincePblmInfoFromDto dto) {
  135. return tacProvincePblmMendInfoService.feedbackCityForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  136. }
  137. /**
  138. * 流程表单-详情明细
  139. */
  140. @ApiOperation(value = "流程表单-详情明细")
  141. @GetMapping("/{applyFormId}")
  142. public BaseResponse<RespDTO<TacProvincePblmMendInfo>> getDetail(@PathVariable(value = "applyFormId") String applyFormId) {
  143. RespDTO<TacProvincePblmMendInfo> result = new RespDTO<>();
  144. result.setContent(tacProvincePblmMendInfoService.get(applyFormId));
  145. return buildSuccessResponse(buildLinks(result));
  146. }
  147. /**
  148. * 转省本级反馈
  149. */
  150. @ApiOperation(value = "转省本级反馈")
  151. @PostMapping("/sendProvince")
  152. public BaseResponse sendProvince(@RequestBody TacProvincePblmInfoFromDto dto) {
  153. return tacProvincePblmMendInfoService.sendProvinceForm(dto, getCurrentPersId(), getCurrentOrgId()) ? buildSuccessResponse() : buildFailResponse();
  154. }
  155. /**
  156. * _links
  157. */
  158. private RespDTO<TacProvincePblmMendInfo> buildLinks(RespDTO<TacProvincePblmMendInfo> result) {
  159. Link submitLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).submit(null)).withRel("submit");
  160. Link feedbackLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).feedback(null)).withRel("feedback");
  161. Link backwardLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).backward(null)).withRel("backward");
  162. Link sendCountyLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).sendCounty(null)).withRel("sendCounty");
  163. Link feedbackCityLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).feedbackCity(null)).withRel("feedbackCity");
  164. Link completeLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).complete(null)).withRel("complete");
  165. Link sendProvinceLink = linkTo(ControllerLinkBuilder.methodOn(TacProvincePblmMendInfoController.class).sendProvince(null)).withRel("sendProvince");
  166. Map<String, String> linkMap = new HashMap<>();
  167. linkMap.put("submit", submitLink.getHref().substring(submitLink.getHref().indexOf("/tac/")));
  168. linkMap.put("feedback", feedbackLink.getHref().substring(feedbackLink.getHref().indexOf("/tac/")));
  169. linkMap.put("backward", backwardLink.getHref().substring(backwardLink.getHref().indexOf("/tac/")));
  170. linkMap.put("sendCounty", sendCountyLink.getHref().substring(sendCountyLink.getHref().indexOf("/tac/")));
  171. linkMap.put("feedbackCity", feedbackCityLink.getHref().substring(feedbackCityLink.getHref().indexOf("/tac/")));
  172. linkMap.put("complete", completeLink.getHref().substring(completeLink.getHref().indexOf("/tac/")));
  173. linkMap.put("sendProvince", sendProvinceLink.getHref().substring(completeLink.getHref().indexOf("/tac/")));
  174. result.set_links(linkMap);
  175. return result;
  176. }
  177. @ApiOperation(value = "添加稽察整改问题")
  178. @RequestMapping(value = "/", method = RequestMethod.POST)
  179. public BaseResponse<List<TacProvincePblmMendInfo>> insert(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List<TacProvincePblmMendInfo> tacProvincePblmMendInfos) {
  180. for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos
  181. ) {
  182. if (StringUtils.isBlank(tacProvincePblmMendInfo.getId())) {
  183. tacProvincePblmMendInfoService.insert(tacProvincePblmMendInfo);
  184. } else {
  185. tacProvincePblmMendInfoService.update(tacProvincePblmMendInfo);
  186. }
  187. }
  188. return buildSuccessResponse(tacProvincePblmMendInfos);
  189. }
  190. @ApiOperation(value = "批量更新整改问题")
  191. @RequestMapping(value = "/batchUpdate", method = RequestMethod.POST)
  192. public BaseResponse<List<TacProvincePblmMendInfo>> batchUpdate(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List<TacProvincePblmMendInfo> tacProvincePblmMendInfos) {
  193. for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos) {
  194. tacProvincePblmMendInfoService.update(tacProvincePblmMendInfo);
  195. }
  196. return buildSuccessResponse(tacProvincePblmMendInfos);
  197. }
  198. @ApiOperation(value = "批量更新行政区划")
  199. @RequestMapping(value = "/batchAddvcd", method = RequestMethod.POST)
  200. public BaseResponse<List<TacProvincePblmMendInfo>> batchAddvcd(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List<TacProvincePblmMendInfo> tacProvincePblmMendInfos) {
  201. for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos) {
  202. int ret = tacProvincePblmMendInfoService.updateAddvcd(tacProvincePblmMendInfo);
  203. }
  204. return buildSuccessResponse(tacProvincePblmMendInfos);
  205. }
  206. @ApiOperation(value = "批量删除整改问题")
  207. @RequestMapping(value = "/batchDelete", method = RequestMethod.POST)
  208. public BaseResponse batchDelete(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody List<TacProvincePblmMendInfo> tacProvincePblmMendInfos) {
  209. for (TacProvincePblmMendInfo tacProvincePblmMendInfo : tacProvincePblmMendInfos) {
  210. tacProvincePblmMendInfoService.delete(tacProvincePblmMendInfo.getId());
  211. }
  212. return buildSuccessResponse();
  213. }
  214. @ApiOperation(value = "根据ID删除稽察整改问题")
  215. @RequestMapping(value = "delete/{id}", method = RequestMethod.POST)
  216. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  217. int ret = tacProvincePblmMendInfoService.delete(id);
  218. return buildSuccessResponse();
  219. }
  220. @ApiOperation(value = "更新稽察整改问题信息")
  221. @RequestMapping(value = "/update", method = RequestMethod.POST)
  222. public BaseResponse<TacProvincePblmMendInfo> update(@ApiParam(name = "tacProvincePblmMendInfo", value = "TacProvincePblmMendInfo", required = true) @RequestBody TacProvincePblmMendInfo tacProvincePblmMendInfo) {
  223. Assert.notNull(tacProvincePblmMendInfo.getId(), "主键id为必填参数");
  224. int ret = tacProvincePblmMendInfoService.update(tacProvincePblmMendInfo);
  225. return buildSuccessResponse(tacProvincePblmMendInfo);
  226. }
  227. }