package com.huaheng.pc.config.waveFlowHeader.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.config.waveFlowHeader.domain.WaveFlowHeader; import com.huaheng.pc.config.waveFlowHeader.service.WaveFlowHeaderService; import io.swagger.annotations.Api; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; /** * 波次流头表 * @author ricard * @date 19.8.26 * */ @Api(tags={"波次流头表"}) @Controller @RequestMapping("/config/waveFlowHeader") public class WaveFlowHeaderController extends BaseController { private String prefix = "config/waveFlowHeader"; @Autowired private WaveFlowHeaderService waveFlowHeaderService; @RequiresPermissions("config:waveFlowHeader:view") @GetMapping() public String waveFlowHeader() { return prefix + "/waveFlowHeader"; } /** * 查询波次流头表 */ @RequiresPermissions("config:waveFlowHeader:list") @Log(title = "出库-波次流头表", operating="查看波次流头表", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(WaveFlowHeader waveFlowHeader, String createdBegin, String createdEnd) { LambdaQueryWrapper<WaveFlowHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), WaveFlowHeader::getCreated, createdBegin) .le(StringUtils.isNotEmpty(createdEnd), WaveFlowHeader::getCreated, createdEnd) .eq(WaveFlowHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) .eq(StringUtils.isNotEmpty(waveFlowHeader.getCode() ), WaveFlowHeader::getCode,waveFlowHeader.getCode()); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /** * 使用分页查询 */ Page<WaveFlowHeader> page = new Page<>(pageNum, pageSize); IPage<WaveFlowHeader> iPage = waveFlowHeaderService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(),iPage.getTotal()); } else { List<WaveFlowHeader> list = waveFlowHeaderService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增波次流头表 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增波次流头表 */ @RequiresPermissions("config:waveFlowHeader:add") @Log(title = "配置-波次流头表", operating = "新增波次流头表", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(WaveFlowHeader waveFlowHeader){ waveFlowHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); waveFlowHeader.setCreatedBy(ShiroUtils.getLoginName()); waveFlowHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); return toAjax(waveFlowHeaderService.save(waveFlowHeader)); } /** * 修改波次流头表 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { mmap.put("waveFlowHeader", waveFlowHeaderService.getById(id)); return prefix + "/edit"; } /** * 修改波次流头表 */ @RequiresPermissions("config:waveFlowHeader:edit") @Log(title = "通用-波次流头表", operating = "修改波次流头表", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(WaveFlowHeader waveFlowHeader) { waveFlowHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); return toAjax(waveFlowHeaderService.updateById(waveFlowHeader)); } /** * 删除波次流头表 */ @RequiresPermissions("config:waveFlowHeader:remove") @Log(title = "配置-波次流头表", operating = "删除波次流头表", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)){ return AjaxResult.error("id不能为空"); } List<Integer> list = new ArrayList<>(); for (Integer id : Convert.toIntArray(ids)) { list.add(id); } return toAjax(waveFlowHeaderService.removeByIds(list)); } }