| src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/OrderPakoutService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/GroupOrderFormScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/OverYearLogScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/PlcLogScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/OrderPakoutMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/static/js/orderPakout/order.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/orderPakout/order.html | ●●●●● 补丁 | 查看 | 原始文档 | 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> <!-- 表格操作列 -->