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.github.pagehelper.PageInfo; 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.PlanQuarterStandardVo; 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"); // 项目状态(0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核) provisionalPlan.setProjectStatus("0"); return toAjax(provisionalPlanService.save(provisionalPlan)); } @ApiOperation(value = "删除临时计划", notes = "必传 plan_practical_id") @PostMapping("/deleteProvisionalPlan") @PreAuthorize("@ss.hasPermi('base:provisionalPlan:deleteProvisionalPlan')") @Log(title = ModularConstans.policy, businessType = BusinessType.DELETE) public AjaxResult deleteProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) { if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) { return error("临时计划id不能为空"); } return toAjax(provisionalPlanService.deleteProvisionalPlanById(provisionalPlan.getPlanPracticalId())); } @ApiOperation(value = "修改临时计划", notes = "必传 plan_year_id 及修改数据") @PostMapping("/updateProvisionalPlan") @PreAuthorize("@ss.hasPermi('base:provisionalPlan:updateProvisionalPlan')") @Log(title = ModularConstans.policy, businessType = BusinessType.UPDATE) public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlan) { if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) { return error("临时计划id和修改数据不能为空"); } return toAjax(provisionalPlanService.updateProvisionalPlanById(provisionalPlan)); } @ApiOperation(value = "查询临时计划") @PostMapping("/selectProvisionalPlan") public AjaxResult selectProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) { // LambdaQueryWrapper lw = new LambdaQueryWrapper(); // // 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 page = provisionalPlanService.page(new Page(provisionalPlanVo.getPageNum(), provisionalPlanVo.getPageSize()), lw); // return success(page); if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPageNum()) || StringUtils.isNull(provisionalPlanVo.getPageSize())) { throw new ServiceException("查询条件及分页不能为空!"); } PageInfo page = provisionalPlanService.selectProvisionalPlan(provisionalPlanVo); return success(page); } @ApiOperation(value = "查询临时计划-审核单位") @PostMapping("/selectProvisionalPlanAudit") public AjaxResult selectProvisionalPlanAudit(@RequestBody ProvisionalPlanVo provisionalPlanVo) { if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPageNum()) || StringUtils.isNull(provisionalPlanVo.getPageSize())) { throw new ServiceException("查询条件及分页不能为空!"); } PageInfo page = provisionalPlanService.selectProvisionalPlanAudit(provisionalPlanVo); return success(page); } @ApiOperation(value = "查询临时计划详情") @PostMapping("/selectById") public AjaxResult selectById(@RequestBody ProvisionalPlanVo provisionalPlanVo) { if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) { throw new ServiceException("id不能为空!"); } ProvisionalPlan provisionalPlan = provisionalPlanService.seletById(provisionalPlanVo.getPlanPracticalId()); return success(provisionalPlan); } @ApiOperation(value = "导入年临时计划") @PostMapping("/importProvisionalPlan") @PreAuthorize("@ss.hasPermi('base:provisionalPlan:importProvisionalPlan')") @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT) public AjaxResult importProvisionalPlan(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil util = new ExcelUtil<>(ProvisionalPlan.class); List 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 list = provisionalPlanService.selectProvisionalPlanExport(provisionalPlanVo); ExcelUtil util = new ExcelUtil<>(ProvisionalPlan.class); util.exportExcel(response, list, "临时计划数据"); } @ApiOperation(value = "提交临时计划") @PostMapping("/commitProvisionalPlan") @PreAuthorize("@ss.hasPermi('base:provisionalPlan:commitProvisionalPlan')") @Log(title = ModularConstans.policy, businessType = BusinessType.UPDATE) public AjaxResult commitProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) { if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) { return error("提交的临时计划ID不能为空!"); } return toAjax(provisionalPlanService.commitProvisionalPlan(provisionalPlanVo)); } @ApiOperation(value = "审核通过") @PostMapping("/auditPass") public AjaxResult auditPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) { if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) { return error("审核数据ID不能为空!"); } LoginUser loginUser = tokenService.getLoginUser(request); provisionalPlanVo.setUpdated(String.valueOf(loginUser.getUserId())); return provisionalPlanService.auditPass(provisionalPlanVo); } @ApiOperation(value = "审核不通过") @PostMapping("/auditNoPass") public AjaxResult auditNoPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) { if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) { return error("审核数据ID不能为空!"); } LoginUser loginUser = tokenService.getLoginUser(request); provisionalPlanVo.setUpdated(String.valueOf(loginUser.getUserId())); return provisionalPlanService.auditNoPass(provisionalPlanVo); } }