自动化立体仓库 - WMS系统
#
lty
11 小时以前 4efbf695ce0e0e6565e75305a57ea4c4bbc2c45d
#
6个文件已修改
140 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderPakinController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderPakin.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlPakinService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderPakinController.java
@@ -90,7 +90,27 @@
        }
        wrapper.eq("status", 1);
        wrapper.eq("move_status", 0);
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
        Page<OrderPakin> page = orderService.selectPage(new Page<>(curr, limit), wrapper);
        if (page != null && page.getRecords() != null) {
            for (OrderPakin order : page.getRecords()) {
                if (order == null || Cools.isEmpty(order.getOrderNo())) {
                    continue;
                }
                int total = orderDetlPakinService.selectCount(new EntityWrapper<OrderDetlPakin>()
                        .eq("order_no", order.getOrderNo())
                        .eq("status", 1));
                if (total <= 0) {
                    order.setIssueComplete(0);
                    continue;
                }
                int notComplete = orderDetlPakinService.selectCount(new EntityWrapper<OrderDetlPakin>()
                        .eq("order_no", order.getOrderNo())
                        .eq("status", 1)
                        .where("be_batch is null or be_batch < anfme"));
                order.setIssueComplete(notComplete <= 0 ? 1 : 0);
            }
        }
        return R.ok(page);
    }
    @RequestMapping(value = "/actual/shipment/order/report/auth")
@@ -103,6 +123,20 @@
        return R.error("失败").add("失败");
    }
    @RequestMapping(value = "/order/oneKey/issue/auth")
    @ManagerAuth(memo = "一键下发")
    @Transactional
    public R oneKeyIssue(@RequestParam String orderNo) {
        if (Cools.isEmpty(orderNo)) {
            return R.error("订单号不能为空");
        }
        if (!orderDetlPakinService.issueAll(orderNo)) {
            return R.error("下发明细更新失败");
        }
        orderService.updateOrderStatus(orderNo);
        return R.ok("成功").add("成功");
    }
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId){
src/main/java/com/zy/asrs/entity/OrderPakin.java
@@ -262,6 +262,9 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    @TableField(exist = false)
    private Integer issueComplete;
    /**
     * 状态 1: 进行中  0: 初始  2:已完成
     */
src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java
@@ -65,4 +65,7 @@
    @Update("update man_order_detl_pakin set be_batch = #{beBatch} where id = #{id}")
    int updateBeBatch(@Param("id") Long id, @Param("beBatch") Integer beBatch);
    @Update("update man_order_detl_pakin set inspect = 1, sorting_anfme = anfme, be_batch = cast(anfme as int) where order_no = #{orderNo} and status = 1")
    int issueAll(@Param("orderNo") String orderNo);
}
src/main/java/com/zy/asrs/service/OrderDetlPakinService.java
@@ -52,4 +52,6 @@
    boolean updateBeBatch(Long id, Integer beBatch);
    boolean issueAll(String orderNo);
}
src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java
@@ -124,6 +124,11 @@
    public boolean updateBeBatch(Long id, Integer beBatch) {
        return this.baseMapper.updateBeBatch(id, beBatch) > 0;
    }
    @Override
    public boolean issueAll(String orderNo) {
        return this.baseMapper.issueAll(orderNo) > 0;
    }
    
    @Override
    public boolean morpt(String orderNo,String orderNo1){
src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
@@ -157,6 +157,18 @@
                    <el-option label="重新下发" value="99"></el-option>
                </el-select>
            </div>
            <div class="search-item">
                <span class="search-label">创建日期:</span>
                <el-date-picker
                        v-model="selectedDate"
                        type="date"
                        value-format="yyyy-MM-dd"
                        placeholder="选择日期"
                        clearable
                        style="width: 150px;"
                        @change="handleDateChange"
                ></el-date-picker>
            </div>
            <div class="search-actions">
                <el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
                <el-button icon="el-icon-refresh" @click="handleReset">重置</el-button>
@@ -178,11 +190,24 @@
<!--            <el-table-column prop="itemName" label="组货单号" width="120" align="center" sortable="custom"></el-table-column>-->
            <el-table-column prop="cstmrName" label="货主" min-width="120" align="center"></el-table-column>
            <el-table-column prop="settle$" label="状态" min-width="100" align="center" :formatter="formatStatus"></el-table-column>
            <el-table-column prop="issueComplete" label="下发完成" width="100" align="center">
                <template slot-scope="scope">
                    <el-tag v-if="scope.row.issueComplete === 1" type="success">已全下发</el-tag>
                    <el-tag v-else type="info">未完成</el-tag>
                </template>
            </el-table-column>
            <el-table-column prop="createTime" label="创建时间" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column>
            <el-table-column prop="updateTime" label="更新日期" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column>
            <el-table-column label="操作" width="150" align="center" fixed="right">
            <el-table-column label="操作" width="220" align="center" fixed="right">
                <template slot-scope="scope">
                    <div class="operation-cell">
                        <el-button
                                type="warning"
                                size="mini"
                                :disabled="scope.row.issueComplete === 1"
                                @click="oneKeyIssue(scope.row)">
                            一键下发
                        </el-button>
                        <el-button
                                type="primary"
                                size="mini"
@@ -357,6 +382,7 @@
                cstmrName: '',
                settle: ''
            },
            selectedDate: '',
            detailSearch: {
                standby3: '',
                boxType3: ''
@@ -456,6 +482,10 @@
                if (that.orderByField) {
                    params.orderByField = that.orderByField;
                    params.orderByType = that.orderByType;
                }
                if (that.selectedDate) {
                    params['create_time'] = that.selectedDate + ' 00:00:00 - ' + that.selectedDate + ' 23:59:59';
                }
                Object.keys(that.searchForm).forEach(key => {
@@ -956,6 +986,11 @@
                this.getTableDataA();
            },
            handleDateChange() {
                this.currentPage = 1;
                this.getTableDataA();
            },
            // 重置搜索条件
            handleReset() {
                this.searchForm = {
@@ -963,12 +998,66 @@
                    cstmrName: '',
                    settle: ''
                };
                this.selectedDate = '';
                this.orderByField = '';
                this.orderByType = 'asc';
                this.currentPage = 1;
                this.getTableDataA();
            },
            oneKeyIssue(row) {
                if (!row || !row.orderNo) {
                    this.$message.error('订单号为空');
                    return;
                }
                const orderNo = row.orderNo;
                this.$confirm(
                        `确认一键下发订单号 <strong style="color: #F56C6C; font-size: 16px;">${orderNo}</strong> 的全部明细吗?`,
                        '一键下发',
                        {
                            confirmButtonText: '确认下发',
                            cancelButtonText: '取消',
                            type: 'warning',
                            dangerouslyUseHTMLString: true
                        }
                ).then(() => {
                    const loadingInstance = this.$loading({
                        lock: true,
                        text: '下发中...',
                        spinner: 'el-icon-loading',
                        background: 'rgba(0, 0, 0, 0.7)'
                    });
                    $.ajax({
                        url: baseUrl + "/order/pakin/order/oneKey/issue/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: { orderNo: orderNo },
                        method: 'POST',
                        success: (res) => {
                            loadingInstance.close();
                            if (res.code === 200 || res.success) {
                                this.$message({
                                    message: `订单号 ${orderNo} 下发成功`,
                                    type: 'success',
                                    duration: 3000
                                });
                                this.getTableDataA();
                            } else {
                                this.$message.error(res.msg || '下发失败');
                            }
                        },
                        error: () => {
                            loadingInstance.close();
                            this.$message.error('下发失败,请检查网络连接');
                        }
                    });
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消操作'
                    });
                });
            },
            // 显示详情弹窗
            showDetail(row) {
                this.currentRow = row;