| | |
| | | import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.AsnExceStatus; |
| | | import com.vincent.rsf.server.manager.enums.PakinIOStatus; |
| | | import com.vincent.rsf.server.manager.mapper.*; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.system.constant.CodeRes; |
| | |
| | | import com.vincent.rsf.server.system.service.UserLoginService; |
| | | import com.vincent.rsf.server.system.utils.ExtendFieldsUtils; |
| | | import com.vincent.rsf.server.system.utils.SerialRuleUtils; |
| | | import net.sf.jsqlparser.statement.select.Wait; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | if (Objects.isNull(params.getIsptCode())) { |
| | | throw new CoolException("质检单不能为空"); |
| | | } |
| | | if (Objects.isNull(params.getMatnrCode())) { |
| | | throw new CoolException("物料编码不能为空!"); |
| | | } |
| | | QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>().eq(QlyInspect::getCode, params.getIsptCode())); |
| | | if (Objects.isNull(inspect)) { |
| | | throw new CoolException("质检单据不存在!!"); |
| | | } |
| | | QlyIsptItem isptItem = qlyIsptItemService.getOne(new LambdaQueryWrapper<QlyIsptItem>() |
| | | .eq(QlyIsptItem::getMatnrCode, params.getMatnrCode()) |
| | | List<QlyIsptItem> isptItems = qlyIsptItemService.list(new LambdaQueryWrapper<QlyIsptItem>() |
| | | .eq(StringUtils.isNotBlank(params.getMatnrCode()), QlyIsptItem::getMatnrCode, StringUtils.isNotBlank(params.getMatnrCode()) ? params.getMatnrCode() : null) |
| | | .eq(QlyIsptItem::getIspectId, inspect.getId())); |
| | | if (Objects.isNull(isptItem)) { |
| | | if (Objects.isNull(isptItems)) { |
| | | throw new CoolException("质检单明细不存在!!"); |
| | | } |
| | | |
| | | List<CheckObjDto> dtos = new ArrayList<>(); |
| | | isptItems.forEach(isptItem -> { |
| | | CheckObjDto objDto = new CheckObjDto(); |
| | | objDto.setIsptCode(inspect.getCode()) |
| | | .setAsnCode(inspect.getAsnCode()) |
| | |
| | | .setPicPath(isptItem.getPicPath()) |
| | | .setMemo(isptItem.getMemo()) |
| | | .setSafeQty(isptItem.getSafeQty()); |
| | | return R.ok(objDto); |
| | | dtos.add(objDto); |
| | | }); |
| | | return R.ok(dtos); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R checkUpdate(QlyIsptItem params) { |
| | | if (Objects.isNull(params.getId())) { |
| | | public R checkUpdate(List<QlyIsptItem> params) { |
| | | if (Objects.isNull(params) || params.isEmpty()) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | | IsptItemsParams itemsParams = new IsptItemsParams(); |
| | | List<QlyIsptItem> items = new ArrayList<>(); |
| | | items.add(params); |
| | | itemsParams.setIsptItem(items).setType("0"); |
| | | itemsParams.setIsptItem(params).setType("0"); |
| | | if (qlyIsptItemService.batchUpdate(itemsParams)) { |
| | | return R.ok(); |
| | | } else { |
| | |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 通过容器获取组拖物料 |
| | | * @param |
| | | * @return |
| | | * @time 2025/4/9 16:57 |
| | | */ |
| | | @Override |
| | | public R getItemByContainer(Map<String, Object> params) { |
| | | List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)); |
| | | WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() |
| | | .eq(WaitPakin::getBarcode, params.get("barcode").toString()) |
| | | .in(WaitPakin::getIoStatus, asList)); |
| | | if (Objects.isNull(waitPakin)) { |
| | | return R.ok(new ArrayList<>()); |
| | | } |
| | | List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>() |
| | | .eq(WaitPakinItem::getPakinId, waitPakin.getId())); |
| | | if (pakinItems.isEmpty()) { |
| | | return R.ok(new ArrayList<>()); |
| | | } |
| | | List<String> list = pakinItems.stream().map(WaitPakinItem::getTrackCode).collect(Collectors.toList()); |
| | | LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new QueryWrapper<WarehouseAreasItem>() |
| | | .select("SUM(anfme) as anfme, track_code, asn_code, id, splr_batch, ispt_result, plat_item_id, batch, qty, work_qty, matnr_code, matnr_id, maktx") |
| | | .lambda() |
| | | .in(WarehouseAreasItem::getTrackCode, list) |
| | | .groupBy(WarehouseAreasItem::getSplrBatch, |
| | | WarehouseAreasItem::getAsnId, |
| | | WarehouseAreasItem::getAreaId, |
| | | WarehouseAreasItem::getTrackCode, |
| | | WarehouseAreasItem::getMatnrId); |
| | | return R.ok(warehouseAreasItemService.list(queryWrapper)); |
| | | } |
| | | |
| | | /** |
| | | * 获取ReceiptDetlsDtos |
| | | */ |
| | | private R getAsnOrderItem(List<AsnOrderItem> items) { |