ProvisionalPlanController.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.ozs.web.controller.plan;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.ozs.common.annotation.Log;
  6. import com.ozs.common.constant.ModularConstans;
  7. import com.ozs.common.core.controller.BaseController;
  8. import com.ozs.common.core.domain.AjaxResult;
  9. import com.ozs.common.core.domain.model.LoginUser;
  10. import com.ozs.common.enums.BusinessType;
  11. import com.ozs.common.exception.ServiceException;
  12. import com.ozs.common.utils.StringUtils;
  13. import com.ozs.common.utils.poi.ExcelUtil;
  14. import com.ozs.framework.web.service.TokenService;
  15. import com.ozs.plan.doman.PlanYears;
  16. import com.ozs.plan.doman.ProvisionalPlan;
  17. import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
  18. import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
  19. import com.ozs.plan.service.ProvisionalPlanService;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.security.access.prepost.PreAuthorize;
  24. import org.springframework.util.ObjectUtils;
  25. import org.springframework.web.bind.annotation.PostMapping;
  26. import org.springframework.web.bind.annotation.RequestBody;
  27. import org.springframework.web.bind.annotation.RequestMapping;
  28. import org.springframework.web.bind.annotation.RestController;
  29. import org.springframework.web.multipart.MultipartFile;
  30. import javax.servlet.http.HttpServletRequest;
  31. import javax.servlet.http.HttpServletResponse;
  32. import java.util.Date;
  33. import java.util.List;
  34. /**
  35. * 临时计划
  36. *
  37. * @author sunhh
  38. */
  39. @Api(tags = "临时计划")
  40. @RestController
  41. @RequestMapping("/plan/provisionalPlan")
  42. public class ProvisionalPlanController extends BaseController {
  43. @Autowired
  44. private ProvisionalPlanService provisionalPlanService;
  45. @Autowired
  46. private TokenService tokenService;
  47. @ApiOperation(value = "新增临时计划")
  48. @PostMapping("/insertProvisionalPlan")
  49. @PreAuthorize("@ss.hasPermi('base:provisionalPlan:insertProvisionalPlan')")
  50. @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT)
  51. public AjaxResult insertProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan, HttpServletRequest request) {
  52. //获取采购单位
  53. LoginUser loginUser = tokenService.getLoginUser(request);
  54. provisionalPlan.setPurchaseDeptId(loginUser.getDeptId());
  55. provisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
  56. provisionalPlan.setCreateTime(new Date());
  57. // planType计划类型(0:季度计划,1:临时计划)
  58. provisionalPlan.setPlanType("1");
  59. return toAjax(provisionalPlanService.save(provisionalPlan));
  60. }
  61. @ApiOperation(value = "删除临时计划", notes = "必传 plan_year_id")
  62. @PostMapping("/deleteProvisionalPlan")
  63. public AjaxResult deleteProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) {
  64. if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanYearId())) {
  65. return error("专家库id不能为空");
  66. }
  67. return toAjax(provisionalPlanService.deleteProvisionalPlanById(provisionalPlan.getPlanYearId()));
  68. }
  69. @ApiOperation(value = "修改临时计划", notes = "必传 plan_year_id 及修改数据")
  70. @PostMapping("/updateProvisionalPlan")
  71. public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) {
  72. if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanYearId())) {
  73. return error("专家库id和修改数据不能为空");
  74. }
  75. return toAjax(provisionalPlanService.updateProvisionalPlanById(provisionalPlan));
  76. }
  77. @ApiOperation(value = "查询临时计划")
  78. @PostMapping("/selectProvisionalPlan")
  79. public AjaxResult selectProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
  80. LambdaQueryWrapper<ProvisionalPlan> lw = new LambdaQueryWrapper<ProvisionalPlan>();
  81. // planType计划类型(0:季度计划,1:临时计划)
  82. lw.eq(ProvisionalPlan::getPlanType, "1");
  83. if (!StringUtils.isBlank(provisionalPlanVo.getProjectName())) {
  84. lw.like(ProvisionalPlan::getProjectName, provisionalPlanVo.getProjectName());
  85. }
  86. if (!StringUtils.isBlank(provisionalPlanVo.getPurchaseServices())) {
  87. lw.eq(ProvisionalPlan::getPurchaseServices, provisionalPlanVo.getPurchaseServices());
  88. }
  89. if (!ObjectUtils.isEmpty(provisionalPlanVo.getProjectStatus())) {
  90. lw.eq(ProvisionalPlan::getProjectStatus, provisionalPlanVo.getProjectStatus());
  91. }
  92. if (!ObjectUtils.isEmpty(provisionalPlanVo.getStartTime()) || !ObjectUtils.isEmpty(provisionalPlanVo.getEndTime())) {
  93. lw.between(ProvisionalPlan::getPlanDemandSubTime, provisionalPlanVo.getStartTime(), provisionalPlanVo.getEndTime());
  94. }
  95. IPage<ProvisionalPlan> page = provisionalPlanService.page(new Page<ProvisionalPlan>(provisionalPlanVo.getPageNum(), provisionalPlanVo.getPageSize()), lw);
  96. return success(page);
  97. }
  98. @ApiOperation(value = "导入年临时计划")
  99. @PostMapping("/importProvisionalPlan")
  100. public AjaxResult importProvisionalPlan(MultipartFile file, boolean updateSupport) throws Exception {
  101. ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
  102. List<ProvisionalPlan> provisionalPlans = util.importExcel(file.getInputStream());
  103. if (StringUtils.isNull(provisionalPlans) || provisionalPlans.size() == 0) {
  104. throw new ServiceException("导入临时计划数据不能为空!");
  105. }
  106. //获取采购单位-
  107. LoginUser loginUser = getLoginUser();
  108. String message = provisionalPlanService.importProvisionalPlan(provisionalPlans, updateSupport, loginUser);
  109. return success(message);
  110. }
  111. @ApiOperation(value = "导出临时计划")
  112. @PostMapping("/exportProvisionalPlan")
  113. public void exportProvisionalPlan(HttpServletResponse response, @RequestBody ProvisionalPlanVo provisionalPlanVo) throws Exception {
  114. List<ProvisionalPlan> list = provisionalPlanService.selectProvisionalPlanExport(provisionalPlanVo);
  115. ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
  116. util.exportExcel(response, list, "临时计划数据");
  117. }
  118. }