From fc39b347617e3c88c87b879e9d2d1ceca58774a5 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 25 四月 2022 15:30:29 +0800 Subject: [PATCH] # --- src/main/resources/mapper/WrkDetlMapper.xml | 6 ++++++ src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 2 ++ src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 36 +++++++++++++++++++++++++++++------- src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 +++++ src/main/java/com/zy/asrs/service/WrkDetlService.java | 2 ++ 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java index 98e2931..b89da24 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java @@ -18,4 +18,6 @@ int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); + List<WrkDetl> selectAndLogByOrderNo(String orderNo); + } diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java index bec23ae..c905b21 100644 --- a/src/main/java/com/zy/asrs/service/WrkDetlService.java +++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java @@ -14,4 +14,6 @@ boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch); + List<WrkDetl> selectAndLogByOrderNo(String orderNo); + } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 1a1379e..625f2f2 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -5,17 +5,12 @@ import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; -import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.entity.WrkDetl; -import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.OpenOrderPakinParam; import com.zy.asrs.entity.param.OpenOrderPakoutParam; import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.mapper.OrderMapper; -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.OpenService; -import com.zy.asrs.service.OrderDetlService; -import com.zy.asrs.service.OrderService; +import com.zy.asrs.service.*; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.common.model.DetlDto; import lombok.extern.slf4j.Slf4j; @@ -37,6 +32,10 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private OrderDetlService orderDetlService; + @Autowired + private DocTypeService docTypeService; + @Autowired + private WrkDetlService wrkDetlService; @Override public Order selectByNo(String orderNo) { @@ -72,6 +71,29 @@ } } if (complete) { + // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏 + DocType docType = docTypeService.selectById(order.getDocType()); + if (null != docType && docType.getPakout() == 1) { + if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { + throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + 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); + orderDetl.setCreateTime(order.getCreateTime()); + orderDetl.setCreateBy(order.getCreateBy()); + orderDetl.setUpdateTime(order.getUpdateTime()); + orderDetl.setUpdateBy(order.getUpdateBy()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�"); + } + } + } + if (!this.updateSettle(order.getId(), 4L, null)) { throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�"); } diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java index 263ee27..8105a00 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java @@ -65,4 +65,9 @@ return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; } } + + @Override + public List<WrkDetl> selectAndLogByOrderNo(String orderNo) { + return this.baseMapper.selectAndLogByOrderNo(orderNo); + } } diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index 89bb3e1..260adc0 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -81,4 +81,10 @@ <include refid="batchSeq"></include> </update> + <select id="selectAndLogByOrderNo" resultMap="BaseResultMap"> + select * from asr_wrk_detl where order_no = #{orderNo} + union + select * from asr_wrk_detl_log where order_no = #{orderNo} + </select> + </mapper> -- Gitblit v1.9.1