skyouc
2025-04-30 6f4f866484c956cfbe3de3d4d60a723d4f2ba6c7
no message
8个文件已修改
69 ■■■■ 已修改文件
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/waitPakin/WaitPakinList.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -136,7 +136,7 @@
              setSelect(record)
              setEditDialog(true)
            }}
             omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'matnrId', 'asnId']}
             omit={['id', 'createTime', 'purQty','purUnit', 'createBy', 'memo', 'poDetlId', 'matnrId', 'asnId']}
          >
            <NumberField source="id" />
            <NumberField source="asnId" label="table.field.asnOrderItem.asnId" />
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -119,7 +119,7 @@
                    preferenceKey='waitPakinItem'
                    bulkActionButtons={false}
                    rowClick={(id, resource, record) => false}
                    omit={['id', 'pakinId', 'createTime', 'createBy', 'memo']}
                    omit={['id', 'pakinId', 'createTime', 'createBy', 'memo', 'fieldsIndex']}
                >
                    <NumberField source="id" />
                    <NumberField source="pakinId" label="table.field.waitPakinItem.pakinId" />
rsf-admin/src/page/waitPakin/WaitPakinList.jsx
@@ -101,6 +101,7 @@
        const createTask = () => {
            setSiteDialog(true)
            setSource(rows)
            onUnselectItems()
            refresh()
        }
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -428,7 +428,7 @@
    public R getDeltByCode(String code) {
        //TODO 后续需根据策略配置,获取组拖数据。如:混装,按批次混装等
        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()
                .select("SUM(anfme) as anfme, track_code, asn_code, id, splr_batch, ispt_result, plat_item_id, batch,unit, stock_unit,  qty, work_qty, matnr_code, matnr_id, maktx").lambda()
                .eq(WarehouseAreasItem::getTrackCode, code)
                .groupBy(WarehouseAreasItem::getSplrBatch, WarehouseAreasItem::getAsnId, WarehouseAreasItem::getAreaId, WarehouseAreasItem::getMatnrId);
        return R.ok(warehouseAreasItemService.getOne(queryWrapper));
@@ -938,6 +938,8 @@
                    .setFieldsIndex(asnOrderItem.getFieldsIndex())
                    .setBarcode(asnOrderItem.getTrackCode())
                    .setQty(asnOrderItem.getQty())
                    .setStockUnit(asnOrderItem.getStockUnit())
                    .setPurUnit(asnOrderItem.getPurUnit())
                    .setPoCode(asnOrderItem.getPoCode())
                    .setAnfme(asnOrderItem.getAnfme())
                    .setPurQty(asnOrderItem.getPurQty())
@@ -949,8 +951,7 @@
            }
            //SET 物料最大存放数量
            detlsDto.setMaxQty(matnr.getMaxQty())
                    .setMatnrId(matnr.getId())
                    .setStockUnit(matnr.getStockUnit());
                    .setMatnrId(matnr.getId());
            QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>()
                    .eq(QlyInspect::getAsnId, asnOrderItem.getAsnId()));
            if (!Objects.isNull(inspect)) {
@@ -961,7 +962,7 @@
            LocItem stockItem = locItemService.getOne(new LambdaQueryWrapper<LocItem>()
//                    .eq(LocItem::getOrderItemId, asnOrderItem.getId())
                    .eq(LocItem::getFieldsIndex, asnOrderItem.getFieldsIndex())
                    .eq(LocItem::getBatch, asnOrderItem.getBatch())
                    .eq(LocItem::getBatch, asnOrderItem.getSplrBatch())
                    .eq(LocItem::getMatnrId, asnOrderItem.getMatnrId()));
            //SET 当前库存数量
            if (Objects.isNull(stockItem)) {
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -191,7 +191,6 @@
        return R.ok();
    }
    @PreAuthorize("hasAuthority('manager:task:update')")
    @ApiOperation("任务出库置顶")
    @PostMapping("/task/top/{id}")
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -57,8 +57,8 @@
    * @return
    * @time 2025/4/2 12:37
    */
    @Scheduled(cron = "0 0/05 * * * ?  ")
//  @Scheduled(cron = "0/5 * * * * ?")
//    @Scheduled(cron = "0 0/05 * * * ?  ")
    @Scheduled(cron = "0/15 * * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void completeInStock() throws Exception {
        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id));
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -61,6 +61,9 @@
    @Autowired
    private WarehouseAreasService warehouseAreasService;
    @Autowired
    private WarehouseAreasItemService warehouseAreasItemService;
    /**
     * @param
@@ -168,6 +171,13 @@
            if (!taskItemService.saveBatch(taskItems)) {
                throw new CoolException("任务明细保存失败!!");
            }
            waitPakinItems.forEach(item -> {
               if (! waitPakinItemService.update(new LambdaUpdateWrapper<WaitPakinItem>()
                       .set(WaitPakinItem::getWorkQty, item.getAnfme())
                       .eq(WaitPakinItem::getId, item.getId()))) {
                   throw new CoolException("组托明细修执行数量修改失败!!");
               }
            });
        });
        if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
@@ -223,6 +233,8 @@
            //保存库存明细
            try {
                saveStockItems(items, pakinItem);
                //移出收货区库存
                removeReceiptStock(pakinItem);
            } catch (Exception e) {
                throw new CoolException("库存管理保存更新失败!!");
            }
@@ -238,6 +250,42 @@
    /**
     * @author Ryan
     * @description 移除收货区库存
     * @param
     * @return
     * @time 2025/4/30 16:32
     */
    @Transactional(rollbackFor = Exception.class)
    private void removeReceiptStock(WaitPakinItem pakinItem) {
        WarehouseAreasItem itemServiceOne = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
                .eq(WarehouseAreasItem::getTrackCode, pakinItem.getTrackCode())
                .eq(WarehouseAreasItem::getSplrBatch, pakinItem.getBatch()));
        if (Objects.isNull(itemServiceOne)) {
            throw new CoolException("数据错误,请查看请货区库存是否存在!!");
        }
        Double workQty = itemServiceOne.getWorkQty() - pakinItem.getAnfme();
        Double qty = itemServiceOne.getQty() + pakinItem.getAnfme();
        itemServiceOne.setWorkQty(workQty).setQty(qty);
        if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
                .set(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_TASK_DONE.val)
                .eq(WaitPakin::getId, pakinItem.getPakinId()))) {
            throw new CoolException("组拖状态修改失败!!");
        }
        if (qty.compareTo(itemServiceOne.getAnfme()) == 0.00) {
            if (!warehouseAreasItemService.removeById(itemServiceOne.getId())) {
                throw new CoolException("收货区物料删除失败!!");
            }
        } else {
            if (!warehouseAreasItemService.updateById(itemServiceOne)) {
                throw new CoolException("收货区库完成数量修改失败!!");
            }
        }
    }
    /**
     * @author Ryan
     * @description 更新库位明细
     * @param
     * @return
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -148,7 +148,7 @@
            }
        } else {
            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")
                    .select("SUM(anfme) as anfme, track_code, asn_code, id, splr_batch, ispt_result, plat_item_id, batch, qty, unit, stock_unit, work_qty, matnr_code, matnr_id, maktx")
                    .lambda()
                    .in(WarehouseAreasItem::getTrackCode, tracks)
                    .groupBy(WarehouseAreasItem::getSplrBatch,