ProvisionalPlanController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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.github.pagehelper.PageInfo;
  6. import com.ozs.common.annotation.Log;
  7. import com.ozs.common.constant.ModularConstans;
  8. import com.ozs.common.core.controller.BaseController;
  9. import com.ozs.common.core.domain.AjaxResult;
  10. import com.ozs.common.core.domain.model.LoginUser;
  11. import com.ozs.common.enums.BusinessType;
  12. import com.ozs.common.exception.ServiceException;
  13. import com.ozs.common.utils.StringUtils;
  14. import com.ozs.common.utils.poi.ExcelUtil;
  15. import com.ozs.framework.web.service.TokenService;
  16. import com.ozs.plan.doman.PlanYears;
  17. import com.ozs.plan.doman.ProvisionalPlan;
  18. import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
  19. import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
  20. import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
  21. import com.ozs.plan.service.ProvisionalPlanService;
  22. import io.swagger.annotations.Api;
  23. import io.swagger.annotations.ApiOperation;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.security.access.prepost.PreAuthorize;
  26. import org.springframework.util.ObjectUtils;
  27. import org.springframework.web.bind.annotation.PostMapping;
  28. import org.springframework.web.bind.annotation.RequestBody;
  29. import org.springframework.web.bind.annotation.RequestMapping;
  30. import org.springframework.web.bind.annotation.RestController;
  31. import org.springframework.web.multipart.MultipartFile;
  32. import javax.servlet.http.HttpServletRequest;
  33. import javax.servlet.http.HttpServletResponse;
  34. import java.util.Date;
  35. import java.util.List;
  36. /**
  37. * 临时计划
  38. *
  39. * @author sunhh
  40. */
  41. @Api(tags = "临时计划")
  42. @RestController
  43. @RequestMapping("/plan/provisionalPlan")
  44. public class ProvisionalPlanController extends BaseController {
  45. @Autowired
  46. private ProvisionalPlanService provisionalPlanService;
  47. @Autowired
  48. private TokenService tokenService;
  49. @ApiOperation(value = "新增临时计划")
  50. @PostMapping("/insertProvisionalPlan")
  51. @PreAuthorize("@ss.hasPermi('base:provisionalPlan:insertProvisionalPlan')")
  52. @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT)
  53. public AjaxResult insertProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan, HttpServletRequest request) {
  54. //获取采购单位
  55. LoginUser loginUser = tokenService.getLoginUser(request);
  56. provisionalPlan.setPurchaseDeptId(loginUser.getDeptId());
  57. provisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
  58. provisionalPlan.setCreateTime(new Date());
  59. // planType计划类型(0:季度计划,1:临时计划)
  60. provisionalPlan.setPlanType("1");
  61. // 项目状态(0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
  62. provisionalPlan.setProjectStatus("0");
  63. return toAjax(provisionalPlanService.save(provisionalPlan));
  64. }
  65. @ApiOperation(value = "删除临时计划", notes = "必传 plan_practical_id")
  66. @PostMapping("/deleteProvisionalPlan")
  67. @PreAuthorize("@ss.hasPermi('base:provisionalPlan:deleteProvisionalPlan')")
  68. @Log(title = ModularConstans.policy, businessType = BusinessType.DELETE)
  69. public AjaxResult deleteProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) {
  70. if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {
  71. return error("临时计划id不能为空");
  72. }
  73. return toAjax(provisionalPlanService.deleteProvisionalPlanById(provisionalPlan.getPlanPracticalId()));
  74. }
  75. @ApiOperation(value = "修改临时计划", notes = "必传 plan_year_id 及修改数据")
  76. @PostMapping("/updateProvisionalPlan")
  77. @PreAuthorize("@ss.hasPermi('base:provisionalPlan:updateProvisionalPlan')")
  78. @Log(title = ModularConstans.policy, businessType = BusinessType.UPDATE)
  79. public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlan) {
  80. if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {
  81. return error("临时计划id和修改数据不能为空");
  82. }
  83. return toAjax(provisionalPlanService.updateProvisionalPlanById(provisionalPlan));
  84. }
  85. @ApiOperation(value = "查询临时计划")
  86. @PostMapping("/selectProvisionalPlan")
  87. public AjaxResult selectProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
  88. // LambdaQueryWrapper<ProvisionalPlan> lw = new LambdaQueryWrapper<ProvisionalPlan>();
  89. // // planType计划类型(0:季度计划,1:临时计划)
  90. // lw.eq(ProvisionalPlan::getPlanType, "1");
  91. // if (!StringUtils.isBlank(provisionalPlanVo.getProjectName())) {
  92. // lw.like(ProvisionalPlan::getProjectName, provisionalPlanVo.getProjectName());
  93. // }
  94. // if (!StringUtils.isBlank(provisionalPlanVo.getPurchaseServices())) {
  95. // lw.eq(ProvisionalPlan::getPurchaseServices, provisionalPlanVo.getPurchaseServices());
  96. // }
  97. // if (!ObjectUtils.isEmpty(provisionalPlanVo.getProjectStatus())) {
  98. // lw.eq(ProvisionalPlan::getProjectStatus, provisionalPlanVo.getProjectStatus());
  99. // }
  100. // if (!ObjectUtils.isEmpty(provisionalPlanVo.getStartTime()) || !ObjectUtils.isEmpty(provisionalPlanVo.getEndTime())) {
  101. // lw.between(ProvisionalPlan::getPlanDemandSubTime, provisionalPlanVo.getStartTime(), provisionalPlanVo.getEndTime());
  102. // }
  103. // IPage<ProvisionalPlan> page = provisionalPlanService.page(new Page<ProvisionalPlan>(provisionalPlanVo.getPageNum(), provisionalPlanVo.getPageSize()), lw);
  104. // return success(page);
  105. if (StringUtils.isNull(provisionalPlanVo)
  106. || StringUtils.isNull(provisionalPlanVo.getPageNum())
  107. || StringUtils.isNull(provisionalPlanVo.getPageSize())) {
  108. throw new ServiceException("查询条件及分页不能为空!");
  109. }
  110. PageInfo<ProvisionalPlan> page = provisionalPlanService.selectProvisionalPlan(provisionalPlanVo);
  111. return success(page);
  112. }
  113. @ApiOperation(value = "查询临时计划-审核单位")
  114. @PostMapping("/selectProvisionalPlanAudit")
  115. public AjaxResult selectProvisionalPlanAudit(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
  116. if (StringUtils.isNull(provisionalPlanVo)
  117. || StringUtils.isNull(provisionalPlanVo.getPageNum())
  118. || StringUtils.isNull(provisionalPlanVo.getPageSize())) {
  119. throw new ServiceException("查询条件及分页不能为空!");
  120. }
  121. PageInfo<ProvisionalPlan> page = provisionalPlanService.selectProvisionalPlanAudit(provisionalPlanVo);
  122. return success(page);
  123. }
  124. @ApiOperation(value = "查询临时计划详情")
  125. @PostMapping("/selectById")
  126. public AjaxResult selectById(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
  127. if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
  128. throw new ServiceException("id不能为空!");
  129. }
  130. ProvisionalPlan provisionalPlan = provisionalPlanService.seletById(provisionalPlanVo.getPlanPracticalId());
  131. return success(provisionalPlan);
  132. }
  133. @ApiOperation(value = "导入年临时计划")
  134. @PostMapping("/importProvisionalPlan")
  135. @PreAuthorize("@ss.hasPermi('base:provisionalPlan:importProvisionalPlan')")
  136. @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT)
  137. public AjaxResult importProvisionalPlan(MultipartFile file, boolean updateSupport) throws Exception {
  138. ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
  139. List<ProvisionalPlan> provisionalPlans = util.importExcel(file.getInputStream());
  140. if (StringUtils.isNull(provisionalPlans) || provisionalPlans.size() == 0) {
  141. throw new ServiceException("导入临时计划数据不能为空!");
  142. }
  143. //获取采购单位-
  144. LoginUser loginUser = getLoginUser();
  145. String message = provisionalPlanService.importProvisionalPlan(provisionalPlans, updateSupport, loginUser);
  146. return success(message);
  147. }
  148. @ApiOperation(value = "导出临时计划")
  149. @PostMapping("/exportProvisionalPlan")
  150. public void exportProvisionalPlan(HttpServletResponse response, @RequestBody ProvisionalPlanVo provisionalPlanVo) throws Exception {
  151. List<ProvisionalPlan> list = provisionalPlanService.selectProvisionalPlanExport(provisionalPlanVo);
  152. ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
  153. util.exportExcel(response, list, "临时计划数据");
  154. }
  155. @ApiOperation(value = "提交临时计划")
  156. @PostMapping("/commitProvisionalPlan")
  157. @PreAuthorize("@ss.hasPermi('base:provisionalPlan:commitProvisionalPlan')")
  158. @Log(title = ModularConstans.policy, businessType = BusinessType.UPDATE)
  159. public AjaxResult commitProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
  160. if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
  161. return error("提交的临时计划ID不能为空!");
  162. }
  163. return toAjax(provisionalPlanService.commitProvisionalPlan(provisionalPlanVo));
  164. }
  165. @ApiOperation(value = "审核通过")
  166. @PostMapping("/auditPass")
  167. public AjaxResult auditPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) {
  168. if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
  169. return error("审核数据ID不能为空!");
  170. }
  171. LoginUser loginUser = tokenService.getLoginUser(request);
  172. provisionalPlanVo.setUpdated(String.valueOf(loginUser.getUserId()));
  173. return provisionalPlanService.auditPass(provisionalPlanVo);
  174. }
  175. @ApiOperation(value = "审核不通过")
  176. @PostMapping("/auditNoPass")
  177. public AjaxResult auditNoPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) {
  178. if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
  179. return error("审核数据ID不能为空!");
  180. }
  181. LoginUser loginUser = tokenService.getLoginUser(request);
  182. provisionalPlanVo.setUpdated(String.valueOf(loginUser.getUserId()));
  183. return provisionalPlanService.auditNoPass(provisionalPlanVo);
  184. }
  185. }