package com.huaheng.pc.receipt.receiptDetail.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.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.receipt.receiptDetail.domain.ReceiptDetail; import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.ibatis.annotations.Param; 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.List; import java.util.concurrent.locks.ReentrantLock; @Api(tags = "入库明细") @Controller @RequestMapping("/receipt/receiptDetail") public class ReceiptDetailController extends BaseController { @Resource private ReceiptDetailService receiptDetailService; @Resource private ReceiptHeaderService receiptHeaderService; private String prefix = "receipt/receiptDetail"; @RequiresPermissions("receipt:receiptDetail:view") @Log(title = "入库-入库详情列表", operating = "入库详情列表", action = BusinessType.GRANT) @GetMapping("/list/{id}") public String list(@PathVariable("id")Integer id, ModelMap mmap) { ReceiptHeader receiptHeader = receiptHeaderService.getById(id); mmap.put("receiptId", id); mmap.put("receiptCode", receiptHeader.getCode()); return prefix+"/receiptDetail"; } /** * 查询入库详情 */ @ApiOperation(value="查看入库详情", notes="根据头表id获取入库单明细信息", httpMethod = "POST") @RequiresPermissions("receipt:receiptDetail:list") @Log(title = "入库-入库单明细管理", operating = "查看入库单明细", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(@ApiParam(name="receiptDetail",value="入库详情") ReceiptDetail receiptDetail, @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), ReceiptDetail::getCreated, createdBegin) .le(StringUtils.isNotEmpty(createdEnd), ReceiptDetail::getCreated, createdEnd) .eq(ReceiptDetail::getReceiptId, receiptDetail.getReceiptId()); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ Page<ReceiptDetail> page = new Page<>(pageNum, pageSize); IPage<ReceiptDetail> iPage = receiptDetailService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增入库明细 */ @GetMapping("/add/{id}/{receiptCode}") public String add(@PathVariable("id") Integer id, @PathVariable("receiptCode") String receiptCode, ModelMap mmap) { LambdaQueryWrapper<ReceiptHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(ReceiptHeader::getId, id).eq(ReceiptHeader::getCode, receiptCode); ReceiptHeader receiptHeader = receiptHeaderService.getOne(lambdaQueryWrapper); mmap.put("receiptId", id); mmap.put("companyCode", receiptHeader.getCompanyCode()); mmap.put("receiptCode", receiptCode); return prefix + "/add"; } /** * 新增保存入库单 */ @ApiOperation(value="新增入库单 ", notes="新增入库单 ", httpMethod = "POST") @RequiresPermissions("receipt:receiptDetail:add") @Log(title = "入库-入库单 ",operating = "新增入库单 ", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(ReceiptDetail receiptDetail) { return receiptDetailService.saveReceiptDetaial(receiptDetail); } }