From 6a41b64a58e725a9cccb04cc44898fe04ae8e842 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Wed, 29 Nov 2023 19:08:41 +0800 Subject: [PATCH] =?UTF-8?q?util=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/handler/GlobalExceptionHandler.java | 15 ++++++++ .../inspectJob/InspectJobMainServiceImpl.java | 35 +++++++++++++++++-- .../InspectRequestMainServiceImpl.java | 10 ++++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/handler/GlobalExceptionHandler.java b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/handler/GlobalExceptionHandler.java index 1a16b52b..6ddf1618 100644 --- a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/handler/GlobalExceptionHandler.java +++ b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/handler/GlobalExceptionHandler.java @@ -1,6 +1,7 @@ package com.win.framework.web.core.handler; import cn.hutool.core.exceptions.ExceptionUtil; +import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import com.win.framework.apilog.core.service.ApiErrorLog; @@ -89,6 +90,9 @@ public class GlobalExceptionHandler { if (ex instanceof AccessDeniedException) { return accessDeniedExceptionHandler(request, (AccessDeniedException) ex); } + if (ex instanceof UtilException) { + return utilExceptionHandler((UtilException) ex); + } return defaultExceptionHandler(request, ex); } @@ -211,6 +215,17 @@ public class GlobalExceptionHandler { return CommonResult.error(ex.getCode(), ex.getMessage()); } + /** + * 处理业务异常 ServiceException + * + * 例如说,商品库存不足,用户手机号已存在。 + */ + @ExceptionHandler(value = UtilException.class) + public CommonResult utilExceptionHandler(UtilException ex) { + log.info("[utilExceptionHandler]", ex); + return CommonResult.error(600, ex.getMessage()); + } + /** * 处理系统异常,兜底处理所有的一切 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java index 09bcc13c..f5cdfdc0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java @@ -17,6 +17,7 @@ import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.inspectJob.InspectJobMainDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; +import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.mysql.balance.BalanceMapper; @@ -29,6 +30,7 @@ import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.service.expectin.ExpectinService; +import com.win.module.wms.service.inspectRequest.InspectRequestDetailService; import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; @@ -81,6 +83,8 @@ public class InspectJobMainServiceImpl implements InspectJobMainService { private ExpectinService expectinService; @Resource private BalanceMapper balanceMapper; + @Resource + private InspectRequestDetailService inspectRequestDetailService; @Override public InspectJobMainDO getInspectJobMain(Long id) { @@ -311,8 +315,35 @@ public class InspectJobMainServiceImpl implements InspectJobMainService { inspectRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode()); inspectRequestMainMapper.updateById(inspectRequestMainDO); } - //增加库存事务 - transactionService.createTransaction(transactionCreateReqVOList); + //全检,再次生成检验申请 + if(inspectJobMainUpdateReqVO.getNextAction().equals("FULL_INSPECT")) { + InspectRequestMainDO requestMainDO = inspectRequestMainMapper.selectByNumber(inspectJobMainUpdateReqVO.getRequestNumber()); + String requestNumber = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode()); + requestMainDO.setNumber(requestNumber); + requestMainDO.setSampleQty(requestMainDO.getReceiveQty()); + requestMainDO.setInspectType("FULL"); + requestMainDO.setSampleMethod("QTY"); + requestMainDO.setStatus(RequestStatusEnum.NEW.getCode()); + requestMainDO.setId(null); + requestMainDO.setCreator(null); + requestMainDO.setCreateTime(null); + requestMainDO.setUpdater(null); + requestMainDO.setUpdateTime(null); + inspectRequestMainMapper.insert(requestMainDO); + List requestDetailDOList = inspectRequestDetailService.selectList(requestMainDO.getId()); + for(InspectRequestDetailDO inspectRequestDetailDO : requestDetailDOList) { + inspectRequestDetailDO.setId(null); + inspectRequestDetailDO.setCreator(null); + inspectRequestDetailDO.setCreateTime(null); + inspectRequestDetailDO.setUpdater(null); + inspectRequestDetailDO.setUpdateTime(null); + inspectRequestDetailDO.setMasterId(requestMainDO.getId()); + inspectRequestDetailDO.setNumber(requestNumber); + } + } else { + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + } //移除预计入 expectinService.deleteExpectinByJobNumber(inspectJobMainDO.getNumber()); //变更记录 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java index 48ce0bad..a821bb08 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java @@ -376,6 +376,11 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService inspectJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); inspectJobMainDO.setRequestNumber(mainDO.getNumber()); inspectJobMainDO.setWarehouseCode(mainDO.getFromWarehouseCode()); + inspectJobMainDO.setId(null); + inspectJobMainDO.setCreator(null); + inspectJobMainDO.setCreateTime(null); + inspectJobMainDO.setUpdater(null); + inspectJobMainDO.setUpdateTime(null); String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_JOB.getCode()); inspectJobMainDO.setNumber(number); //增加业务类型 @@ -387,6 +392,11 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService InspectJobDetailDO inspectJobDetailDO = InspectJobDetailConvert.INSTANCE.convert(inspectRequestDetailDO); inspectJobDetailDO.setNumber(number); inspectJobDetailDO.setMasterId(inspectJobMainDO.getId()); + inspectJobDetailDO.setId(null); + inspectJobDetailDO.setCreator(null); + inspectJobDetailDO.setCreateTime(null); + inspectJobDetailDO.setUpdater(null); + inspectJobDetailDO.setUpdateTime(null); inspectJobDetailDOList.add(inspectJobDetailDO); //预计出 ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO();