CheckingRegisterController.java 7.52 KB
package com.huaheng.pc.check.checkingRegister.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ser.Serializers;
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.checkingRegister.domain.CheckingRegister;
import com.huaheng.pc.check.checkingRegister.service.CheckingRegisterService;
import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
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.Arrays;
import java.util.List;

/**
 * 质检报告
 * Created by mahuandong Cotter on 2019/9/6.
 */
@Api(tags = "质检报告")
@Controller
@RequestMapping("/check/checkingRegister")
public class CheckingRegisterController extends BaseController {

    @Resource
    private CheckingRegisterService checkingRegisterService;

    private String prefix = "check/checkingRegister";

    @RequiresPermissions("check:checkingRegister:view")
    @GetMapping()
    public String checkingRegister()
    {
        return prefix + "/checkingRegister";
    }

    /**
     * 查询质检报告
     */
    @RequiresPermissions("check:checkingRegister:list")
    @Log(title = "质检-质检报告头表", operating = "查看质检报告列表", action = BusinessType.GRANT)
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(@ApiParam(name="receiptDetail",value="质检头表") CheckingRegister checkingRegister,
                              @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin,
                              @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) {
        LambdaQueryWrapper<CheckingRegister> lambdaQueryWrapper = Wrappers.lambdaQuery();
        PageDomain pageDomain = TableSupport.buildPageRequest();
        Integer pageNum = pageDomain.getPageNum();
        Integer pageSize = pageDomain.getPageSize();

        lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), CheckingRegister::getCreated, createdBegin)
                .le(StringUtils.isNotEmpty(createdEnd), CheckingRegister::getCreated, createdEnd)
                .in(CheckingRegister::getCompanyCode, ShiroUtils.getCompanyCodeList())
                .eq(CheckingRegister::getWarehouseCode, ShiroUtils.getWarehouseCode())
                .eq(StringUtils.isNotNull(checkingRegister.getReceiptDetailId()),
                        CheckingRegister::getReceiptDetailId, checkingRegister.getReceiptDetailId())
                .eq(StringUtils.isNotEmpty(checkingRegister.getReceiptCode()),
                        CheckingRegister::getReceiptCode, checkingRegister.getReceiptCode())
                .eq(StringUtils.isNotEmpty(checkingRegister.getReferCode()),
                        CheckingRegister::getReceiptCode, checkingRegister.getReceiptCode())
                .eq(StringUtils.isNotNull(checkingRegister.getReferLineId()),
                        CheckingRegister::getReferLineId, checkingRegister.getReferLineId())
                .eq(StringUtils.isNotEmpty(checkingRegister.getReferPlatform()),
                        CheckingRegister::getReferPlatform, checkingRegister.getReferPlatform())
                .eq(StringUtils.isNotEmpty(checkingRegister.getMaterialCode()),
                        CheckingRegister::getMaterialCode, checkingRegister.getMaterialCode())
                .eq(StringUtils.isNotEmpty(checkingRegister.getMaterialName()),
                        CheckingRegister::getMaterialName, checkingRegister.getMaterialName())
                .eq(StringUtils.isNotEmpty(checkingRegister.getInventorySts()),
                        CheckingRegister::getInventorySts, checkingRegister.getInventorySts())
                .eq(StringUtils.isNotEmpty(checkingRegister.getCheckBy()),
                        CheckingRegister::getCheckAt, checkingRegister.getCheckAt())
                .orderByDesc(CheckingRegister::getCheckAt)
                .orderByDesc(CheckingRegister::getReceiptDetailId);

        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
            // 使用分页查询
            Page<CheckingRegister> page = new Page<>(pageNum, pageSize);
            IPage<CheckingRegister> iPage = checkingRegisterService.page(page, lambdaQueryWrapper);
            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
        } else {
            List<CheckingRegister> list = checkingRegisterService.list(lambdaQueryWrapper);
            return getDataTable(list);
        }
    }

    /**
     * 新增质检报告
     */
    @GetMapping("/add")
    public String add() {
        return prefix + "/add";
    }

    /**
     * 新增保存质检报告
     */
    @ApiOperation(value="新增质检报告 ", notes="新增质检报告 ", httpMethod = "POST")
    @RequiresPermissions("check:checkingRegister:add")
    @Log(title = "质检-质检报告 ",operating = "新增质检报告 ", action = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(CheckingRegister checkingRegister) {
        return toAjax(checkingRegisterService.save(checkingRegister));
    }

    /**
     * 修改质检报告
     */
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
        CheckingRegister checkingRegister = checkingRegisterService.getById(id);
        mmap.put("checkingRegister", checkingRegister);
        return prefix + "/edit";
    }

    /**
     * 修改保存质检报告
     */
    @ApiOperation(value="修改质检报告", notes="修改质检报告", httpMethod = "POST")
    @RequiresPermissions("check:checkingRegister:edit")
    @Log(title = "质检-质检报告 ",operating = "修改质检报告 ", action = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(CheckingRegister checkingRegister) {
        checkingRegister.setCheckBy(ShiroUtils.getLoginName());
        checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName());
        return toAjax(checkingRegisterService.updateById(checkingRegister));
    }

    /**
     * 删除质检报告
     */
    @ApiOperation(value="删除质检报告", notes="删除质检报告", httpMethod = "POST")
    @RequiresPermissions("check:checkingRegister:remove")
    @Log(title = "质检-质检报告 ",operating = "质检报告删除", action = BusinessType.UPDATE)
    @PostMapping("/remove")
    @ResponseBody
    public AjaxResult remove(@ApiParam(name = "id", value = "质检头表id字符串")String ids){
        if (StringUtils.isNull(ids)){
            return AjaxResult.error("id为空");
        }
        return toAjax(checkingRegisterService.removeByIds(Arrays.asList(Convert.toIntArray(ids))));
    }

}