chen.lin
5 天以前 b360cb8bbd470a78fca1f576536b5e09ca5e9d43
bug修复
8个文件已修改
68 ■■■■■ 已修改文件
rsf-admin/src/i18n/zh.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js
@@ -5,7 +5,12 @@
    hello: '你好世界',
    resources: {
        config: { name: '配置参数' },
        asnOrderItem: { name: '收货明细' },
        outStockItem: { name: '出库单明细' },
    },
    // 扁平 key,供部分 i18n 按字符串查找资源标题,避免显示 Asnorder/Outstock
    'resources.asnOrderItem.name': '收货明细',
    'resources.outStockItem.name': '出库单明细',
    common: {
        response: {
            success: "操作成功",
@@ -1440,6 +1445,7 @@
            bulk_actions: '%{smart_count} 条被选中 |||| %{smart_count} 条被选中',
        },
        page: {
            edit: '%{name}',
            empty_with_filters: '使用当前过滤条件未找到结果。',
            loading: '加载中',
        },
rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
@@ -230,7 +230,7 @@
                    rowClick={false}
                    expand={false}
                    expandSingle={true}
                    omit={['id', 'createTime', 'locId', 'spec', 'model', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex', 'updateBy$']}
                    omit={['id', 'createTime', 'locId', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex', 'updateBy$']}
                >
                    {columns.map((column) => column)}
                </StyledDatagrid>}
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
@@ -177,6 +177,9 @@
        } else if (params.getCreateTime() != null) {
            m.put("arrTime", params.getCreateTime());
        }
        if (params.getCreateTime() != null) {
            m.put("createTime", params.getCreateTime());
        }
        return m;
    }
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
@@ -51,6 +51,12 @@
    @JsonDeserialize(using = FlexibleDateDeserializer.class)
    private Date arrTime;
    @ApiModelProperty("创建时间,ERP 传则作为通知单创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonDeserialize(using = FlexibleDateDeserializer.class)
    private Date createTime;
    @ApiModelProperty("单据明细信息")
    private List<SyncOrdersItem> orderItems;
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -34,7 +34,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class PdaCheckOrderServiceImpl implements PdaCheckOrderService {
@@ -62,6 +65,12 @@
    private ReportMsgService reportMsgService;
    @Autowired
    private UserService userService;
    @Autowired
    private CheckOrderItemService checkOrderItemService;
    @Autowired
    private CheckOrderService checkOrderService;
    @Override
@@ -202,6 +211,43 @@
            throw new CoolException("更新差异单失败");
        }
        // 按盘点单明细汇总实盘数量并回写
        Set<Long> taskItemIds = diffItems.stream().map(CheckDiffItem::getTaskItemId).filter(Objects::nonNull).collect(Collectors.toSet());
        if (!taskItemIds.isEmpty()) {
            List<TaskItem> taskItems = taskItemService.listByIds(taskItemIds);
            Map<Long, BigDecimal> orderItemIdToCheckQty = new HashMap<>();
            for (CheckDiffItem di : diffItems) {
                if (di.getTaskItemId() == null) {
                    continue;
                }
                TaskItem ti = taskItems.stream().filter(t -> t.getId().equals(di.getTaskItemId())).findFirst().orElse(null);
                if (ti == null || ti.getOrderItemId() == null) {
                    continue;
                }
                Double cq = di.getCheckQty() != null ? di.getCheckQty() : 0.0;
                orderItemIdToCheckQty.merge(ti.getOrderItemId(), BigDecimal.valueOf(cq), BigDecimal::add);
            }
            for (Map.Entry<Long, BigDecimal> e : orderItemIdToCheckQty.entrySet()) {
                double workQty = e.getValue().setScale(6, RoundingMode.HALF_UP).doubleValue();
                if (!checkOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
                        .eq(WkOrderItem::getId, e.getKey())
                        .set(WkOrderItem::getWorkQty, workQty))) {
                    throw new CoolException("盘点单明细实盘数量更新失败");
                }
            }
            if (checkDiff.getOrderId() != null) {
                List<WkOrderItem> orderItems = checkOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, checkDiff.getOrderId()));
                BigDecimal orderWorkQty = orderItems.stream()
                        .map(oi -> oi.getWorkQty() != null ? BigDecimal.valueOf(oi.getWorkQty()) : BigDecimal.ZERO)
                        .reduce(BigDecimal.ZERO, BigDecimal::add);
                if (!checkOrderService.update(new LambdaUpdateWrapper<WkOrder>()
                        .eq(WkOrder::getId, checkDiff.getOrderId())
                        .set(WkOrder::getWorkQty, orderWorkQty.setScale(6, RoundingMode.HALF_UP).doubleValue()))) {
                    throw new CoolException("盘点单主表实盘数量更新失败");
                }
            }
        }
        task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
        task.setUpdateBy(loginUserId);
        task.setUpdateTime(new Date());
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -510,7 +510,7 @@
                            .setArrTime(syncOrder.getArrTime())
                            .setStationId(syncOrder.getStationId())
                            .setId(null)
                            .setCreateTime(new Date())
                            .setCreateTime(syncOrder.getCreateTime() != null ? syncOrder.getCreateTime() : new Date())
                            .setUpdateTime(new Date())
                            .setCreateBy(loginUserId)
                            .setUpdateBy(loginUserId);
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java
@@ -257,7 +257,6 @@
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.arrTime);
    }
    public String getRleStatus$(){
        if (null == this.rleStatus){ return null; }
        switch (this.rleStatus){
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
@@ -72,7 +72,7 @@
     * @description 删除已完成订单加入Log表
     * @time 2025/3/19 19:09
     */
    @Scheduled(cron = "0 0 5 * * ?")
    @Scheduled(cron = "0 */1 * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void InStockToLog() {
        List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()