skyouc
1 天以前 03f63637e706283f1a95b7d0d6d631901ae359b2
盘点单功能优化
7个文件已修改
59 ■■■■ 已修改文件
rsf-admin/src/i18n/zh.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/check/CheckOrderList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/check/CheckOrderPub.jsx 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js
@@ -679,7 +679,7 @@
                checkType: "盘点类型",
                areaId: "库区ID",
                areaName: "库区",
                anfme: "库面数量",
                anfme: "库存数量",
                checkQty: "盘点数量",
                exceStatus: "执行状态",
            },
rsf-admin/src/page/orders/check/CheckOrderList.jsx
@@ -73,7 +73,7 @@
    <AutocompleteInput label="table.field.checkOrder.type" optionValue="value" />
  </ReferenceInput>,
  <ReferenceInput source="wkType" reference="dictData" filter={{ dictTypeCode: 'sys_check_order_type' }} label="table.field.checkOrder.checkType" alwaysOn>
    <AutocompleteInput label="table.field.checkOrder.checkType" optionValue="value" />
    <AutocompleteInput label="table.field.checkOrder.checkType" optionValue="value"/>
  </ReferenceInput>,
  <TextInput source="logisNo" label="table.field.checkOrder.logisNo" />,
  <DateInput source="arrTime" label="table.field.checkOrder.arrTime" />,
rsf-admin/src/page/orders/check/CheckOrderPub.jsx
@@ -87,7 +87,7 @@
            const mas = data.filter(item => selectedIds.includes(item.id)).map(item => item.matnrCode);
            //设置库位信息筛选条件
            setSelectedMatnr(mas);
            // onUnselectItems()
            onUnselectItems()
        }
        return (
            record.exceStatus != 3 ? <><Button label="toolbar.confirm" size="medium" onClick={handleRowClick} /></> : <></>
@@ -222,7 +222,7 @@
                            </Box>
                            <Box sx={{ textAlign: 'center' }}>
                                <CloseButton setOpen={setOpen} />
                                <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} rowSelectedIds={rowSelectedIds} gridRef={gridRef} record={record} />
                                <SubmitButton selectedIds={selectedIds} setOpen={setOpen} setSelectedIds={setSelectedIds} rowSelectedIds={rowSelectedIds} gridRef={gridRef} record={record} />
                            </Box>
                        </Card>
                    </Grid>
@@ -420,7 +420,7 @@
//提交按钮
const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record }) => {
const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record, setOpen }) => {
    const notify = useNotify();
    const refresh = useRefresh();
    const translate = useTranslate();
@@ -444,6 +444,7 @@
        const { data: { code, data, msg } } = await request.post('/check/generate/tasks', records);
        if (code == 200) {
            refresh();
            setOpen(false)
        } else {
            notify(msg);
        }
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
@@ -218,6 +218,9 @@
    }
    public Double getDiffQty() {
        if (checkQty.compareTo(0.0) <= 0) {
            return 0.0;
        }
        Double diffQty = Math.round((this.checkQty - this.anfme) * 1000) / 1000.0;
        return diffQty;
    }
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java
@@ -47,15 +47,27 @@
     * @description: 自动获取已生成盘点任务的盘点列表
     * @version 1.0
     */
    @Scheduled(cron = "0/5 * * * * ?")
    @Scheduled(cron = "0/15 * * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void genReCheck() {
        List<CheckDiffItem> list = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>().select(CheckDiffItem::getTaskItemId));
        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
                .select(Task::getId)
                .eq(Task::getTaskType, TaskType.TASK_TYPE_CHECK_OUT.type));
        if (tasks.isEmpty()) {
            return;
        }
        List<CheckDiffItem> list = checkDiffItemService
                .list(new LambdaQueryWrapper<CheckDiffItem>()
                        .select(CheckDiffItem::getTaskItemId));
        if (list.isEmpty()) {
            return;
        }
        Set<Long> taskIds = tasks.stream().map(Task::getId).collect(Collectors.toSet());
        List<Long> itemIds = list.stream().map(CheckDiffItem::getTaskItemId).collect(Collectors.toList());
        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().notIn(TaskItem::getId, itemIds));
        List<TaskItem> taskItems = taskItemService
                .list(new LambdaQueryWrapper<TaskItem>()
                        .in(TaskItem::getTaskId, taskIds)
                        .notIn(TaskItem::getId, itemIds));
        if (taskItems.isEmpty()) {
            return;
        }
@@ -64,7 +76,7 @@
        taskMps.keySet().forEach(orderId -> {
            WkOrder order = checkOrderService.getById(orderId);
            if (Objects.isNull(order)) {
               throw new CoolException("盘点单据不存在!!");
                throw new CoolException("盘点单据不存在!!");
            }
            CheckDiff checkDiff = checkDiffService.getOne(new LambdaQueryWrapper<CheckDiff>().eq(CheckDiff::getOrderId, orderId));
            if (Objects.isNull(checkDiff)) {
@@ -119,9 +131,9 @@
                }
            });
           if (!checkDiffItemService.saveBatch(diffItems)) {
               throw new CoolException("盘点差异单保存失败!!");
           }
            if (!checkDiffItemService.saveBatch(diffItems)) {
                throw new CoolException("盘点差异单保存失败!!");
            }
        });
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -83,11 +83,14 @@
    private OutStockService outStockService;
    @Autowired
    private OutStockItemService outStockItemService;
    @Autowired
    private CheckOrderItemService checkOrderItemService;
    @Autowired
    private CheckOrderService checkOrderService;
    @Autowired
    private CheckDiffService checkDiffService;
    @Autowired
    private CheckDiffItemService checkDiffItemService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -783,6 +786,18 @@
                                .setSql("work_qty = work_qty - " + taskItem.getAnfme()))) {
                            throw new CoolException("盘点单执行数量修改失败!!");
                        }
                        List<CheckDiffItem> diffItems = checkDiffItemService
                                .list(new LambdaQueryWrapper<CheckDiffItem>()
                                .eq(CheckDiffItem::getTaskItemId, taskItem.getTaskId()));
                        if (!diffItems.isEmpty()) {
                            CheckDiffItem item = diffItems.stream().findFirst().get();
                            List<CheckDiffItem> items = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>()
                                    .eq(CheckDiffItem::getId, item.getCheckId()));
                            if (items.isEmpty()) {
                                checkDiffService.removeById(item.getCheckId());
                            }
                        }
                    });
                }
rsf-server/src/main/resources/application.yml
@@ -25,7 +25,7 @@
  #  global-config:
  #    field-strategy: 0
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
    cache-enabled: true
    call-setters-on-nulls: true