package com.huaheng.pc.shipment.shipmentContainerDetail.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.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail; import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailService; import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderServiceImpl; import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderServiceImpl; 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.Arrays; import java.util.List; /** * 出库组盘明细 信息操作处理 * * @author huaheng * @date 2018-08-19 */ @Controller @RequestMapping("/shipment/shipmentContainerDetail") public class ShipmentContainerDetailController extends BaseController { private String prefix = "shipment/shipmentContainerDetail"; @Autowired private ShipmentContainerDetailService shipmentContainerDetailService; @Autowired ShipmentContainerHeaderServiceImpl shipmentContainerHeaderService; @Autowired ShipmentHeaderServiceImpl shipmentHeaderService; @RequiresPermissions("shipment:container:view") @GetMapping("/{headerId}") public String shipmentContainerDetail(@PathVariable("headerId") String headerId, ModelMap mmap) { mmap.put("headerId", headerId); return prefix + "/shipmentContainerDetail"; } /** * 查询出库组盘明细列表 */ @RequiresPermissions("shipment:container:list") @Log(title ="出库-出库组盘", operating = "查看出库组盘明细", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(ShipmentContainerDetail shipmentContainerDetail) { LambdaQueryWrapper<ShipmentContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper .eq(ShipmentContainerDetail::getWarehouseCode,ShiroUtils.getWarehouseCode()) .in(ShipmentContainerDetail::getCompanyCode,ShiroUtils.getCompanyCodeList()) .eq(shipmentContainerDetail.getShippingContainerId()!=null,ShipmentContainerDetail::getShippingContainerId,shipmentContainerDetail.getShippingContainerId()) .orderByAsc(ShipmentContainerDetail::getId); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /** * 使用分页查询 */ Page<ShipmentContainerDetail> page = new Page<>(pageNum, pageSize); IPage<ShipmentContainerDetail> iPage = shipmentContainerDetailService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(),iPage.getTotal()); } else { List<ShipmentContainerDetail> list = shipmentContainerDetailService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增出库组盘明细 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 删除出库组盘明细 */ @RequiresPermissions("shipment:container:remove") @Log(title ="出库-出库组盘", operating = "删除出库组盘明细", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)) { return AjaxResult.error("id不能为空"); } return shipmentContainerHeaderService.cancelCombinationDetail(Arrays.asList((Convert.toIntArray(ids)))); } }