zhou zhou
16 小时以前 a83669aa251ddeae5147555ef1493595fa1db013
#备货
5个文件已修改
66 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/PdaGeneralParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/PdaOutStockService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
@@ -184,6 +184,12 @@
        return outStockService.genOutStockTask(tasks,getLoginUserId(), orderItem.getOrderId());
    }
    @PostMapping("/orderOut/taskItemList")
    @ApiOperation("备货容器页面查询任务明细")
    public R taskItemList(@RequestBody PdaGeneralParam param) {
        return pdaOutStockService.taskItemList(param,getLoginUserId());
    }
    @PostMapping("/orderOut/containerRebinding")
    @ApiOperation("备货容器换绑")
    public R containerRebinding(@RequestBody PdaGeneralParam param) {
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/PdaGeneralParam.java
@@ -1,6 +1,7 @@
package com.vincent.rsf.server.api.entity.params;
import com.vincent.rsf.server.manager.entity.LocItem;
import com.vincent.rsf.server.manager.entity.TaskItem;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -33,4 +34,6 @@
    private String newContainerNo;
    private List<TaskItem> taskItemList;
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/PdaOutStockService.java
@@ -19,4 +19,6 @@
    R saveOutTaskSts(String barcode);
    R containerRebinding(PdaGeneralParam param,Long loginUserId);
    R taskItemList(PdaGeneralParam param, Long loginUserId);
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -115,8 +115,6 @@
        if (!task.getResource().equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)) {
            throw new CoolException("当前托盘不是备货出库任务");
        }
        List<TaskItem> taskItems = taskItemService
                .list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
        WaitPakin waitPakin = waitPakinService
                .getOne(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, param.getNewContainerNo()));
@@ -128,7 +126,11 @@
            }
            waitPakin1.setCode(ruleCode)
                    .setIoStatus(PakinIOStatus.PAKIN_IO_STATUS_HOLD.val)
                    .setAnfme(taskItems.stream().map(TaskItem::getAnfme).mapToDouble(Double::doubleValue).sum())
                    .setAnfme(param.getTaskItemList().stream()
                            .map(TaskItem::getInputQty)
                            .filter(Objects::nonNull)
                            .reduce(BigDecimal.ZERO, BigDecimal::add)
                            .doubleValue())
                    .setUpdateBy(userId)
                    .setCreateBy(userId)
                    .setBarcode(param.getNewContainerNo());
@@ -136,9 +138,9 @@
                throw new CoolException("组托主单保存失败!!");
            }
            List<WaitPakinItem> items = new ArrayList<>();
            for (TaskItem taskItem : taskItems) {
            for (TaskItem taskItem : param.getTaskItemList()) {
                WaitPakinItem pakinItem = new WaitPakinItem();
                pakinItem.setAnfme(taskItem.getAnfme())
                pakinItem.setAnfme(taskItem.getInputQty().doubleValue())
                        .setPakinId(waitPakin1.getId())
                        .setSource(taskItem.getId())
                        .setAsnId(taskItem.getSourceId())
@@ -168,7 +170,11 @@
                throw new CoolException("组托明细保存失败!!");
            }
        } else {
            double sum = taskItems.stream().map(TaskItem::getAnfme).mapToDouble(Double::doubleValue).sum();
            double sum = param.getTaskItemList().stream()
                    .map(TaskItem::getInputQty)
                    .filter(Objects::nonNull)
                    .reduce(BigDecimal.ZERO, BigDecimal::add)
                    .doubleValue();
            waitPakin
                    .setAnfme(waitPakin.getAnfme() + sum)
                    .setUpdateBy(userId)
@@ -179,7 +185,7 @@
            List<WaitPakinItem> existPakinItems = waitPakinItemService
                    .list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, waitPakin.getId()));
            List<WaitPakinItem> items = new ArrayList<>();
            for (TaskItem taskItem : taskItems) {
            for (TaskItem taskItem : param.getTaskItemList()) {
                Optional<WaitPakinItem> optionalItem = existPakinItems.stream()
                        .filter(e -> Objects.equals(e.getMatnrCode(), taskItem.getMatnrCode())
                                && Objects.equals(e.getBatch(), taskItem.getSplrBatch())
@@ -190,14 +196,14 @@
                if (optionalItem.isPresent()) {
                    WaitPakinItem existItem = optionalItem.get();
                    existItem.setAnfme(existItem.getAnfme() + taskItem.getAnfme())
                    existItem.setAnfme(existItem.getAnfme() + taskItem.getInputQty().doubleValue())
                            .setUpdateBy(userId);
                    if (!items.contains(existItem)) {
                        items.add(existItem);
                    }
                } else {
                    WaitPakinItem pakinItem = new WaitPakinItem();
                    pakinItem.setAnfme(taskItem.getAnfme())
                    pakinItem.setAnfme(taskItem.getInputQty().doubleValue())
                            .setPakinId(waitPakin.getId())
                            .setSource(taskItem.getId())
                            .setAsnId(taskItem.getSourceId())
@@ -234,6 +240,24 @@
    }
    @Override
    public R taskItemList(PdaGeneralParam param, Long loginUserId) {
        if (Cools.isEmpty(param.getContainerNo())) {
            throw new CoolException("无容器号");
        }
        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, param.getContainerNo()));
        if (null == task) {
            throw new CoolException("未找到任务");
        }
        if (!task.getResource().equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)) {
            throw new CoolException("当前托盘不是备货出库任务");
        }
        List<TaskItem> taskItems = taskItemService
                .list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
        return R.ok(taskItems);
    }
    @Override
    public R getWaveListItem(String barcode) {
        LambdaQueryWrapper<Wave> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(!Cools.isEmpty(barcode), Wave::getCode, barcode);
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.server.manager.entity;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -249,6 +250,9 @@
    @ApiModelProperty(value = "建议调出仓,出仓")
    private String sourceWarehouseId;
    @TableField(exist = false)
    private BigDecimal inputQty = BigDecimal.ZERO;
    public TaskItem() {}
    public TaskItem(Long taskId,Long matnrId,String maktx,String matnrCode,String unit,Double anfme,String batch,String spec,String model,String fieldsIndex,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
@@ -390,4 +394,13 @@
        }
    }
    public BigDecimal getAbleQty() {
        if (anfme == null) { anfme = 0.0;}
        if (workQty == null) { workQty = 0.0;}
        BigDecimal anfmeDec = new BigDecimal(anfme.toString());
        BigDecimal qtyDec = new BigDecimal(workQty.toString());
        return anfmeDec.subtract(qtyDec);
    }
}