From 56bc9bc64a1b01158b0dace1a2e92d642b74eca2 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Thu, 28 Dec 2023 14:28:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=BA=9F=E5=87=BA=E5=BA=93bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scrapRequest/ScrapRequestMainMapper.java | 3 ++ .../container/ContainerDetailServiceImpl.java | 1 + .../scrapJob/ScrapJobMainServiceImpl.java | 12 +++++++ .../ScrapRequestMainServiceImpl.java | 32 +++++++++++++++++++ 4 files changed, 48 insertions(+) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java index adfb7a7b..27e4d70a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java @@ -73,4 +73,7 @@ public interface ScrapRequestMainMapper extends BaseMapperX return selectList(QueryWrapperUtils.structure(conditions)); } + default ScrapRequestMainDO queryByNumber(String requestNumber){ + return selectOne(new LambdaQueryWrapperX().eq(ScrapRequestMainDO::getNumber,requestNumber)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java index 57ae328e..e0941546 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java @@ -69,6 +69,7 @@ public class ContainerDetailServiceImpl implements ContainerDetailService { ContainerDetailDO containerDetail = ContainerDetailConvert.INSTANCE.convert(createReqVO); ContainerDetailDO containerDetailDO = containerDetailMapper.queryByMasterIdAndContentNumber(containerDetail.getMasterId(),containerDetail.getContentNumber()); if(containerDetailDO == null){ + containerDetail.setId(null); containerDetailMapper.insert(containerDetail); // 添加器具绑定记录 createContainerBindRecord(containerDetail); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java index 11ec170b..82f92c7a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java @@ -19,12 +19,15 @@ import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobMainMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; +import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; 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.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; @@ -78,6 +81,8 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { private TransactionService transactionService; @Resource private ExpectinService expectinService; + @Resource + private ScrapRequestMainMapper scrapRequestMainMapper; @Override @@ -299,6 +304,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { transactionCreateReqVO.setBatch(scrapJobDetailDO.getBatch()); transactionCreateReqVO.setWarehouseCode(scrapJobMainDO.getFromWarehouseCode()); transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); transactionCreateReqVO.setId(null); transactionCreateReqVOList.add(transactionCreateReqVO); } @@ -310,6 +316,12 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { transactionService.createTransaction(transactionCreateReqVOList); //移除预计入 expectinService.deleteExpectinByJobNumber(scrapJobMainDO.getNumber()); + // 更新申请状态 + String requestNumber = scrapJobMainDO.getRequestNumber(); + ScrapRequestMainDO scrapRequestMainDO = scrapRequestMainMapper.queryByNumber(requestNumber); + scrapRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + scrapRequestMainMapper.updateById(scrapRequestMainDO); + //变更记录 trendsApi.createTrends(scrapJobMainDO.getId(), "ScrapJob", "执行报废出库任务", TrendsTypeEnum.UPDATE); return number; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java index a277f73f..73ae261d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java @@ -15,6 +15,7 @@ import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; import com.win.module.wms.controller.scrapRequest.vo.*; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; @@ -33,6 +34,7 @@ import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobDetailMapper; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobMainMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; @@ -49,6 +51,7 @@ import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService; +import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -56,6 +59,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; @@ -107,6 +111,9 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { private ScrapJobDetailMapper scrapJobDetailMapper; @Resource private ExpectoutService expectoutService; + @Resource + private TransactionService transactionService; + @Transactional @Override @@ -151,6 +158,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { ScrapRecordMainDO scrapRecordMainDO = ScrapRecordMainConvert.INSTANCE.convert(scrapRecordMainCreateReqVO); scrapRecordMainMapper.insert(scrapRecordMainDO); + List transactionCreateReqVOList = new ArrayList<>(); for(ScrapRequestDetailDO scrapRequestDetailDO : detailDOList) { ScrapRecordDetailCreateReqVO scrapRecordDetailCreateReqVO = new ScrapRecordDetailCreateReqVO(); BeanUtils.copyProperties(scrapRequestDetailDO, scrapRecordDetailCreateReqVO); @@ -161,7 +169,31 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { scrapRecordDetailCreateReqVO.setFromAreaCode(scrapRequestDetailDO.getFromLocationCode()); ScrapRecordDetailDO scrapRecordDetailDO = ScrapRecordDetailConvert.INSTANCE.convert(scrapRecordDetailCreateReqVO); scrapRecordDetailMapper.insert(scrapRecordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(scrapRecordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(scrapRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(scrapRecordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(scrapRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setPackingNumber(scrapRecordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(scrapRecordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(scrapRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + scrapRequestMainMapper.updateById(mainDO); return; } // 任务 主表数据创建