SnRemarkController.java 4.56 KB
package com.huaheng.pc.config.sn.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.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
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.config.sn.domain.Sn;
import com.huaheng.pc.config.sn.domain.SnPartDetailHistory;
import com.huaheng.pc.config.sn.domain.SnRemark;
import com.huaheng.pc.config.sn.service.SnPartDetailHistoryService;
import com.huaheng.pc.config.sn.service.SnRemarkService;
import com.huaheng.pc.config.sn.service.SnService;
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.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

@Controller
@RequestMapping("/config/snRemark")
public class SnRemarkController extends BaseController {

    @Resource
    private SnRemarkService snRemarkService;





    private String prefix = "config/sn";

    @RequiresPermissions("config:sn:view")
    @GetMapping()
    public String snView() {
        return prefix + "/snRemark";
    }



    /**
     * 查询出库类型
     */
    @RequiresPermissions("config:sn:list")
    @Log(title = "配置-出库类型",operating = "出库类型列表", action = BusinessType.GRANT)
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list( SnRemark snRemark,
                               String createdBegin,
                               String createdEnd) {
        LambdaQueryWrapper<SnRemark> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        PageDomain pageDomain = TableSupport.buildPageRequest();
        Integer pageNum = pageDomain.getPageNum();
        Integer pageSize = pageDomain.getPageSize();
        lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), SnRemark::getCreated, createdBegin)
                .lt(StringUtils.isNotEmpty(createdEnd), SnRemark::getCreated, createdEnd)
                .eq(StringUtils.isNotEmpty(snRemark.getOperation()), SnRemark::getOperation, snRemark.getOperation())
                .like(StringUtils.isNotEmpty(snRemark.getRemark()), SnRemark::getRemark, snRemark.getRemark())
                .like(StringUtils.isNotEmpty(snRemark.getSnCode()), SnRemark::getSnCode, snRemark.getSnCode());
        lambdaQueryWrapper.orderByDesc(SnRemark::getCreated);
        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
            /*使用分页查询*/
            Page<SnRemark> page = new Page<>(pageNum, pageSize);
            IPage<SnRemark> iPage = snRemarkService.page(page, lambdaQueryWrapper);
            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
        } else {
            List<SnRemark> list = snRemarkService.list(lambdaQueryWrapper);
            return getDataTable(list);
        }
    }

    /**
     * 新增出库类型
     */
    @GetMapping("/add")
    public String add() {
        return prefix + "/snRemarkAdd";
    }

    /**
     * 新增
     */
    @RequiresPermissions("config:sn:add")
    @Log(title = "配置-出库类型",operating = "新增出库类型", action = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(SnRemark sn) {
        return snRemarkService.createdSnReamrk(sn.getSnCode(),sn.getRemark(),sn.getOperation());
    }
    /**
     * 新增
     */
    @RequiresPermissions("config:sn:add")
    @Log(title = "配置-出库类型",operating = "新增出库类型", action = BusinessType.INSERT)
    @PostMapping("/pdaAdd")
    @ResponseBody
    @ApiLogger(apiName = "新增SN备注", from = "WMSS")
    public AjaxResult pdaAdd(@RequestBody SnRemark sn) {
        return snRemarkService.createdSnReamrk(sn.getSnCode(),sn.getRemark(), QuantityConstant.SN_TYPE_INVENTORY);
    }

}