diff --git a/src/main/java/com/glxp/udi/admin/dao/inout/OrderDao.java b/src/main/java/com/glxp/udi/admin/dao/inout/OrderDao.java index 2133e21..b25c3d7 100644 --- a/src/main/java/com/glxp/udi/admin/dao/inout/OrderDao.java +++ b/src/main/java/com/glxp/udi/admin/dao/inout/OrderDao.java @@ -53,4 +53,20 @@ public interface OrderDao extends BaseMapper<OrderEntity> { * @param orderId */ void updateOrderStatus(@Param("orderStatus") Integer orderStatus, @Param("orderId") String orderId); + + /** + * 根据补单单号查询对向单据的订单号 + * + * @param orderId + * @return + */ + String selectOrderIdInSupplementNo(@Param("orderId") String orderId); + + /** + * 更新补单单号字段 + * + * @param supplementNo + * @param orderId + */ + void updateSupplementNo(@Param("supplementNo") String supplementNo, @Param("orderId") String orderId); } diff --git a/src/main/java/com/glxp/udi/admin/service/inout/OrderService.java b/src/main/java/com/glxp/udi/admin/service/inout/OrderService.java index 6e48478..38c587d 100644 --- a/src/main/java/com/glxp/udi/admin/service/inout/OrderService.java +++ b/src/main/java/com/glxp/udi/admin/service/inout/OrderService.java @@ -220,6 +220,7 @@ public class OrderService { codes.forEach(code -> { WarehousetempEntity supplementCode = new WarehousetempEntity(); BeanUtil.copyProperties(code, supplementCode); + supplementCode.setId(null); supplementCode.setFromCorpId(supplementOrder.getFromCorpId()); supplementCode.setFromCorp(supplementOrder.getFromCorp()); supplementCode.setLocStorageCode(supplementOrder.getLocStorageCode()); diff --git a/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java b/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java index fbba317..41d3739 100644 --- a/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java +++ b/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java @@ -112,6 +112,12 @@ public class WarehouseTempService { //判断此单据是否还存在条码,如果不存在,则直接删除此单据 int count = codesTempDao.countByOrderId(warehousetemp.getOrderId()); if (count == 0) { + //查询此单据是否存在补单数据,如果有,则清空对向单据的补单单号字段 + String orderId = orderDao.selectOrderIdInSupplementNo(warehousetemp.getOrderId()); + if (StrUtil.isNotBlank(orderId)) { + //将此单据的补单单号清空 + orderDao.updateSupplementNo(null, orderId); + } orderDao.deleteById(warehousetemp.getOrderId()); } return ResultVOUtils.success(); diff --git a/src/main/java/com/glxp/udi/admin/util/inout/InoutUtils.java b/src/main/java/com/glxp/udi/admin/util/inout/InoutUtils.java index 1d8423c..bcd2789 100644 --- a/src/main/java/com/glxp/udi/admin/util/inout/InoutUtils.java +++ b/src/main/java/com/glxp/udi/admin/util/inout/InoutUtils.java @@ -51,7 +51,7 @@ public class InoutUtils { } List<WarehouseEntity> inList = new ArrayList<>(); List<WarehouseEntity> outList = new ArrayList<>(); - if (warehouseEntityList != null && warehouseEntityList.size() > 0) { + if (CollUtil.isNotEmpty(warehouseEntityList)) { for (int i = 0; i < warehouseEntityList.size(); i++) { WarehouseEntity temp = warehouseEntityList.get(i); if (temp.getAction().equals(TypeConstant.TYPE_CODE_DESTORY)) { //过滤已销毁的 diff --git a/src/main/resources/mybatis/mapper/inout/OrderDao.xml b/src/main/resources/mybatis/mapper/inout/OrderDao.xml index b771fd6..2ea252e 100644 --- a/src/main/resources/mybatis/mapper/inout/OrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/OrderDao.xml @@ -25,10 +25,26 @@ </update> <select id="selectStatusByOrderId" resultType="int"> - select status from io_order where orderId = #{orderId} + select status + from io_order + where orderId = #{orderId} </select> <update id="updateOrderStatus"> - update io_order set status = #{orderStatus} where orderId = #{orderId} + update io_order + set status = #{orderStatus} + where orderId = #{orderId} + </update> + + <select id="selectOrderIdInSupplementNo" resultType="java.lang.String"> + select orderId + from io_order + where supplementNo = #{orderId} + </select> + + <update id="updateSupplementNo"> + update io_order + set supplementNo = null + where orderId = #{orderId} </update> </mapper> \ No newline at end of file