package com.huaheng.pc.system.systable.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.system.systable.domain.SysTableInfo; import com.huaheng.pc.system.systable.service.SysTableInfoService; 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; /** * Created by Enzo Cotter on 2020/3/20. */ @Controller @RequestMapping("/system/tableInfo") public class SysTableInfoController extends BaseController { @Resource private SysTableInfoService sysTableInfoService; private String prefix = "/system/table"; @RequiresPermissions("system:table:view") @GetMapping() public String sysTableInfo() { return prefix + "/table"; } /** * 查询表格列表 */ @RequiresPermissions("system:table:list") @Log(title = "系统-通用-表格", operating = "查看表格", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(SysTableInfo sysTableInfo, String createdBegin, String createdEnd) { LambdaQueryWrapper<SysTableInfo> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), SysTableInfo::getCreated, createdBegin) .le(StringUtils.isNotEmpty(createdEnd), SysTableInfo::getCreated, createdEnd) .like(StringUtils.isNotEmpty(sysTableInfo.getTableCode()), SysTableInfo::getTableCode, sysTableInfo.getTableCode()) .like(StringUtils.isNotEmpty(sysTableInfo.getTableName()), SysTableInfo::getTableName, sysTableInfo.getTableName()) .eq(StringUtils.isNotEmpty(sysTableInfo.getWarehouseCode()), SysTableInfo::getWarehouseCode, sysTableInfo.getWarehouseCode()); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { /** * 使用分页查询 */ Page<SysTableInfo> page = new Page<>(pageNum, pageSize); IPage<SysTableInfo> iPage = sysTableInfoService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<SysTableInfo> list = sysTableInfoService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增表格 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存表格 */ @RequiresPermissions("system:table:add") @Log(title = "系统-通用-表格", operating = "新增表格", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(SysTableInfo sysTableInfo) { sysTableInfo.setCreated(new Date()); sysTableInfo.setCreatedBy(ShiroUtils.getLoginName()); sysTableInfo.setLastUpdated(new Date()); sysTableInfo.setLastUpdateBy(ShiroUtils.getLoginName()); return toAjax(sysTableInfoService.save(sysTableInfo)); } /** * 修改表格 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { mmap.put("sysTableInfo", sysTableInfoService.getById(id)); return prefix + "/edit"; } /** * 修改保存表格 */ @RequiresPermissions("system:table:edit") @Log(title = "系统-通用-表格", operating = "修改表格", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(SysTableInfo sysTableInfo) { sysTableInfo.setLastUpdated(new Date()); sysTableInfo.setLastUpdateBy(ShiroUtils.getLoginName()); return toAjax(sysTableInfoService.saveOrUpdate(sysTableInfo)); } /** * 删除表格 */ @RequiresPermissions("system:table:remove") @Log(title = "系统-通用-表格", operating = "修改表格", action = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)) { return AjaxResult.error("id不能为空"); } return toAjax(sysTableInfoService.removeByIds(Arrays.asList(Convert.toIntArray(ids)))); } @GetMapping("/init") @Log(title = "系统-通用-表格", operating = "表格初始化", action = BusinessType.DELETE) @RequiresPermissions("system:table:init") @ResponseBody public AjaxResult init() { return toAjax(sysTableInfoService.init()); } }