自动化立体仓库 - WMS系统
luxiaotao1123
2022-03-24 609a1b7daafdc351f6601c046ea3ffae64b6709a
#杰克缝纫机立库 【手动修改订单 + 优化】
4个文件已修改
68 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -122,32 +122,47 @@
        if (order == null || order.getStatus() == 0) {
            return R.error("订单不存在");
        }
        Date now = new Date();
        Long userId = getUserId();
        // 修改主档
        if (!param.getDocType().equals(order.getDocType())) {
            order.setDocType(param.getDocType());
            order.setUpdateBy(getUserId());
            order.setUpdateTime(new Date());
            order.setUpdateBy(userId);
            order.setUpdateTime(now);
            if (!orderService.updateById(order)) {
                throw new CoolException("修改订单类型失败");
            }
        }
        // 修改明细档
        Iterator<OrderDetl> iterator = param.getOrderDetlList().iterator();
        while (iterator.hasNext()) {
            OrderDetl orderDetl = iterator.next();
            OrderDetl detl = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        // 1.清空明细档
        if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
            throw new CoolException("清空订单明细失败");
        }
        // 2.重组数据
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            OrderDetl detl = orderDetlService.findByLook(orderDetls, order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
            // 新增
            if (detl == null) {
                detl = orderDetl;
                detl.setOrderId(order.getId());
                detl.setCreateTime(now);
                detl.setCreateBy(userId);
                detl.setUpdateTime(now);
                detl.setUpdateBy(userId);
                detl.setStatus(1);
            // 修改
            } else {
                detl.setAnfme(orderDetl.getAnfme());    // 修改数量
                detl.setUpdateTime(now);
                detl.setUpdateBy(userId);
            }
            // 持久化
            if (!orderDetlService.insert(detl)) {
                throw new CoolException("新增订单明细失败");
            }
        }
        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        return R.ok();
        return R.ok("订单修改成功");
    }
src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -11,4 +11,6 @@
    OrderDetl selectItem(Long orderId, String matnr, String batch);
    OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
}
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.OrderDetlService;
@@ -21,4 +22,20 @@
    public OrderDetl selectItem(Long orderId, String matnr, String batch) {
        return this.baseMapper.selectItem(orderId, matnr, batch);
    }
    @Override
    public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) {
        for (OrderDetl orderDetl : orderDetls) {
            if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) {
                if (!Cools.isEmpty(batch)) {
                    if (orderDetl.getBatch().equals(batch)) {
                        return orderDetl;
                    }
                } else {
                    return orderDetl;
                }
            }
        }
        return null;
    }
}
src/main/webapp/static/js/order/order.js
@@ -1,3 +1,4 @@
var insTbCount = 0;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -46,6 +47,7 @@
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
            }
            insTbCount = count;
        }
    });
@@ -200,7 +202,7 @@
                            layer.closeAll('loading');
                            if (res.code === 200){
                                layer.close(dIndex);
                                insTb.reload({page: {curr: 1}});
                                $(".layui-laypage-btn")[0].click();
                                layer.msg(res.msg, {icon: 1});
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
@@ -420,7 +422,11 @@
                success: function (res) {
                    layer.closeAll('loading');
                    if (res.code === 200){
                        insTb.reload({page: {curr: 1}});
                        if (insTbCount === 0) {
                            insTb.reload({page: {curr: 1}});
                        } else {
                            $(".layui-laypage-btn")[0].click();
                        }
                        layer.msg(res.msg, {icon: 1});
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";