自动化立体仓库 - WMS系统
lfd
2026-03-26 3a2158fe78db763c72d5124a964d7fd7934b51ac
src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
@@ -51,7 +51,7 @@
    /**
     * 上报入出库完结订单信息
     */
    @Scheduled(cron = "${erp.refreshtime}")
//    @Scheduled(cron = "${erp.refreshtime}")
    public void reportOrder() {
        if (!erpEnabled) return;
        String sqlSelectLkDetTb = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb where 1=1";
@@ -61,18 +61,23 @@
            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
            if (orders.size() > 0) {
                for (Order order : orders) {
                    List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
                    if (!Cools.isEmpty(orderDetls)) {
                        for (OrderDetl orderDetl : orderDetls) {
                            String orderNo = orderDetl.getOrderNo().split("---")[0];
                            Integer itm = Integer.getInteger(orderDetl.getOrderNo().split("---")[1]);
                            Date now = new Date();
                            List<LkDetTb> lkDetTbs = erpSqlServer.select(sqlSelectLkDetTb +
                                            " and bill_no='" + orderDetl.getOrderNo() + "'" +
                                            " and bill_no='" + orderNo + "'" +
                                            " and prd_no='" + orderDetl.getMatnr() + "'" +
                                            " and ITM='" + itm + "'" +
                                            " and prd_mark='" + orderDetl.getBatch() + "'"
                                    , LkDetTb.class);
                            List<LkDetTbBak> lkDetTbBaks = erpSqlServer.select(sqlSelectLkDetTbBak +
                                            " and bill_no='" + orderDetl.getOrderNo() + "'" +
                                            " and bill_no='" + orderNo + "'" +
                                            " and prd_no='" + orderDetl.getMatnr() + "'" +
                                            " and ITM='" + itm + "'" +
                                            " and prd_mark='" + orderDetl.getBatch() + "'"
                                    , LkDetTbBak.class);
                            if (lkDetTbs.size() == 1) {
@@ -90,8 +95,9 @@
                            } else {
                                String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now);
                                HashMap<String, Object> condition = new HashMap<>();
                                condition.put("bill_no", "'" + orderDetl.getOrderNo() + "'");
                                condition.put("bill_no", "'" + orderNo + "'");
                                condition.put("prd_no", "'" + orderDetl.getMatnr() + "'");
                                condition.put("itm", "'" + itm + "'");
                                DocType docType = docTypeService.selectById(order.getDocType());
                                if (!Cools.isEmpty(docType)) {