From f3914234db3bf68dad372c4dfb9a1111a0c09e32 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期四, 28 十二月 2023 15:04:22 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java index 4438c18..d359763 100644 --- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java @@ -1,12 +1,69 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.zy.asrs.entity.ManLocDetl; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.mapper.PakoutMapper; import com.zy.asrs.entity.Pakout; -import com.zy.asrs.service.PakoutService; +import com.zy.asrs.service.*; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; @Service("pakoutService") public class PakoutServiceImpl extends ServiceImpl<PakoutMapper, Pakout> implements PakoutService { + @Autowired + private OrderService orderService; + @Autowired + private OrderDetlService orderDetlService; + + @Autowired + private ManLocDetlService manLocDetlService; + + @Override + public void deletePakout(String docNum) { + Order order = orderService.selectByNo(docNum); + if (Cools.isEmpty(order)){ + throw new RuntimeException("鏈煡璇㈠埌璁㈠崟妗f"); + } + List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", docNum)); + + for (OrderDetl orderDetl: orderDetls){ + if (orderDetl.getQty() > 0.0){ + throw new RuntimeException("鎷h揣鍗曞凡鏈夊嚭搴撲换鍔★紝涓嶅彲鍒犻櫎!"); + } + orderDetl.setWorkQty(0.0D); + } + + if (!orderDetlService.updateBatchById(orderDetls)){ + throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触"); + } + order.setSettle(1L); + if (!orderService.updateById(order)){ + throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触"); + } + + List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum)); + for (Pakout pakout: pakouts){ + ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>() + .eq("loc_no", pakout.getLocNo()) + .eq("matnr", pakout.getMatnr())); + manLocDetl.setStatus(1); + if (!manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>() + .eq("loc_no", pakout.getLocNo()) + .eq("matnr", pakout.getMatnr()))){ + throw new RuntimeException("搴撳瓨鐘舵�佹洿鏂板け璐�"); + } + } + + if (!delete(new EntityWrapper<Pakout>().eq("doc_num",docNum))){ + throw new RuntimeException("鎷h揣鍗曞垹闄ゅけ璐�"); + } + } } -- Gitblit v1.9.1