From 4d515c862bee2e95f8cf121301bf8394e3106d1b Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 1 Sep 2024 17:21:38 +0800 Subject: [PATCH] md --- .../emis/EmisWarehouseInBatchController.java | 18 ++++++++--- .../service/IEmisWarehouseInBatchService.java | 5 +-- .../impl/EmisWarehouseInBatchServiceImpl.java | 31 +++++++++++++++++-- .../xdadan/erp/emis/utils/WaybillHelper.java | 12 +++++++ 4 files changed, 57 insertions(+), 9 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java index 4cd2ada3e..f2a10f912 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java @@ -13,6 +13,8 @@ package com.xdadan.erp.web.emis; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.xdadan.erp.emis.domain.exception.EmisBizError; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; @@ -91,19 +93,27 @@ public class EmisWarehouseInBatchController extends EmisBaseController @PostMapping public AjaxResult add(@RequestBody EmisWarehouseInBatch emisWarehouseInBatch) { - return toAjax(emisWarehouseInBatchService.insertEmisWarehouseInBatch(emisWarehouseInBatch)); + try { + return toAjax(emisWarehouseInBatchService.insertEmisWarehouseInBatch(emisWarehouseInBatch)); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } } @Log(title = "进仓单登记", businessType = BusinessType.INSERT) @RequestMapping("/registerWarehouseInInfo") public AjaxResult registerWarehouseInInfo(@RequestBody EmisWarehouseInBatch emisWarehouseInBatch) { - return toAjax(emisWarehouseInBatchService.insertEmisWarehouseInBatch(emisWarehouseInBatch)); + try { + return toAjax(emisWarehouseInBatchService.insertEmisWarehouseInBatch(emisWarehouseInBatch)); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } } - - /** * 修改进仓单批次 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java index 62e1cdc20..d55fe89e5 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java @@ -11,8 +11,9 @@ package com.xdadan.erp.emis.service; import java.util.List; import com.xdadan.erp.emis.domain.EmisWarehouseInBatch; +import com.xdadan.erp.emis.domain.exception.EmisBizError; -/** + /** * @ClassName EmisWarehouseInBatchService * @Description 进仓单批次 * @author linfso @@ -41,7 +42,7 @@ public interface IEmisWarehouseInBatchService * @param emisWarehouseInBatch 进仓单批次 * @return 结果 */ - public int insertEmisWarehouseInBatch(EmisWarehouseInBatch emisWarehouseInBatch); + public int insertEmisWarehouseInBatch(EmisWarehouseInBatch emisWarehouseInBatch) throws EmisBizError; /** * 修改进仓单批次 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java index 2c8a49ec8..f97cc787e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java @@ -11,13 +11,21 @@ package com.xdadan.erp.emis.service.impl; import java.util.List; + +import com.xdadan.erp.emis.domain.EmisWarehouseInDtl; +import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.emis.mapper.EmisWarehouseInDtlMapper; +import com.xdadan.erp.emis.utils.WaybillHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisWarehouseInBatch; import com.xdadan.erp.emis.mapper.EmisWarehouseInBatchMapper; import com.xdadan.erp.emis.service.IEmisWarehouseInBatchService; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; -/** + /** * 进仓单批次Service业务层处理 * * @author linfso @@ -29,6 +37,9 @@ public class EmisWarehouseInBatchServiceImpl implements IEmisWarehouseInBatchSer @Autowired private EmisWarehouseInBatchMapper emisWarehouseInBatchMapper; + @Autowired + private EmisWarehouseInDtlMapper emisWarehouseInDtlMapper; + /** * 查询进仓单批次 * @@ -59,9 +70,23 @@ public class EmisWarehouseInBatchServiceImpl implements IEmisWarehouseInBatchSer * @param emisWarehouseInBatch 进仓单批次 * @return 结果 */ + @Transactional @Override - public int insertEmisWarehouseInBatch(EmisWarehouseInBatch emisWarehouseInBatch) - { + public int insertEmisWarehouseInBatch(EmisWarehouseInBatch emisWarehouseInBatch) throws EmisBizError { + // 进仓序列号 + String serialNo= WaybillHelper.genWsInSerialNo(); + emisWarehouseInBatch.setSerialNo(serialNo); + emisWarehouseInBatchMapper.insertEmisWarehouseInBatch(emisWarehouseInBatch); + List cargoList=emisWarehouseInBatch.getCargoList(); + if(CollectionUtils.isEmpty(cargoList)){ + throw new EmisBizError(EmisBizErrorType.FAIL,"进仓货物列表不能为空"); + } + + for(EmisWarehouseInDtl item:cargoList){ + item.setId(null); + emisWarehouseInDtlMapper.insertEmisWarehouseInDtl(item); + } + return emisWarehouseInBatchMapper.insertEmisWarehouseInBatch(emisWarehouseInBatch); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java index 1364be731..5b57db1eb 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java @@ -86,6 +86,18 @@ public class WaybillHelper { // return billId; } + /** + * 进仓流水号 + * @return + */ + public static String genWsInSerialNo(){ + Snowflake snowflake = IdUtil.getSnowflake(0, 0); + Long inSerialNo = snowflake.nextId(); + return inSerialNo.toString(); + + } + + /** * 生成流水号 * @return