diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java index 786aabcb2..e72798cd7 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java @@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletResponse; import cn.hutool.core.map.MapUtil; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; +import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.utils.WaybillHelper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -149,13 +150,23 @@ public class EmisWarehouseInController extends EmisBaseController @GetMapping("/getWarehouseInInfo") public AjaxResult getWarehouseInInfo(String inNo) { - return AjaxResult.success(emisWarehouseInService.selectEmisWarehouseInByInNo(inNo)); + try { + return AjaxResult.success(emisWarehouseInService.selectEmisWarehouseInByInNo(inNo)); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } } @GetMapping("/getWarehouseInDetail") public AjaxResult getWarehouseInDetail(String inNo) { - return AjaxResult.success(emisWarehouseInService.selectEmisWarehouseInByInNo(inNo)); + try { + return AjaxResult.success(emisWarehouseInService.selectEmisWarehouseInByInNo(inNo)); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } } /** diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java index 46ac1afac..eec88ee2f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java @@ -11,8 +11,9 @@ package com.xdadan.erp.emis.service; import java.util.List; import com.xdadan.erp.emis.domain.EmisWarehouseIn; +import com.xdadan.erp.emis.domain.exception.EmisBizError; -/** + /** * @ClassName EmisWarehouseInService * @Description 进仓单 * @author linfso @@ -27,7 +28,7 @@ public interface IEmisWarehouseInService */ public EmisWarehouseIn selectEmisWarehouseInById(Long id); - public EmisWarehouseIn selectEmisWarehouseInByInNo(String inNo); + public EmisWarehouseIn selectEmisWarehouseInByInNo(String inNo) throws EmisBizError; /** * 查询进仓单列表 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java index ea6c08a9f..361911b28 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java @@ -14,7 +14,11 @@ import java.math.BigDecimal; import java.util.List; import com.xdadan.erp.emis.domain.EmisWarehouseInBatch; +import com.xdadan.erp.emis.domain.EmisWaybill; +import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; +import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.mapper.EmisWarehouseInBatchMapper; +import com.xdadan.erp.emis.mapper.EmisWaybillMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisWarehouseIn; @@ -37,6 +41,9 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService @Autowired private EmisWarehouseInBatchMapper emisWarehouseInBatchMapper; + @Autowired + private EmisWaybillMapper emisWaybillMapper; + /** * 查询进仓单 * @@ -49,12 +56,36 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService return emisWarehouseInMapper.selectEmisWarehouseInById(id); } + + + @Override - public EmisWarehouseIn selectEmisWarehouseInByInNo(String inNo) - { + public EmisWarehouseIn selectEmisWarehouseInByInNo(String inNo) throws EmisBizError { EmisWarehouseIn emisWarehouseIn=emisWarehouseInMapper.selectEmisWarehouseInByInNo(inNo); + if(emisWarehouseIn==null){ + throw new EmisBizError(EmisBizErrorType.FAIL,"进仓单不存在"); + } + if(emisWarehouseIn!=null){ + + emisWarehouseIn.setLockFlag("F"); + // 判断是否锁定 + // 判断是否已经开单,开单后不允许再次入仓 + + + if( !"0".equals(emisWarehouseIn.getConfirmStatus()) ){ + emisWarehouseIn.setLockFlag("T"); + emisWarehouseIn.setLockReason("进仓单已确认,不允许再入仓"); + } + + // 获取运单信息 + EmisWaybill emisWaybill = emisWaybillMapper.selectEmisWaybillByBillCode(emisWarehouseIn.getBillCode()); + if( !"0".equals(emisWaybill.getWaybillStatus()) ){ + emisWarehouseIn.setLockFlag("T"); + emisWarehouseIn.setLockReason("已开单,不允许再入仓"); + } + List stockInBatchList= emisWarehouseInBatchMapper.selectInBatchListByInNo(inNo); emisWarehouseIn.setStockInBatchList(stockInBatchList);