自动化立体仓库 - WMS系统
*
lsh
12 小时以前 1d8a66556222beb4f2447c55437af4c4fdbaf5e7
*
9个文件已修改
2个文件已添加
143 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakoutService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/GroupOrderFormScheduler.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OverYearLogScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/PlcLogScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderPakoutMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/orderPakout/order.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderPakout/order.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java
@@ -15,6 +15,7 @@
    int updateSettle(@Param("orderId")Long orderId, @Param("settle")Long settle, @Param("userId")Long userId);
    List<OrderPakout> selectComplete();
    List<OrderPakout> selectSettle(@Param("settle")Long settle);
    void removeGroupGoodsNoUpdate(@Param("itemName")String itemName,@Param("orderNo")String orderNo);
src/main/java/com/zy/asrs/service/OrderPakoutService.java
@@ -19,6 +19,7 @@
    void remove(Long orderId);
    List<OrderPakout> selectComplete();
    List<OrderPakout> selectSettle(Long settle);
    boolean addToLogTable(OrderPakout order);
src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
@@ -66,6 +66,11 @@
    }
    @Override
    public List<OrderPakout> selectSettle(Long settle) {
        return this.baseMapper.selectSettle(settle);
    }
    @Override
    public boolean addToLogTable(OrderPakout order) {
        return this.baseMapper.addToLogTable(order) > 0;
    }
src/main/java/com/zy/asrs/task/GroupOrderFormScheduler.java
New file
@@ -0,0 +1,67 @@
package com.zy.asrs.task;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.service.OrderPakoutService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.GroupOrderFormHandler;
import com.zy.common.entity.Parameter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * Created by Monkey D. Luffy on 2025.11.10
 * 徐工汉云..............以下.............上饶江铜.............拆垛完成信息处理
 */
@Slf4j
@Component
public class GroupOrderFormScheduler {
    @Autowired
    private GroupOrderFormHandler groupOrderFormHandler;
    @Autowired
    private OrderPakoutService orderPakoutService;
    @Scheduled(cron = "0/5 * * * * ? ")
    public void abandonedGroupOrderForm(){
        String erpReport = Parameter.get().getErpReport();
        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
            List<OrderPakout> orders = orderPakoutService.selectSettle(99L);
            for (OrderPakout order : orders) {
                try{
                    ReturnT<String> result = groupOrderFormHandler.abandoned(order);
                    if (!result.isSuccess()) {
                        log.error("单据[orderNo={}]上报erp失败", order.getOrderNo());
                    }
                }catch (Exception e){
                    log.error("单据[orderNo={}]上报erp失败", order.getOrderNo());
                    log.error("订单"+order+"处理失败,异常信息:"+e);
                }
            }
        }
    }
    @Scheduled(cron = "0/5 * * * * ? ")
    public void outGroupOrderForm(){
        String erpReport = Parameter.get().getErpReport();
        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
            List<OrderPakout> orders = orderPakoutService.selectSettle(11L);
            for (OrderPakout order : orders) {
                try{
                    ReturnT<String> result = groupOrderFormHandler.start(order);
                    if (!result.isSuccess()) {
                        log.error("单据[orderNo={}]上报erp失败", order.getOrderNo());
                    }
                }catch (Exception e){
                    log.error("计划组货单[orderNo={}]出库失败", order.getOrderNo());
                    log.error("订单"+order+"处理失败,异常信息:"+e);
                }
            }
        }
    }
}
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
@@ -14,7 +14,7 @@
    /**
     * 将已完成order和orderDetl移动到log表
     */
    @Scheduled(cron = "0/30 * * * * ?")
    @Scheduled(cron = "0 0 * * * ?")
    public void execute(){
        orderMoveHistoryHandler.start();
    }
src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
@@ -19,7 +19,7 @@
    @Autowired
    private OverYearLogHandler overYearLogHandler;
    @Scheduled(cron = "0 0 1 * * ? ")
    @Scheduled(cron = "0 0 2 * * ? ")
    private void execute(){
        ReturnT<String> returnT = overYearLogHandler.start();
        if (!returnT.isSuccess()) {
src/main/java/com/zy/asrs/task/PlcLogScheduler.java
@@ -19,7 +19,7 @@
    @Autowired
    private PlcLogHandler plcLogHandler;
    @Scheduled(cron = "0 0 1 * * ? ")
    @Scheduled(cron = "0 0 * * * ?")
    private void execute(){
        ReturnT<String> returnT = plcLogHandler.start();
        if (!returnT.isSuccess()) {
src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java
New file
@@ -0,0 +1,48 @@
package com.zy.asrs.task.handler;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.service.OrderDetlPakoutService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderPakoutService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * Created by Monkey D. Luffy on 2025.11.10
 * 徐工汉云..............以下.............上饶江铜.............拆垛完成信息处理
 */
@Slf4j
@Service
public class GroupOrderFormHandler extends AbstractHandler<String> {
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Transactional
    public ReturnT<String> abandoned(OrderPakout orderPakout) {
        List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(orderPakout.getId());
        return SUCCESS;
    }
    @Transactional
    public ReturnT<String> start(OrderPakout orderPakout) {
        List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(orderPakout.getId());
        return SUCCESS;
    }
}
src/main/resources/mapper/OrderPakoutMapper.xml
@@ -62,6 +62,15 @@
        order by create_time asc
    </select>
    <select id="selectSettle" resultMap="BaseResultMap">
        select top 5 *
        from man_order_pakout
        where 1=1
          and settle =  #{settle}
          and status = 1
        order by create_time asc
    </select>
    <insert id="addToLogTable">
        INSERT INTO man_order_pakout_log SELECT * FROM man_order_pakout WHERE id = #{id}
    </insert>
src/main/webapp/static/js/orderPakout/order.js
@@ -561,7 +561,7 @@
    // 修改订单状态
    function doModify(orderId, orderNo, settle) {
        layer.confirm('确定要生成实际组货单,同一个组货单号,只能存在一个实际组货单,谨慎操作!!!', {
        layer.confirm('符合出库条件货物将直接出库!!!谨慎操作!!!', {
            shade: .1,
            skin: 'layui-layer-admin'
        }, function (i) {
src/main/webapp/views/orderPakout/order.html
@@ -113,10 +113,10 @@
<!--        <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a>-->
    {{# } }}
    {{# if (d.settle == 10) { }}
        <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">生成实际组货单</a>
        <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">出库</a>
    {{# } }}
    {{# if (d.settle == 98) { }}
        <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">重新生成实际组货单</a>
        <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">重新出库</a>
    {{# } }}
</script>
<!-- 表格操作列 -->