自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-10-19 3989e356b6b8bcd31e2d2981ac78e41f8ebbdfa5
#
7个文件已修改
49 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/BaseController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -101,7 +101,9 @@
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId){
        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId)));
        List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId));
        orderDetls.removeIf(next -> next.getQty() > 0);
        return R.ok().add(orderDetls);
    }
    @RequestMapping(value = "/order/form/add/auth")
src/main/java/com/zy/asrs/controller/OutController.java
@@ -113,7 +113,7 @@
        // 订单预校验  ===>> 1.订单状态; 2.订单带出数量
        List<OrderDto> orderDtos = new ArrayList<>();
        for (LocDto locDto : locDtos) {
            if (!isJSON(locDto.getOrderNo())) {
            if (isJSON(locDto.getOrderNo())) {
                if (Cools.isEmpty(locDto.getOrderNo())) { continue; }
                OrderDto orderDto = new OrderDto(locDto.getOrderNo(), locDto.getMatnr(), locDto.getAnfme());
                if (OrderDto.has(orderDtos, orderDto)) {
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
@@ -15,6 +16,7 @@
import com.zy.common.model.DetlDto;
import com.zy.common.model.OrderDto;
import com.zy.common.model.OrderMergeVo;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -80,15 +82,27 @@
            if (null != docType && docType.getPakout() == 1) {
                // 重组明细
                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
                    throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                    throw new CoolException("重组出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                }
                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
                for (WrkDetl wrkDetl : wrkDetls) {
                    OrderDetl orderDetl = new OrderDetl();
                    orderDetl.sync(wrkDetl);
                    orderDetl.setQty(orderDetl.getAnfme());
                    orderDetl.setOrderId(order.getId());
                    orderDetl.setOrderNo(orderNo);
                    if (BaseController.isJSON(wrkDetl.getOrderNo())) {
                        orderDetl.setQty(orderDetl.getAnfme());
                    } else {
                        // 订单合并出库
                        List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
                        for (OrderDto one : orderDtoList) {
                            if (one.getOrderNo().equals(orderNo)) {
                                orderDetl.setAnfme(one.getAnfme());
                                orderDetl.setQty(one.getAnfme());
                                break;
                            }
                        }
                    }
                    orderDetl.setStatus(1);
                    orderDetl.setCreateTime(order.getCreateTime());
                    orderDetl.setCreateBy(order.getCreateBy());
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -351,7 +351,7 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!BaseController.isJSON(locDto.getOrderNo())) {
            if (BaseController.isJSON(locDto.getOrderNo())) {
                OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
                if (orderDetl == null) {
                    orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
@@ -828,7 +828,7 @@
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        for (WrkDetl wrkDetl : wrkDetls) {
            if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
                if (BaseController.isJSON(wrkDetl.getOrderNo())) {
                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                        throw new CoolException("订单数据回滚失败");
                    }
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -118,7 +118,7 @@
            }
            // 修改订单状态 作业中 ===>> 已完成
            for (WrkDetl wrkDetl : wrkDetlsKeyOrder) {
                if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
                if (BaseController.isJSON(wrkDetl.getOrderNo())) {
                    orderService.checkComplete(wrkDetl.getOrderNo());
                } else {
                    // 订单合并出库
src/main/java/com/zy/common/web/BaseController.java
@@ -1,6 +1,5 @@
package com.zy.common.web;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -146,14 +145,12 @@
    public static boolean isJSON(String str) {
        if (Cools.isEmpty(str)) {
            return false;
            return true;
        } else {
            try {
                JSON.parse(str);
                return true;
            } catch (Exception e) {
            str = str.trim();
            if (str.startsWith("{") && str.endsWith("}")) {
                return false;
            }
            } else return !str.startsWith("[") || !str.endsWith("]");
        }
    }
}
src/main/resources/mapper/WrkDetlMapper.xml
@@ -85,12 +85,12 @@
        select awd.*
        from asr_wrk_detl awd
        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time
        where order_no = #{orderNo}
        where order_no like '%' + #{orderNo} + '%'
        union
        select distinct awdl.*
        from asr_wrk_detl_log awdl
        left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time
        where awdl.order_no = #{orderNo}
        where awdl.order_no like '%' + #{orderNo} + '%'
        and (awml.manu_type is null or awml.manu_type != '手动取消')
    </select>
@@ -98,13 +98,13 @@
        select awd.wrk_no, awd.io_time, awd.matnr, sum(awd.anfme) as anfme
        from asr_wrk_detl awd
        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time
        where order_no = #{orderNo}
        where order_no like '%' + #{orderNo} + '%'
        group by awd.wrk_no, awd.io_time, awd.matnr
        union
        select distinct awdl.wrk_no, awdl.io_time, awdl.matnr, sum(awdl.anfme) as anfme
        from asr_wrk_detl_log awdl
        left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time
        where awdl.order_no = #{orderNo}
        where awdl.order_no like '%' + #{orderNo} + '%'
        and (awml.manu_type is null or awml.manu_type != '手动取消')
        group by awdl.wrk_no, awdl.io_time, awdl.matnr
    </select>