package com.huaheng.pc.config.excelTemplate.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.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.excelTemplate.domain.ExcelTemplate; import com.huaheng.pc.config.excelTemplate.service.ExcelTemplateService; 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.List; @Controller @RequestMapping("/config/excelTemplate") public class excelTemplateController extends BaseController { @Resource private ExcelTemplateService excelTemplateService; private String prefix ="/config/excelTemplate"; @RequiresPermissions("config:excelTemplate:view") @GetMapping() public String receiptDetailHistory() { return prefix + "/excelTemplate"; } /** * 查询导入 */ @ApiOperation(value="查看导入列表", notes="根据名称、创建时间获取导入", httpMethod = "POST") @RequiresPermissions("config:excelTemplate:list") @Log(title = "配置-导入模板",operating = "导入模板列表", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(@ApiParam(name="ExcelTemplate",value="名称") ExcelTemplate excelTemplate, @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { LambdaQueryWrapper<ExcelTemplate> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), ExcelTemplate::getCreated, createdBegin) .lt(StringUtils.isNotEmpty(createdEnd), ExcelTemplate::getCreated, createdEnd) .like(StringUtils.isNotEmpty(excelTemplate.getName()), ExcelTemplate::getName, excelTemplate.getName()) .eq(ExcelTemplate::getWarehouseCode, ShiroUtils.getWarehouseCode()) .in(ExcelTemplate::getCompanyCode, ShiroUtils.getCompanyCodeList()); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ Page<ExcelTemplate> page = new Page<>(pageNum, pageSize); IPage<ExcelTemplate> iPage = excelTemplateService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<ExcelTemplate> list = excelTemplateService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增导入模板列表 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存导入模板列表 */ @ApiOperation(value="新增保存导入模板列表", notes="新增保存导入模板列表", httpMethod = "POST") @RequiresPermissions("config:excelTemplate:add") @Log(title = "配置-导入模板列表",operating = "新增保存导入模板列表", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(ExcelTemplate excelTemplate) { excelTemplate.setWarehouseCode(ShiroUtils.getWarehouseCode()); excelTemplate.setCreatedBy(ShiroUtils.getLoginName()); excelTemplate.setLastUpdatedBy(ShiroUtils.getLoginName()); return toAjax(excelTemplateService.save(excelTemplate )); } /** * 修改导入模板 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { ExcelTemplate excelTemplate = excelTemplateService.getById(id); mmap.put("excelTemplate", excelTemplate); return prefix + "/edit"; } /** * 修改报存导入模板 */ @ApiOperation(value="修改导入模板列表信息", notes="修改导入模板列表信息", httpMethod = "POST") @RequiresPermissions("config:excelTemplate:edit") @Log(title = "配置-导入模板列表",operating = "修改导入模板列表", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(ExcelTemplate excelTemplate) { excelTemplate.setLastUpdatedBy(ShiroUtils.getLoginName()); return toAjax(excelTemplateService.updateById(excelTemplate)); } /** * 删除报存导入模板 */ @ApiOperation(value="删除报存导入模板信息", notes="单条删除或批量删除报存导入模板信息,示例1或1,2,3", httpMethod = "POST") @RequiresPermissions("config:excelTemplate: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(excelTemplateService.removeByIds(list)); } }