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