diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java index 236a4fc..cd83864 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java +++ b/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 @ApiOperation(value = "出库单详情-编辑", notes = "出库单详情-编辑") @RequiresPermissions("shipmentDetail:edit") @RequestMapping(value = "/editShipmentDetail", method = {RequestMethod.PUT, RequestMethod.POST}) - public Result<String> editShipmentDetail(@RequestBody ShipmentDetail shipmentDetail) { - if (shipmentDetail == null) { - return Result.error("修改详情失败, 没有找到出库单详情"); - } - ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId()); - if (shipmentHeader == null) { - return Result.error("修改详情失败, 没有找到出库单"); - } - if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) { - return Result.error("修改详情失败, 出库单必须是新建状态才能修改详情"); - } - boolean success = shipmentDetailService.updateById(shipmentDetail); - if (!success) { - throw new JeecgBootException("修改详情失败"); - } - success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId()); - if (!success) { - throw new JeecgBootException("修改详情时,更新出库单头数量失败"); - } - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集 - return Result.OK("编辑成功!"); + public Result<?> editShipmentDetail(@RequestBody ShipmentDetail shipmentDetail) { + return shipmentHeaderService.updateShipmentHeader(shipmentDetail); } /** @@ -285,28 +266,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS @RequiresPermissions("shipmentDetail:delete") @DeleteMapping(value = "/deleteShipmentDetail") @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情删除'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) - public Result<String> deleteShipmentDetail(@RequestParam(name = "id", required = true) String id) { - ShipmentDetail shipmentDetail = shipmentDetailService.getById(id); - if (shipmentDetail == null) { - return Result.error("删除失败, 没有找到出库单详情"); - } - ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId()); - if (shipmentHeader == null) { - return Result.error("删除失败, 没有找到出库单"); - } - if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) { - return Result.error("删除失败, 出库单必须是新建状态才能删除详情"); - } - boolean success = shipmentDetailService.removeById(id); - if (!success) { - throw new JeecgBootException("删除详情失败"); - } - success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId()); - if (!success) { - throw new JeecgBootException("更新出库单头数量失败"); - } - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集 - return Result.OK("删除成功!"); + public Result<?> deleteShipmentDetail(@RequestParam(name = "id", required = true) String id) { + return shipmentHeaderService.deleteShipmentDetail(id); } /** diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentHeaderService.java index 9911e95..d90bcf6 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentHeaderService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentHeaderService.java @@ -7,6 +7,7 @@ import java.util.List; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfig; import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfigDetail; +import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader; import com.baomidou.mybatisplus.extension.service.IService; @@ -50,4 +51,8 @@ public interface IShipmentHeaderService extends IService<ShipmentHeader> { Result autoShipmentAdvice(String shipmentCode, String warehouseCode); Result createShipment(WaveConfig waveConfig, List<WaveConfigDetail> waveConfigDetailList); + + Result updateShipmentHeader(ShipmentDetail shipmentDetail); + + Result deleteShipmentDetail(String shipmentDetailId); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java index 5cc02e8..a88d766 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java @@ -4,12 +4,14 @@ import java.io.Serializable; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Resource; +import com.alibaba.fastjson.JSON; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.config.container.service.IContainerService; @@ -256,6 +258,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, } @Override + @Transactional(rollbackFor = Exception.class) public boolean updateShipmentHeader(Integer shipmentId) { List<ShipmentDetail> shipmentDetailList = shipmentDetailService.getShipmentDetailListByShipmentId(shipmentId); ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentId); @@ -607,6 +610,57 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, } @Override + @Transactional(rollbackFor = Exception.class) + public Result updateShipmentHeader(ShipmentDetail shipmentDetail) { + if (shipmentDetail == null) { + return Result.error("修改详情失败, 没有找到出库单详情"); + } + ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId()); + if (shipmentHeader == null) { + return Result.error("修改详情失败, 没有找到出库单"); + } + if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) { + return Result.error("修改详情失败, 出库单必须是新建状态才能修改详情"); + } + boolean success = shipmentDetailService.updateById(shipmentDetail); + if (!success) { + throw new JeecgBootException("修改详情失败"); + } + success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId()); + if (!success) { + throw new JeecgBootException("修改详情时,更新出库单头数量失败"); + } + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集 + return Result.OK("编辑成功!"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result deleteShipmentDetail(String shipmentDetailId) { + ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId); + if (shipmentDetail == null) { + return Result.error("删除失败, 没有找到出库单详情"); + } + ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId()); + if (shipmentHeader == null) { + return Result.error("删除失败, 没有找到出库单"); + } + if (shipmentHeader.getFirstStatus().intValue() != QuantityConstant.SHIPMENT_HEADER_BUILD) { + return Result.error("删除失败, 出库单必须是新建状态才能删除详情"); + } + boolean success = shipmentDetailService.removeById(shipmentDetailId); + if (!success) { + throw new JeecgBootException("删除详情失败"); + } + success = shipmentHeaderService.updateShipmentHeader(shipmentDetail.getShipmentId()); + if (!success) { + throw new JeecgBootException("更新出库单头数量失败"); + } + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集 + return Result.OK("删除成功!"); + } + + @Override public boolean updateById(ShipmentHeader shipmentHeader) { LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getId, shipmentHeader.getId())