package com.huaheng.pc.check.checkHeader.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.huaheng.common.utils.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.check.checkHeader.domain.CheckHeader; import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; import com.huaheng.pc.check.checkingRegister.domain.CheckingRegister; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Created by mahuandong Cotter on 2019/9/6. */ @Api(tags="质检单") @Controller @RequestMapping("/check/checkHeader") public class CheckHeaderController extends BaseController { @Resource private CheckHeaderService checkHeaderService; private String prefix = "check/checkHeader"; @RequiresPermissions("check:checkHeader:view") @GetMapping("{type}") public String checkingRegister(@PathVariable("type")String type, ModelMap modelMap) { modelMap.put("type", type); return prefix + "/checkHeader"; } /** * 查询质检头 */ @RequiresPermissions("check:checkHeader:list") @Log(title = "质检-质检头表", operating = "查看质检头表", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(@ApiParam(name="checkHeader",value="质检头表") CheckHeader checkHeader, @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { LambdaQueryWrapper<CheckHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); List<Integer> types = new ArrayList<>(); if (StringUtils.isNotEmpty(checkHeader.getType())){ types = Arrays.asList(Convert.toIntArray(checkHeader.getType())); } lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), CheckHeader::getCreated, createdBegin) .le(StringUtils.isNotEmpty(createdEnd), CheckHeader::getCreated, createdEnd) .eq(CheckHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) .eq(StringUtils.isNotEmpty(checkHeader.getCode()), CheckHeader::getCode, checkHeader.getCode()) .eq(StringUtils.isNotEmpty(checkHeader.getReferCode()), CheckHeader::getReferCode, checkHeader.getReferCode()) .eq(StringUtils.isNotEmpty(checkHeader.getStatus()), CheckHeader::getStatus, checkHeader.getStatus()) .in(StringUtils.isNotEmpty(checkHeader.getType()), CheckHeader::getType, types) .orderByDesc(CheckHeader::getCreated); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ // 使用分页查询 Page<CheckHeader> page = new Page<>(pageNum, pageSize); IPage<CheckHeader> iPage = checkHeaderService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<CheckHeader> list = checkHeaderService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增质检头表 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存质检头 */ @ApiOperation(value="新增质检头 ", notes="新增质检头 ", httpMethod = "POST") @RequiresPermissions("check:checkHeader:add") @Log(title = "质检-质检头 ",operating = "新增质检头 ", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(CheckHeader checkHeader) { return toAjax(checkHeaderService.save(checkHeader)); } /** * 修改质检头表 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { CheckHeader checkHeader = checkHeaderService.getById(id); mmap.put("checkHeader", checkHeader); return prefix + "/edit"; } /** * 修改保存质检表 */ @ApiOperation(value="修改质检头", notes="修改质检头", httpMethod = "POST") @RequiresPermissions("check:checkHeader:edit") @Log(title = "质检-质检头 ",operating = "修改质检头 ", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(CheckHeader checkHeader) { checkHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); return toAjax(checkHeaderService.updateById(checkHeader)); } /** * 删除质检头 */ @ApiOperation(value="删除质检头", notes="删除质检头", httpMethod = "POST") @RequiresPermissions("check:checkHeader:remove") @Log(title = "质检-质检头 ",operating = "质检头删除", action = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(@ApiParam(name = "id", value = "质检头表id字符串")String ids){ if (StringUtils.isNull(ids)){ return AjaxResult.error("id为空"); } return toAjax(checkHeaderService.removeByIds(Arrays.asList(Convert.toIntArray(ids)))); } }