| | |
| | | // 关联物料分类,仅用于排序:同分类的物料聚在一起,分类之间按分类的显示排序 |
| | | query.leftJoin(MesMdItemTypeDO.class, MesMdItemTypeDO::getId, MesMdItemDO::getItemTypeId) |
| | | .likeIfPresent(MesMdItemDO::getCode, reqVO.getCode()) |
| | | .likeIfPresent(MesMdItemDO::getName, reqVO.getName()) |
| | | .inIfPresent(MesMdItemDO::getItemTypeId, itemTypeIds) |
| | | .inIfPresent(MesMdItemDO::getId, |
| | | StrUtil.isBlank(reqVO.getIds()) ? null : StrUtils.splitToLong(reqVO.getIds(), ",")) |
| | |
| | | .orderByAsc(MesMdItemTypeDO::getSort) |
| | | .orderByAsc(MesMdItemTypeDO::getCode) |
| | | .orderByAsc(MesMdItemDO::getCode); |
| | | if (StrUtil.isNotBlank(reqVO.getName())) { |
| | | String keyword = reqVO.getName().replaceAll("[\\s\\u3000-]+", "").replace("克", "g"); |
| | | if (keyword.isEmpty()) { |
| | | query.like(MesMdItemDO::getName, reqVO.getName()); |
| | | } else { |
| | | query.and(w -> w.like(MesMdItemDO::getName, reqVO.getName()) |
| | | .or().apply("REPLACE(REPLACE(REPLACE(CONCAT(COALESCE(t.name,''),COALESCE(t.specification,'')), ' ', ''), '-', ''), '克', 'g') LIKE {0}", |
| | | "%" + keyword + "%")); |
| | | } |
| | | } |
| | | if (StrUtil.isNotBlank(reqVO.getSpecification())) { |
| | | String specification = reqVO.getSpecification().replace("克", "g"); |
| | | query.apply("REPLACE(t.specification, '克', 'g') LIKE {0}", "%" + specification + "%"); |
| | | } |
| | | return selectPage(reqVO, query); |
| | | } |
| | | |