|  |  | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.YwStockMapper; | 
 |  |  | import com.doumee.dao.business.model.YwStock; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.service.business.YwStockService; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Objects; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * 运维库存信息表Service实现 | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public PageData<YwStock> findPage(PageWrap<YwStock> pageWrap) { | 
 |  |  |         IPage<YwStock> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
 |  |  |         QueryWrapper<YwStock> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         MPJLambdaWrapper<YwStock> queryWrapper = new MPJLambdaWrapper<YwStock>(); | 
 |  |  |         Utils.MP.blankToNull(pageWrap.getModel()); | 
 |  |  |         if (pageWrap.getModel().getId() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getId, pageWrap.getModel().getId()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getCreator() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getCreator, pageWrap.getModel().getCreator()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getCreateDate() != null) { | 
 |  |  |             queryWrapper.lambda().ge(YwStock::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); | 
 |  |  |             queryWrapper.lambda().le(YwStock::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getEditor() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getEditor, pageWrap.getModel().getEditor()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getEditDate() != null) { | 
 |  |  |             queryWrapper.lambda().ge(YwStock::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); | 
 |  |  |             queryWrapper.lambda().le(YwStock::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getIsdeleted() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getIsdeleted, pageWrap.getModel().getIsdeleted()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getRemark() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getRemark, pageWrap.getModel().getRemark()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getWarehouseId() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getWarehouseId, pageWrap.getModel().getWarehouseId()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getMaterialId() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getMaterialId, pageWrap.getModel().getMaterialId()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getStock() != null) { | 
 |  |  |             queryWrapper.lambda().eq(YwStock::getStock, pageWrap.getModel().getStock()); | 
 |  |  |         } | 
 |  |  |         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
 |  |  |             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
 |  |  |                 queryWrapper.orderByDesc(sortData.getProperty()); | 
 |  |  |             } else { | 
 |  |  |                 queryWrapper.orderByAsc(sortData.getProperty()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return PageData.from(ywStockMapper.selectPage(page, queryWrapper)); | 
 |  |  |         YwStock model = pageWrap.getModel(); | 
 |  |  |         queryWrapper.selectAll(YwStock.class) | 
 |  |  |                 .selectAs(YwWarehouse::getName,YwStock::getWarehouseName) | 
 |  |  |                 .selectAs(YwMaterial::getCode,YwStock::getMaterialCode) | 
 |  |  |                 .selectAs(YwMaterial::getName,YwStock::getMaterialName) | 
 |  |  |                 .selectAs(YwMaterial::getQrcode,YwStock::getMaterialQrcode) | 
 |  |  |                 .selectAs(YwMaterial::getBrand,YwStock::getMaterialBrand) | 
 |  |  |                 .selectAs(YwMaterial::getUnitName,YwStock::getMaterialUnitName) | 
 |  |  |                 .selectAs(YwMaterial::getAttr,YwStock::getMaterialAttr) | 
 |  |  |                 .leftJoin(YwWarehouse.class,YwWarehouse::getId,YwStock::getWarehouseId) | 
 |  |  |                 .leftJoin(YwMaterial.class,YwMaterial::getId,YwStock::getMaterialId) | 
 |  |  |                 .eq(Objects.nonNull(model.getWarehouseId()),YwOutinbound::getWarehouseId,model.getWarehouseId()) | 
 |  |  |                 .and(StringUtils.isNotBlank(model.getMaterialCode()),i->i.like(YwMaterial::getName,model.getMaterialCode()).or().like(YwMaterial::getName,model.getMaterialCode())) | 
 |  |  |                 .like(StringUtils.isNotBlank(model.getMaterialCode()),YwMaterial::getCode,model.getMaterialCode()) | 
 |  |  |                 .like(StringUtils.isNotBlank(model.getMaterialAttr()),YwMaterial::getAttr,model.getMaterialAttr()) | 
 |  |  |                 .orderByAsc(YwMaterial::getCode) | 
 |  |  |         ; | 
 |  |  |         IPage iPage = ywStockMapper.selectJoinPage(page,YwStock.class,queryWrapper); | 
 |  |  |         return PageData.from(iPage); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public long count(YwStock ywStock) { | 
 |  |  |         QueryWrapper<YwStock> wrapper = new QueryWrapper<>(ywStock); |