自动化立体仓库 - WMS系统
*
lsh
8 小时以前 f00281e8dd4f2b5297cf430d8440ff23a2f3e628
*
7个文件已修改
221 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderDetlPakoutController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderPakoutController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlPakoutMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderPakoutMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderPakout/order.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlPakoutController.java
@@ -46,7 +46,7 @@
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
            wrapper.orderBy("create_time", false);
            wrapper.orderBy("update_time", false);
        }
        wrapper.eq("status", 1);
        Page<OrderDetlPakout> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
@@ -170,14 +170,6 @@
        }
    }
//    @RequestMapping(value = "/orderDetl/batch/report/auth")
//    @ManagerAuth(memo = "修改上报项")
//    public R reportBatch(@RequestBody JSONObject param) {
//        String.valueOf(param.get("key"))), param.get("val")
//        System.out.println(param);
//        return R.ok();
//    }
    @RequestMapping(value = "/orderDetl/batch/report/auth")
    @ManagerAuth(memo = "修改上报项")
    public R reportBatch(ReportOrderBatchDetlParam param) {
@@ -191,6 +183,19 @@
        return R.ok();
    }
    @RequestMapping(value = "/orderDetl/order/v1/report/auth")
    @ManagerAuth(memo = "上报MES实际组货单")
    public R reportBatchOrder(ReportOrderBatchDetlParam param) {
        List<OrderDetlPakout> orderDetlPakoutList = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>()
                .eq("batch", param.getBatch())
        );
        for (OrderDetlPakout orderDetl : orderDetlPakoutList){
            orderDetl.setStatus(param.getStatus());
            orderDetlService.updateById(orderDetl);
        }
        return R.ok();
    }
}
src/main/java/com/zy/asrs/controller/OrderPakoutController.java
@@ -82,8 +82,10 @@
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
            wrapper.orderBy("settle").orderBy("create_time", false);
        if (!Cools.isEmpty(orderByField)){
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        } else {
            wrapper.orderBy("update_time", false);
        }
        wrapper.eq("status", 1);
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java
@@ -7,11 +7,13 @@
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.entity.param.OrderInspectionRollParam;
import com.zy.asrs.entity.param.OrderOutLocBoxCsUtilParam;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.LocMastServiceImpl;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.CodeDetectionUtil;
@@ -44,6 +46,8 @@
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private LocMastServiceImpl locMastService;
    @Transactional
    public ReturnT<String> abandoned(OrderPakout orderPakout) {
@@ -81,6 +85,15 @@
            if (!CodeDetectionUtil.barcodeDetection(orderDetl.getManu(),7)){
                LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", orderDetl.getModel()));
                if (!Cools.isEmpty(locDetl)){
                    LocMast locMast = locMastService.selectById(locDetl.getLocNo());
                    if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){
                        if (Cools.isEmpty(memo)){
                            memo = "卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态";
                        }else {
                            memo = memo+";卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态";
                        }
                        continue;
                    }
                    signD = false;
                    orderDetl.sync(locDetl);
                    orderDetl.setManu(locDetl.getLocNo());
@@ -92,25 +105,38 @@
                        orderDetlPakoutService.updateById(orderDetl);
                        continue;
                    }
                } else {
                    if (Cools.isEmpty(memo)){
                        memo = "无库存";
                        memo = "卷号"+ orderDetl.getModel()+"无库存";
                    }else {
                        memo = memo+";无库存";
                        memo = memo+";卷号"+ orderDetl.getModel()+"无库存";
                    }
                    continue;
                }
            }
            if (signD){
                LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", orderDetl.getModel()));
                if (!Cools.isEmpty(locDetl)){
                    LocMast locMast = locMastService.selectById(locDetl.getLocNo());
                    if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){
                        if (Cools.isEmpty(memo)){
                            memo = "卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态";
                        }else {
                            memo = memo+";卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态";
                        }
                        continue;
                    }
                }
                if (!Cools.isEmpty(orderDetl.getDanger$()) && orderDetl.getDanger()==1){//合格不需要检验
                    continue;
                } else {
                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", orderDetl.getModel()));
                    if (!Cools.isEmpty(locDetl.getDanger$()) && locDetl.getDanger()==1){
                        orderDetl.setDanger(1);
                        orderDetlPakoutService.updateById(orderDetl);
                        continue;
                    }
                }
            }
            OrderInspectionRollParam orderInspectionRollParam = new OrderInspectionRollParam(orderDetl.getModel());
@@ -132,16 +158,16 @@
                            orderDetlPakoutService.updateById(orderDetl);
                        } else if (!Cools.isEmpty(orderDetl.getDanger$()) && value.equals(orderDetl.getDanger$())){
                            if (Cools.isEmpty(memo)){
                                memo = "查询卷号结果:"+jsonObject.getString("message");
                                memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                            }else {
                                memo = memo+";查询卷号结果:"+jsonObject.getString("message");
                                memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                            }
                            continue;
                        } else {
                            if (Cools.isEmpty(memo)){
                                memo = "查询卷号结果:"+jsonObject.getString("message");
                                memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                            }else {
                                memo = memo+";查询卷号结果:"+jsonObject.getString("message");
                                memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                            }
                            if (value.equals("不合格")){
                                orderDetl.setDanger(2);
@@ -151,26 +177,26 @@
                        }
                    } else {
                        if (Cools.isEmpty(memo)){
                            memo = "查询卷号结果:"+jsonObject.getString("message");
                            memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                        }else {
                            memo = memo+";查询卷号结果:"+jsonObject.getString("message");
                            memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                        }
                    }
                    success = true;
                } else {
                    if (Cools.isEmpty(memo)){
                        memo = "查询卷号结果:"+jsonObject.getString("message");
                        memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                    }else {
                        memo = memo+";查询卷号结果:"+jsonObject.getString("message");
                        memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message");
                    }
                    log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(orderInspectionRollParam), response);
//                    throw new CoolException("查询卷号是否合格失败");
                }
            } catch (Exception e) {
                if (Cools.isEmpty(memo)){
                    memo = "查询卷号结果:"+"异常"+e.getMessage();
                    memo = "卷号"+ orderDetl.getModel()+"查询结果:"+"异常"+e.getMessage();
                }else {
                    memo = memo+";查询卷号结果:"+"异常"+e.getMessage();
                    memo = memo+"卷号"+ orderDetl.getModel()+"查询结果:"+"异常"+e.getMessage();
                }
                log.error("fail", e);
//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -257,13 +257,18 @@
    </update>
    <select id="selectOrderPakoutDetailVoList" resultMap="PakoutDetailResultMap">
        SELECT * FROM v_pakout_detail
        WHERE 1 = 1
        select d.* from (
            select
            ROW_NUMBER() over (order by c.update_time desc) as row1,
            c.* from (
                select a.* from v_pakout_detail as a
                where 1=1
        <if test="itemName != null and itemName != ''">
            AND item_name LIKE CONCAT('%', #{itemName}, '%')
        </if>
        AND row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
        ORDER BY create_time DESC
            ) as c
        ) as d
        where d.row1 between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.update_time desc
    </select>
    <select id="selectOrderPakoutDetailVoListTotal" resultType="Long">
src/main/resources/mapper/OrderPakoutMapper.xml
@@ -145,8 +145,12 @@
    </update>
    <select id="selectOrderPakoutMainVoList" resultMap="PakoutMainResultMap">
        SELECT * FROM v_pakout_main
        WHERE status = 1
        select d.* from (
            select
            ROW_NUMBER() over (order by c.update_time desc) as row1,
            c.* from (
                select a.* from v_pakout_main as a
                where 1=1 AND status = 1
        <if test="itemName != null and itemName != ''">
            AND item_name LIKE CONCAT('%', #{itemName}, '%')
        </if>
@@ -159,8 +163,9 @@
        <if test="status != null and status != ''">
            AND status = #{status}
        </if>
        AND row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
        ORDER BY create_time DESC
            ) as c
        ) as d
        where d.row1 between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.update_time desc
    </select>
    <select id="selectOrderPakoutMainVoListTotal" resultType="Long">
src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
@@ -158,9 +158,12 @@
                style="width: 100%"
                v-loading="loading"
                @sort-change="handleSortChange">
            <el-table-column prop="itemName" label="组货单号" width="120" align="center" sortable="custom"></el-table-column>
            <el-table-column prop="itemName" label="组货单号" width="240" 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="orderCount" label="组货单数" width="80" 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="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">
                <template slot-scope="scope">
                    <div class="operation-cell">
@@ -426,7 +429,7 @@
                const status = 2; // 箱号
                this.$confirm(
                        `确定将组货单号: <strong style="color: #409EFF;">${groupOrderNo}</strong> 、箱号: <strong style="color: #409EFF;">${batch}</strong> 添加到上报列吗?`,
                        `确定将组货单号: <strong style="color: #409EFF;">${groupOrderNo}</strong> 中的箱号: <strong style="color: #409EFF;">${batch}</strong> 添加到上报列吗?`,
                        '确认修改',
                        {
                            confirmButtonText: '确认修改',
@@ -484,7 +487,6 @@
                    background: 'rgba(0, 0, 0, 0.7)'
                });
                // 调用后台API提交修改
                $.ajax({
                    url: baseUrl + "/order/pakout/orderDetl/batch/report/auth",
                    headers: {'token': localStorage.getItem('token')},
@@ -504,7 +506,6 @@
                                duration: 3000
                            });
                            // 修改成功后可以刷新子表数据
                            this.getTableDataB(groupOrderNo);
                        } else {
                            this.$message.error(res.message || '修改失败');
@@ -531,7 +532,6 @@
                this.getTableDataA();
            },
            // 显示二次确认对话框
            showConfirmDialog() {
                if (!this.currentRow) {
                    this.$message.error('没有选择要上报的数据');
@@ -733,13 +733,6 @@
                return '¥0.00';
            },
            // 格式化日期显示
            formatDate(dateStr) {
                if (!dateStr) return '';
                // 简单的日期格式化,可以根据实际格式调整
                return dateStr;
            },
            // 模拟主表数据 - 实际项目中应删除
            mockTableAData() {
                this.tableDataA = [
@@ -772,6 +765,101 @@
                ];
                this.detailTotal = 1;
                this.detailLoading = false;
            },
            // 为表格列添加格式化方法
            formatDateColumn(row, column, cellValue) {
                return this.formatDate(cellValue);
            },
            // // 格式化日期显示
            // formatDate(dateStr) {
            //     if (!dateStr) return '';
            //     // 简单的日期格式化,可以根据实际格式调整
            //     return dateStr;
            // },
            // 在Vue实例的methods中添加或修改formatDate方法
            formatDate(dateStr) {
                if (!dateStr) return '';
                try {
                    // 创建Date对象
                    const date = new Date(dateStr);
                    // 检查日期是否有效
                    if (isNaN(date.getTime())) {
                        return dateStr; // 如果解析失败,返回原字符串
                    }
                    // 获取各个时间组件
                    const year = date.getFullYear();
                    const month = String(date.getMonth() + 1).padStart(2, '0');
                    const day = String(date.getDate()).padStart(2, '0');
                    const hours = String(date.getHours()).padStart(2, '0');
                    const minutes = String(date.getMinutes()).padStart(2, '0');
                    const seconds = String(date.getSeconds()).padStart(2, '0');
                    // 返回格式化后的字符串:YYYY-MM-DD HH:mm:ss
                    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
                } catch (error) {
                    console.error('日期格式化错误:', error);
                    return dateStr; // 如果出错,返回原字符串
                }
            },
//本地时区的时间
            formatDate2(dateStr) {
                if (!dateStr) return '';
                try {
                    const date = new Date(dateStr);
                    if (isNaN(date.getTime())) {
                        return dateStr;
                    }
                    // 使用本地时区
                    const year = date.getFullYear();
                    const month = String(date.getMonth() + 1).padStart(2, '0');
                    const day = String(date.getDate()).padStart(2, '0');
                    const hours = String(date.getHours()).padStart(2, '0');
                    const minutes = String(date.getMinutes()).padStart(2, '0');
                    const seconds = String(date.getSeconds()).padStart(2, '0');
                    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
                } catch (error) {
                    console.error('日期格式化错误:', error);
                    return dateStr;
                }
            },
            //保持UTC时间但转换为更易读的格式
            formatDate3(dateStr) {
                if (!dateStr) return '';
                try {
                    // 直接解析字符串,不转换时区
                    const date = new Date(dateStr);
                    if (isNaN(date.getTime())) {
                        return dateStr;
                    }
                    // 使用UTC时间组件
                    const year = date.getUTCFullYear();
                    const month = String(date.getUTCMonth() + 1).padStart(2, '0');
                    const day = String(date.getUTCDate()).padStart(2, '0');
                    const hours = String(date.getUTCHours()).padStart(2, '0');
                    const minutes = String(date.getUTCMinutes()).padStart(2, '0');
                    const seconds = String(date.getUTCSeconds()).padStart(2, '0');
                    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
                } catch (error) {
                    console.error('日期格式化错误:', error);
                    return dateStr;
                }
            }
        }
    });
src/main/webapp/views/orderPakout/order.html
@@ -121,8 +121,6 @@
    {{# } }}
    {{# if (d.settle == 13 || d.settle == 98) { }}
    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="inspection">出库合格品</a>
    {{# } }}
    {{# if (d.settle == 98) { }}
        <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">重新检验出库</a>
    {{# } }}
</script>