123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package com.ozs.web.controller.plan;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ozs.common.annotation.Log;
- import com.ozs.common.constant.ModularConstans;
- import com.ozs.common.core.controller.BaseController;
- import com.ozs.common.core.domain.AjaxResult;
- import com.ozs.common.core.domain.model.LoginUser;
- import com.ozs.common.enums.BusinessType;
- import com.ozs.common.exception.ServiceException;
- import com.ozs.common.utils.StringUtils;
- import com.ozs.common.utils.poi.ExcelUtil;
- import com.ozs.framework.web.service.TokenService;
- import com.ozs.plan.doman.PlanYears;
- import com.ozs.plan.doman.ProvisionalPlan;
- import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
- import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
- import com.ozs.plan.service.ProvisionalPlanService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.util.ObjectUtils;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.Date;
- import java.util.List;
- /**
- * 临时计划
- *
- * @author sunhh
- */
- @Api(tags = "临时计划")
- @RestController
- @RequestMapping("/plan/provisionalPlan")
- public class ProvisionalPlanController extends BaseController {
- @Autowired
- private ProvisionalPlanService provisionalPlanService;
- @Autowired
- private TokenService tokenService;
- @ApiOperation(value = "新增临时计划")
- @PostMapping("/insertProvisionalPlan")
- @PreAuthorize("@ss.hasPermi('base:provisionalPlan:insertProvisionalPlan')")
- @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT)
- public AjaxResult insertProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan, HttpServletRequest request) {
- //获取采购单位
- LoginUser loginUser = tokenService.getLoginUser(request);
- provisionalPlan.setPurchaseDeptId(loginUser.getDeptId());
- provisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
- provisionalPlan.setCreateTime(new Date());
- // planType计划类型(0:季度计划,1:临时计划)
- provisionalPlan.setPlanType("1");
- return toAjax(provisionalPlanService.save(provisionalPlan));
- }
- @ApiOperation(value = "删除临时计划", notes = "必传 plan_year_id")
- @PostMapping("/deleteProvisionalPlan")
- public AjaxResult deleteProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) {
- if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanYearId())) {
- return error("专家库id不能为空");
- }
- return toAjax(provisionalPlanService.deleteProvisionalPlanById(provisionalPlan.getPlanYearId()));
- }
- @ApiOperation(value = "修改临时计划", notes = "必传 plan_year_id 及修改数据")
- @PostMapping("/updateProvisionalPlan")
- public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) {
- if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanYearId())) {
- return error("专家库id和修改数据不能为空");
- }
- return toAjax(provisionalPlanService.updateProvisionalPlanById(provisionalPlan));
- }
- @ApiOperation(value = "查询临时计划")
- @PostMapping("/selectProvisionalPlan")
- public AjaxResult selectProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
- LambdaQueryWrapper<ProvisionalPlan> lw = new LambdaQueryWrapper<ProvisionalPlan>();
- // planType计划类型(0:季度计划,1:临时计划)
- lw.eq(ProvisionalPlan::getPlanType, "1");
- if (!StringUtils.isBlank(provisionalPlanVo.getProjectName())) {
- lw.like(ProvisionalPlan::getProjectName, provisionalPlanVo.getProjectName());
- }
- if (!StringUtils.isBlank(provisionalPlanVo.getPurchaseServices())) {
- lw.eq(ProvisionalPlan::getPurchaseServices, provisionalPlanVo.getPurchaseServices());
- }
- if (!ObjectUtils.isEmpty(provisionalPlanVo.getProjectStatus())) {
- lw.eq(ProvisionalPlan::getProjectStatus, provisionalPlanVo.getProjectStatus());
- }
- if (!ObjectUtils.isEmpty(provisionalPlanVo.getStartTime()) || !ObjectUtils.isEmpty(provisionalPlanVo.getEndTime())) {
- lw.between(ProvisionalPlan::getPlanDemandSubTime, provisionalPlanVo.getStartTime(), provisionalPlanVo.getEndTime());
- }
- IPage<ProvisionalPlan> page = provisionalPlanService.page(new Page<ProvisionalPlan>(provisionalPlanVo.getPageNum(), provisionalPlanVo.getPageSize()), lw);
- return success(page);
- }
- @ApiOperation(value = "导入年临时计划")
- @PostMapping("/importProvisionalPlan")
- public AjaxResult importProvisionalPlan(MultipartFile file, boolean updateSupport) throws Exception {
- ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
- List<ProvisionalPlan> provisionalPlans = util.importExcel(file.getInputStream());
- if (StringUtils.isNull(provisionalPlans) || provisionalPlans.size() == 0) {
- throw new ServiceException("导入临时计划数据不能为空!");
- }
- //获取采购单位-
- LoginUser loginUser = getLoginUser();
- String message = provisionalPlanService.importProvisionalPlan(provisionalPlans, updateSupport, loginUser);
- return success(message);
- }
- @ApiOperation(value = "导出临时计划")
- @PostMapping("/exportProvisionalPlan")
- public void exportProvisionalPlan(HttpServletResponse response, @RequestBody ProvisionalPlanVo provisionalPlanVo) throws Exception {
- List<ProvisionalPlan> list = provisionalPlanService.selectProvisionalPlanExport(provisionalPlanVo);
- ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
- util.exportExcel(response, list, "临时计划数据");
- }
- }
|