Commit 228c6760656d5605aff11c812f9aaac3ec342971

Authored by 曾湘平
1 parent 6c165032

出库单详情编辑和删除移到service

huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
... ... @@ -252,27 +252,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
252 252 @ApiOperation(value = "出库单详情-编辑", notes = "出库单详情-编辑")
253 253 @RequiresPermissions("shipmentDetail:edit")
254 254 @RequestMapping(value = "/editShipmentDetail", method = {RequestMethod.PUT, RequestMethod.POST})
255   - public Result<String> editShipmentDetail(@RequestBody ShipmentDetail shipmentDetail) {
256   - if (shipmentDetail == null) {
257   - return Result.error("修改详情失败, 没有找到出库单详情");
258   - }
259   - ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId());
260   - if (shipmentHeader == null) {
261   - return Result.error("修改详情失败, 没有找到出库单");
262   - }
263   - if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) {
264   - return Result.error("修改详情失败, 出库单必须是新建状态才能修改详情");
265   - }
266   - boolean success = shipmentDetailService.updateById(shipmentDetail);
267   - if (!success) {
268   - throw new JeecgBootException("修改详情失败");
269   - }
270   - success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId());
271   - if (!success) {
272   - throw new JeecgBootException("修改详情时,更新出库单头数量失败");
273   - }
274   - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集
275   - return Result.OK("编辑成功!");
  255 + public Result<?> editShipmentDetail(@RequestBody ShipmentDetail shipmentDetail) {
  256 + return shipmentHeaderService.updateShipmentHeader(shipmentDetail);
276 257 }
277 258  
278 259 /**
... ... @@ -285,28 +266,8 @@ public class ShipmentHeaderController extends JeecgController&lt;ShipmentHeader, IS
285 266 @RequiresPermissions("shipmentDetail:delete")
286 267 @DeleteMapping(value = "/deleteShipmentDetail")
287 268 @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情删除'", extra = "#extraJsonString", msg = "''", recordReturnValue = true)
288   - public Result<String> deleteShipmentDetail(@RequestParam(name = "id", required = true) String id) {
289   - ShipmentDetail shipmentDetail = shipmentDetailService.getById(id);
290   - if (shipmentDetail == null) {
291   - return Result.error("删除失败, 没有找到出库单详情");
292   - }
293   - ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId());
294   - if (shipmentHeader == null) {
295   - return Result.error("删除失败, 没有找到出库单");
296   - }
297   - if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) {
298   - return Result.error("删除失败, 出库单必须是新建状态才能删除详情");
299   - }
300   - boolean success = shipmentDetailService.removeById(id);
301   - if (!success) {
302   - throw new JeecgBootException("删除详情失败");
303   - }
304   - success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId());
305   - if (!success) {
306   - throw new JeecgBootException("更新出库单头数量失败");
307   - }
308   - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集
309   - return Result.OK("删除成功!");
  269 + public Result<?> deleteShipmentDetail(@RequestParam(name = "id", required = true) String id) {
  270 + return shipmentHeaderService.deleteShipmentDetail(id);
310 271 }
311 272  
312 273 /**
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentHeaderService.java
... ... @@ -7,6 +7,7 @@ import java.util.List;
7 7 import org.jeecg.common.api.vo.Result;
8 8 import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfig;
9 9 import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfigDetail;
  10 +import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
10 11 import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader;
11 12  
12 13 import com.baomidou.mybatisplus.extension.service.IService;
... ... @@ -50,4 +51,8 @@ public interface IShipmentHeaderService extends IService&lt;ShipmentHeader&gt; {
50 51 Result autoShipmentAdvice(String shipmentCode, String warehouseCode);
51 52  
52 53 Result createShipment(WaveConfig waveConfig, List<WaveConfigDetail> waveConfigDetailList);
  54 +
  55 + Result updateShipmentHeader(ShipmentDetail shipmentDetail);
  56 +
  57 + Result deleteShipmentDetail(String shipmentDetailId);
53 58 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
... ... @@ -4,12 +4,14 @@ import java.io.Serializable;
4 4 import java.math.BigDecimal;
5 5 import java.text.SimpleDateFormat;
6 6 import java.util.Collection;
  7 +import java.util.Collections;
7 8 import java.util.Date;
8 9 import java.util.List;
9 10 import java.util.stream.Collectors;
10 11  
11 12 import javax.annotation.Resource;
12 13  
  14 +import com.alibaba.fastjson.JSON;
13 15 import org.jeecg.common.api.vo.Result;
14 16 import org.jeecg.common.exception.JeecgBootException;
15 17 import org.jeecg.modules.wms.config.container.service.IContainerService;
... ... @@ -256,6 +258,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl&lt;ShipmentHeaderMapper,
256 258 }
257 259  
258 260 @Override
  261 + @Transactional(rollbackFor = Exception.class)
259 262 public boolean updateShipmentHeader(Integer shipmentId) {
260 263 List<ShipmentDetail> shipmentDetailList = shipmentDetailService.getShipmentDetailListByShipmentId(shipmentId);
261 264 ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentId);
... ... @@ -607,6 +610,57 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl&lt;ShipmentHeaderMapper,
607 610 }
608 611  
609 612 @Override
  613 + @Transactional(rollbackFor = Exception.class)
  614 + public Result updateShipmentHeader(ShipmentDetail shipmentDetail) {
  615 + if (shipmentDetail == null) {
  616 + return Result.error("修改详情失败, 没有找到出库单详情");
  617 + }
  618 + ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId());
  619 + if (shipmentHeader == null) {
  620 + return Result.error("修改详情失败, 没有找到出库单");
  621 + }
  622 + if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) {
  623 + return Result.error("修改详情失败, 出库单必须是新建状态才能修改详情");
  624 + }
  625 + boolean success = shipmentDetailService.updateById(shipmentDetail);
  626 + if (!success) {
  627 + throw new JeecgBootException("修改详情失败");
  628 + }
  629 + success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId());
  630 + if (!success) {
  631 + throw new JeecgBootException("修改详情时,更新出库单头数量失败");
  632 + }
  633 + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集
  634 + return Result.OK("编辑成功!");
  635 + }
  636 +
  637 + @Override
  638 + @Transactional(rollbackFor = Exception.class)
  639 + public Result deleteShipmentDetail(String shipmentDetailId) {
  640 + ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId);
  641 + if (shipmentDetail == null) {
  642 + return Result.error("删除失败, 没有找到出库单详情");
  643 + }
  644 + ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId());
  645 + if (shipmentHeader == null) {
  646 + return Result.error("删除失败, 没有找到出库单");
  647 + }
  648 + if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) {
  649 + return Result.error("删除失败, 出库单必须是新建状态才能删除详情");
  650 + }
  651 + boolean success = shipmentDetailService.removeById(shipmentDetailId);
  652 + if (!success) {
  653 + throw new JeecgBootException("删除详情失败");
  654 + }
  655 + success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId());
  656 + if (!success) {
  657 + throw new JeecgBootException("更新出库单头数量失败");
  658 + }
  659 + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集
  660 + return Result.OK("删除成功!");
  661 + }
  662 +
  663 + @Override
610 664 public boolean updateById(ShipmentHeader shipmentHeader) {
611 665 LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
612 666 shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getId, shipmentHeader.getId())
... ...