| | |
| | | import com.vincent.rsf.server.system.controller.BaseController; |
| | | import com.vincent.rsf.server.manager.enums.LocStsType; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | public R page(@RequestBody Map<String, Object> map) { |
| | | BaseParam baseParam = buildParam(map, BaseParam.class); |
| | | PageParam<LocItem, BaseParam> pageParam = new PageParam<>(baseParam, LocItem.class); |
| | | |
| | | // 库位状态筛选:关联 man_loc,不能作为 man_loc_item 字段参与 buildWrapper |
| | | Object useStatus = map.get("useStatus"); |
| | | Object barcodeFilter = map.get("barcode"); |
| | | if (pageParam.getWhere() != null && pageParam.getWhere().getMap() != null) { |
| | | pageParam.getWhere().getMap().remove("useStatus"); |
| | | pageParam.getWhere().getMap().remove("barcode"); |
| | | } |
| | | QueryWrapper<LocItem> wrapper = pageParam.buildWrapper(true); |
| | | if (useStatus != null && StringUtils.isNotBlank(useStatus.toString())) { |
| | | wrapper.apply("EXISTS (SELECT 1 FROM man_loc ml WHERE ml.id = man_loc_item.loc_id AND ml.use_status = {0} AND ml.deleted = 0)", |
| | | useStatus.toString().trim()); |
| | | } |
| | | if (barcodeFilter != null && StringUtils.isNotBlank(barcodeFilter.toString())) { |
| | | wrapper.apply("EXISTS (SELECT 1 FROM man_loc ml WHERE ml.id = man_loc_item.loc_id AND ml.barcode = {0} AND ml.deleted = 0)", |
| | | barcodeFilter.toString().trim()); |
| | | } |
| | | FieldsUtils.setFieldsFilters(wrapper, pageParam, LocItem.class); |
| | | |
| | | /**拼接扩展字段*/ |
| | |
| | | if (loc != null) { |
| | | record.setLocUseStatus(loc.getUseStatus()); |
| | | record.setLocUseStatus$(loc.getUseStatus$()); |
| | | record.setBarcode(loc.getBarcode()); |
| | | } |
| | | } |
| | | } |
| | | locItemService.fillSpecModelFromMatnrForRecords(records); |
| | | page.setRecords(records); |
| | | |
| | | return R.ok().add(page); |
| | |
| | | public R locUseOPage(@RequestBody Map<String, Object> map) { |
| | | BaseParam baseParam = buildParam(map, BaseParam.class); |
| | | PageParam<LocItem, BaseParam> pageParam = new PageParam<>(baseParam, LocItem.class); |
| | | Object barcodeFilter = map.get("barcode"); |
| | | if (pageParam.getWhere() != null && pageParam.getWhere().getMap() != null) { |
| | | pageParam.getWhere().getMap().remove("barcode"); |
| | | } |
| | | QueryWrapper<LocItem> locItemQueryWrapper = pageParam.buildWrapper(true); |
| | | String applySql = String.format( |
| | | "EXISTS (SELECT 1 FROM man_loc ml " + |
| | | "WHERE ml.use_status = '%s'" + |
| | | "AND ml.id = man_loc_item.loc_id " + |
| | | ")", |
| | | LocStsType.LOC_STS_TYPE_F.type |
| | | ); |
| | | locItemQueryWrapper.apply(applySql); |
| | | if (barcodeFilter != null && StringUtils.isNotBlank(barcodeFilter.toString())) { |
| | | locItemQueryWrapper.apply("EXISTS (SELECT 1 FROM man_loc ml WHERE ml.id = man_loc_item.loc_id AND ml.barcode = {0} AND ml.deleted = 0)", |
| | | barcodeFilter.toString().trim()); |
| | | } |
| | | locItemQueryWrapper.apply( |
| | | "EXISTS (SELECT 1 FROM man_loc ml WHERE ml.use_status = {0} AND ml.id = man_loc_item.loc_id AND ml.deleted = 0)", |
| | | LocStsType.LOC_STS_TYPE_F.type); |
| | | /**拼接扩展字段*/ |
| | | PageParam<LocItem, BaseParam> page = locItemService.page(pageParam, locItemQueryWrapper); |
| | | List<LocItem> records = page.getRecords(); |
| | |
| | | if (loc != null) { |
| | | record.setLocUseStatus(loc.getUseStatus()); |
| | | record.setLocUseStatus$(loc.getUseStatus$()); |
| | | record.setBarcode(loc.getBarcode()); |
| | | } |
| | | } |
| | | } |
| | | locItemService.fillSpecModelFromMatnrForRecords(records); |
| | | page.setRecords(records); |
| | | |
| | | return R.ok().add(page); |