ReferenceCodeController.java 5.42 KB
package com.huaheng.pc.referenceCode.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.framework.web.page.PageDomain;
import com.huaheng.framework.web.page.TableDataInfo;
import com.huaheng.framework.web.page.TableSupport;
import com.huaheng.common.utils.StringUtils;
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.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.pc.referenceCode.domain.ReferenceCode;
import com.huaheng.pc.referenceCode.service.IReferenceCodeService;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.common.support.Convert;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * 【请填写功能名称】 信息操作处理
 *
 * @author huaheng
 * @date 2022-06-30
 */
@Controller
@RequestMapping("/referenceCode")
public class ReferenceCodeController extends BaseController {
    private String prefix = "referenceCode/referenceCode";

	@Resource
	private IReferenceCodeService referenceCodeService;

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

	/**
	 * 查询【请填写功能名称】列表
	 */
	@RequiresPermissions("referenceCode:list")
	@PostMapping("/list")
	@ResponseBody
	public TableDataInfo list(ReferenceCode referenceCode) {
		LambdaQueryWrapper<ReferenceCode> lambdaQueryWrapper = Wrappers.lambdaQuery();
		lambdaQueryWrapper
		.eq(StringUtils.isNotEmpty(referenceCode.getBillno()), ReferenceCode::getBillno, referenceCode.getBillno())
		.eq(StringUtils.isNotEmpty(referenceCode.getReferType()), ReferenceCode::getReferType, referenceCode.getReferType())
		.like(StringUtils.isNotEmpty(referenceCode.getTypeName()), ReferenceCode::getTypeName, referenceCode.getTypeName())
		.eq(StringUtils.isNotNull(referenceCode.getCreated()), ReferenceCode::getCreated, referenceCode.getCreated())
		.eq(StringUtils.isNotEmpty(referenceCode.getCreatedBy()), ReferenceCode::getCreatedBy, referenceCode.getCreatedBy())
		.eq(StringUtils.isNotEmpty(referenceCode.getUserDef1()), ReferenceCode::getUserDef1, referenceCode.getUserDef1())
		.eq(StringUtils.isNotEmpty(referenceCode.getUserDef2()), ReferenceCode::getUserDef2, referenceCode.getUserDef2())
		.eq(StringUtils.isNotEmpty(referenceCode.getUserDef3()), ReferenceCode::getUserDef3, referenceCode.getUserDef3())
		.eq(StringUtils.isNotEmpty(referenceCode.getUserDef4()), ReferenceCode::getUserDef4, referenceCode.getUserDef4())
		.eq(StringUtils.isNotEmpty(referenceCode.getUserDef5()), ReferenceCode::getUserDef5, referenceCode.getUserDef5());
		PageDomain pageDomain = TableSupport.buildPageRequest();
		Integer pageNum = pageDomain.getPageNum();
		Integer pageSize = pageDomain.getPageSize();
		if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
			/*使用分页查询*/
			Page<ReferenceCode> page = new Page<>(pageNum, pageSize);
			IPage<ReferenceCode> iPage = referenceCodeService.page(page, lambdaQueryWrapper);
			return getMpDataTable(iPage.getRecords(), iPage.getTotal());
		} else {
			List<ReferenceCode> list = referenceCodeService.list(lambdaQueryWrapper);
			return getDataTable(list);
		}
	}

	/**
	 * 新增【请填写功能名称】
	 */
	@GetMapping("/add")
	public String add() {
	    return prefix + "/add";
	}

	/**
	 * 新增保存【请填写功能名称】
	 */
	@RequiresPermissions("referenceCode:add")
	@Log(title = "【请填写功能名称】", action = BusinessType.INSERT)
	@PostMapping("/add")
	@ResponseBody
	public AjaxResult addSave(ReferenceCode referenceCode) {
		return toAjax(referenceCodeService.save(referenceCode));
	}

	/**
	 * 修改【请填写功能名称】
	 */
	@GetMapping("/edit/{id}")
	public String edit(@PathVariable("id") Long id, ModelMap mmap) {
		ReferenceCode referenceCode = referenceCodeService.getById(id);
		mmap.put("referenceCode", referenceCode);
	    return prefix + "/edit";
	}

	/**
	 * 修改保存【请填写功能名称】
	 */
	@RequiresPermissions("referenceCode:edit")
	@Log(title = "【请填写功能名称】", action = BusinessType.UPDATE)
	@PostMapping("/edit")
	@ResponseBody
	public AjaxResult editSave(ReferenceCode referenceCode) {
		return toAjax(referenceCodeService.updateById(referenceCode));
	}

	/**
	 * 删除【请填写功能名称】
	 */
	@RequiresPermissions("referenceCode:remove")
	@Log(title = "【请填写功能名称】", action = BusinessType.DELETE)
	@PostMapping( "/remove")
	@ResponseBody
	public AjaxResult remove(String ids) {
		if (StringUtils.isEmpty(ids)){
			return AjaxResult.error("id不能为空");
		}
		return toAjax(referenceCodeService.removeByIds(Arrays.asList(Convert.toIntArray(ids))));
	}

}