From d0a35fa719a3557f14e4f722ed0390d044bb404f Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Tue, 19 Dec 2023 09:31:19 +0800 Subject: [PATCH] =?UTF-8?q?PDA=E8=AE=A1=E5=88=92=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E4=B8=8E=E5=85=A5=E5=BA=93=E3=80=81=E6=8A=A5=E5=BA=9F=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E8=AE=B0=E5=BD=95=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScrapRecordMainController.java | 2 +- .../vo/ScrapRecordMainCreateReqVO.java | 10 +- .../vo/TransferissueRecordMainBaseVO.java | 1 - .../vo/TransferreceiptRequestMainBaseVO.java | 2 - .../UnplannedissueRecordMainCreateReqVO.java | 8 ++ ...UnplannedreceiptRecordMainCreateReqVO.java | 7 ++ .../scrapRecord/ScrapRecordDetailService.java | 9 +- .../ScrapRecordDetailServiceImpl.java | 19 +-- .../scrapRecord/ScrapRecordMainService.java | 2 +- .../ScrapRecordMainServiceImpl.java | 102 ++++++++++++++-- .../ScrapRequestDetailService.java | 10 +- .../ScrapRequestDetailServiceImpl.java | 41 ++++--- .../scrapRequest/ScrapRequestMainService.java | 1 + .../ScrapRequestMainServiceImpl.java | 63 ++++------ .../TransferissueRecordMainServiceImpl.java | 3 + .../TransferreceiptJobMainServiceImpl.java | 1 + ...TransferreceiptRequestMainServiceImpl.java | 3 +- .../UnplannedissueJobMainServiceImpl.java | 3 + ...UnplannedissueRecordDetailServiceImpl.java | 1 + .../UnplannedissueRecordMainServiceImpl.java | 97 +++++++++++++-- ...nplannedissueRequestDetailServiceImpl.java | 24 ++-- .../UnplannedissueRequestMainServiceImpl.java | 1 - .../UnplannedreceiptJobMainServiceImpl.java | 6 +- ...UnplannedreceiptRecordMainServiceImpl.java | 111 +++++++++++++++--- ...lannedreceiptRequestDetailServiceImpl.java | 36 +++--- ...nplannedreceiptRequestMainServiceImpl.java | 3 +- 26 files changed, 409 insertions(+), 157 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java index d75d7b91..3a4c4c3c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java @@ -43,7 +43,7 @@ public class ScrapRecordMainController { @PostMapping("/create") @Operation(summary = "创建报废出库记录主") @PreAuthorize("@ss.hasPermission('wms:scrap-record-main:create')") - public CommonResult createScrapRecordMain(@Valid @RequestBody ScrapRecordMainCreateReqVO createReqVO) { + public CommonResult createScrapRecordMain(@Valid @RequestBody ScrapRecordMainCreateReqVO createReqVO) { return success(scrapRecordMainService.createScrapRecordMain(createReqVO)); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java index e063e37b..94823503 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.scrapRecord.vo; -import lombok.*; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 报废出库记录主创建 Request VO") @Data @@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class ScrapRecordMainCreateReqVO extends ScrapRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java index 28243945..32666b57 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java @@ -48,7 +48,6 @@ public class TransferissueRecordMainBaseVO { private String toWarehouseCode; @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") private String code; @Schema(description = "接口类型", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java index 1f9d3e39..0ae90b3a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java @@ -43,7 +43,6 @@ public class TransferreceiptRequestMainBaseVO { private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @@ -59,7 +58,6 @@ public class TransferreceiptRequestMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "状态") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java index 5e0e66bd..d11455e2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java @@ -1,12 +1,20 @@ package com.win.module.wms.controller.unplannedissueRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordDetailCreateReqVO; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + @Schema(description = "管理后台 - 计划外出库记录主创建 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class UnplannedissueRecordMainCreateReqVO extends UnplannedissueRecordMainBaseVO { + + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java index a11aa677..6ca28fde 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java @@ -1,12 +1,19 @@ package com.win.module.wms.controller.unplannedreceiptRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordDetailCreateReqVO; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + @Schema(description = "管理后台 - 计划外入库记录主创建 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class UnplannedreceiptRecordMainCreateReqVO extends UnplannedreceiptRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java index 8de8aa83..79baa8c7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java @@ -1,15 +1,16 @@ package com.win.module.wms.service.scrapRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailExportReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailPageReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; -import com.win.framework.common.pojo.PageResult; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 报废出库记录子 Service 接口 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java index dc1aacab..c6b0dae6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java @@ -1,24 +1,23 @@ package com.win.module.wms.service.scrapRecord; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailExportReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailPageReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailUpdateReqVO; +import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; +import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; +import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import java.util.*; - -import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; -import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_RECORD_DETAIL_NOT_EXISTS; /** * 报废出库记录子 Service 实现类 @@ -57,10 +56,12 @@ public class ScrapRecordDetailServiceImpl implements ScrapRecordDetailService { // 删除 scrapRecordDetailMapper.deleteById(id); } + @Override public PageResult getScrapRecordDetailSenior(CustomConditions conditions) { return scrapRecordDetailMapper.selectSenior(conditions); } + private void validateScrapRecordDetailExists(Long id) { if (scrapRecordDetailMapper.selectById(id) == null) { throw exception(SCRAP_RECORD_DETAIL_NOT_EXISTS); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java index 8008cfca..64d77aea 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java @@ -24,7 +24,7 @@ public interface ScrapRecordMainService { * @param createReqVO 创建信息 * @return 编号 */ - String createScrapRecordMain(@Valid ScrapRecordMainCreateReqVO createReqVO); + Long createScrapRecordMain(@Valid ScrapRecordMainCreateReqVO createReqVO); /** * 获得用高级搜索报废出库记录主分页列表 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java index 7328432c..2c7b90f2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java @@ -2,21 +2,42 @@ package com.win.module.wms.service.scrapRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainExportReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainPageReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainUpdateReqVO; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.scrapRecord.vo.*; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordDetailCreateReqVO; +import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; +import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordDetailConvert; +import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +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.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordDetailDO; +import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO; +import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +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; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_RECORD_MAIN_NOT_EXISTS; /** @@ -30,14 +51,75 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService { @Resource private ScrapRecordMainMapper scrapRecordMainMapper; + @Resource + private ScrapRecordDetailMapper scrapRecordDetailMapper; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private TransactionService transactionService; + @Resource + private TrendsApi trendsApi; + @Transactional @Override - public String createScrapRecordMain(ScrapRecordMainCreateReqVO createReqVO) { - // 插入 - ScrapRecordMainDO scrapRecordMain = ScrapRecordMainConvert.INSTANCE.convert(createReqVO); - scrapRecordMainMapper.insert(scrapRecordMain); - // 返回 - return String.valueOf(scrapRecordMain.getId()); + public Long createScrapRecordMain(ScrapRecordMainCreateReqVO createReqVO) { + ScrapRecordMainDO scrapRecordMainDO = ScrapRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_RECORD.getCode()); + scrapRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRecord"); + scrapRecordMainDO.setBusinessType(businesstypeDO.getCode()); + scrapRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + scrapRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("ScrapRecord").getInterfaceType(); + scrapRecordMainDO.setInterfaceType(interFaceType); + scrapRecordMainDO.setExecuteTime(LocalDateTime.now()); + scrapRecordMainDO.setActiveDate(LocalDateTime.now()); + scrapRecordMainDO.setAvailable("TRUE"); + scrapRecordMainDO.setDueTime(null); + scrapRecordMainDO.setId(null); + scrapRecordMainDO.setCreator(null); + scrapRecordMainDO.setCreateTime(LocalDateTime.now()); + scrapRecordMainMapper.insert(scrapRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List subList = createReqVO.getSubList(); + for(ScrapRecordDetailCreateReqVO scrapRecordDetailCreateReqVO : subList) { + ScrapRecordDetailDO recordDetailDO = ScrapRecordDetailConvert.INSTANCE.convert(scrapRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(scrapRecordMainDO.getId()); + recordDetailDO.setId(null); + scrapRecordDetailMapper.insert(recordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(scrapRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(recordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(recordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setPackingNumber(recordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(recordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(scrapRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + trendsApi.createTrends(scrapRecordMainDO.getId(), "ScrapRecord", "增加了报废出库记录", TrendsTypeEnum.CREATE); + return scrapRecordMainDO.getId(); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java index fa74959a..d8ba5446 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java @@ -1,14 +1,16 @@ package com.win.module.wms.service.scrapRequest; -import java.util.*; -import javax.validation.*; + import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailCreateReqVO; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailExportReqVO; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailPageReqVO; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; -import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 报废出库申请子 Service 接口 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java index 284864a0..55b62b40 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java @@ -1,31 +1,35 @@ package com.win.module.wms.service.scrapRequest; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.scrapRequest.vo.*; -import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; +import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; +import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestDetailMapper; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import java.util.*; -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; -import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; -import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestDetailMapper; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_REQUEST_DETAIL_NOT_EXISTS; /** * 报废出库申请子 Service 实现类 @@ -38,31 +42,31 @@ public class ScrapRequestDetailServiceImpl implements ScrapRequestDetailService @Resource private ScrapRequestDetailMapper scrapRequestDetailMapper; - @Resource private RequestsettingService requestsettingService; @Resource private LocationService locationService; @Resource private SerialNumberApi serialNumberApi; - @Resource private JobUtils jobUtils; - @Resource private ItembasicService itembasicService; + @Resource + private TrendsApi trendsApi; @Override public Long createScrapRequestDetail(ScrapRequestDetailCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ScrapRequest"); // 插入 ScrapRequestDetailDO scrapRequestDetail = validatorToCreate(createReqVO,requestsettingDO); + trendsApi.createTrends(scrapRequestDetail.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.CREATE); return scrapRequestDetail.getId(); } private ScrapRequestDetailDO validatorToCreate(ScrapRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); - ScrapRequestDetailDO scrapRequestDetailDO = validateDetailMethod(createReqVO, businesstypeDO, requestsettingDO); + ScrapRequestDetailDO scrapRequestDetailDO = validateDetailMethod(createReqVO, businesstypeDO); String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_REQUEST.getCode()); scrapRequestDetailDO.setNumber(number); scrapRequestDetailDO.setMasterId(createReqVO.getMasterId()); @@ -78,7 +82,7 @@ public class ScrapRequestDetailServiceImpl implements ScrapRequestDetailService } - private ScrapRequestDetailDO validateDetailMethod(ScrapRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { + private ScrapRequestDetailDO validateDetailMethod(ScrapRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO) { ScrapRequestDetailDO detailDo = ScrapRequestDetailConvert.INSTANCE.convert(baseVO); ItembasicDO itembasic = validatorItembasic(detailDo.getItemCode()); detailDo.setItemDesc1(itembasic.getDesc1()); @@ -95,15 +99,16 @@ public class ScrapRequestDetailServiceImpl implements ScrapRequestDetailService return detailDo; } - - + @Transactional @Override public void updateScrapRequestDetail(ScrapRequestDetailUpdateReqVO updateReqVO) { // 校验存在 validateScrapRequestDetailExists(updateReqVO.getId()); // 更新 - ScrapRequestDetailDO updateObj = ScrapRequestDetailConvert.INSTANCE.convert(updateReqVO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); + ScrapRequestDetailDO updateObj = validateDetailMethod(updateReqVO, businesstypeDO); scrapRequestDetailMapper.updateById(updateObj); + trendsApi.createTrends(updateObj.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.UPDATE); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java index 00511b05..a310eee9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java @@ -4,6 +4,7 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRequest.vo.*; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; + import javax.validation.Valid; import java.util.Collection; import java.util.List; 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 fa6cd2e5..28726b90 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 @@ -3,6 +3,7 @@ package com.win.module.wms.service.scrapRequest; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; @@ -10,50 +11,33 @@ import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO; -import com.win.module.wms.controller.productscrapRequest.vo.*; 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.transferissueRecord.vo.TransferissueRecordDetailCreateReqVO; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainCreateReqVO; -import com.win.module.wms.controller.transferreceiptRequest.vo.TransferreceiptRequestDetailCreateReqVO; -import com.win.module.wms.controller.transferreceiptRequest.vo.TransferreceiptRequestMainCreateReqVO; -import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestDetailConvert; -import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert; import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; -import com.win.module.wms.convert.transferissueJob.TransferissueJobDetailConvert; -import com.win.module.wms.convert.transferissueJob.TransferissueJobMainConvert; -import com.win.module.wms.convert.transferissueRecord.TransferissueRecordDetailConvert; -import com.win.module.wms.convert.transferissueRecord.TransferissueRecordMainConvert; +import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; import com.win.module.wms.dal.dataobject.location.LocationDO; -import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO; -import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; 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.ScrapRequestDetailDO; -import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobDetailDO; -import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO; -import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO; -import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; -import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; -import com.win.module.wms.dal.dataobject.unplannedissueRequest.UnplannedissueRequestDetailDO; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; 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; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestDetailMapper; +import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; @@ -66,17 +50,15 @@ import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.*; - -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; -import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -124,7 +106,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { @Resource private ExpectinService expectinService; - + @Transactional @Override public Long createScrapRequestMain(ScrapRequestMainCreateReqVO createReqVO) { // Setting——>QReqS("ScrapRequest") @@ -267,7 +249,6 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainDO; } - private void validateDetailMethod(ScrapRequestDetailDO detailDo, BusinesstypeDO businesstypeDO, ScrapRequestMainDO mainDo) { // BQ——>QL LocationDO locationDO = validatorLocation(detailDo.getFromLocationCode()); @@ -316,6 +297,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); return mainDo; } + private ScrapRequestMainDO validatorToUpdate(ScrapRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); ScrapRequestMainDO scrapRequestMainDO = validateMainMethod(updateReqVO,businesstypeDO,requestsettingDO); @@ -346,10 +328,12 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { } trendsApi.createTrends(requestsettingDO.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.CREATE); } + @Override public PageResult getScrapRequestMainSenior(CustomConditions conditions) { return scrapRequestMainMapper.selectSenior(conditions); } + @Override public void deleteScrapRequestMain(Long id) { // 校验存在 @@ -380,16 +364,17 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { public PageResult getScrapRequestMainPage(ScrapRequestMainPageReqVO pageReqVO) { return scrapRequestMainMapper.selectPage(pageReqVO); } + private void validatetime(LocalDateTime durtime){ if(LocalDateTime.now().isAfter(durtime)){ throw exception(TIME_AFTER,LocalDateTime.now(),durtime); } } + private LocationDO validatorLocation(String Location){ return locationService.selectLocation(Location); } - @Override public List getScrapRequestMainList(ScrapRequestMainExportReqVO exportReqVO) { return scrapRequestMainMapper.selectList(exportReqVO); @@ -468,14 +453,13 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return message.toString(); } - - public List importscrapRequestList(List datas, Integer mode, boolean updatePart){ + public List importscrapRequestList(List datas, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(datas)) { throw exception(SCRAP_REQUEST_MAIN_NOT_EXISTS); } List errorList = new ArrayList<>(); datas.forEach(createReqVO -> { - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); ScrapRequestMainDO mainDo = ScrapRequestMainConvert.INSTANCE.convert(createReqVO); String messageMain = validateScrapRequestMainImport(mainDo, businesstypeDO); List subList = createReqVO.getSubList(); @@ -484,7 +468,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { boolean flag = true; for (ScrapRequestDetailDO detailDO : subDOList) { String messageDetail = validateScrapvRequestDetailImport(detailDO, mainDo, businesstypeDO); - if (!"".equals(messageMain) ||!"".equals(messageDetail) ) { + if (!"".equals(messageMain) || !"".equals(messageDetail)) { ScrapRequestImportErrorVO importErrorVO = ScrapRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); importErrorVO.setImportStatus("失败"); messageMain = messageMain + messageDetail; @@ -510,12 +494,13 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { }); return errorList; - } + } public List getScrapRequestMainList1(CustomConditions conditions) { return scrapRequestMainMapper.selectSeniorList(conditions); } + @Transactional @Override public Integer closeScrapRequestMain(Long id) { // 校验存在存在下级单据 @@ -534,6 +519,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer reAddScrapRequestMain(Long id) { // 校验存在存在下级单据 @@ -552,6 +538,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer submitScrapRequestMain(Long id) { ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); @@ -570,6 +557,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer abortScrapRequestMain(Long id) { // 校验存在 @@ -584,6 +572,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer agreeScrapRequestMain(Long id) { // 校验存在 @@ -603,6 +592,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer handleScrapRequestMain(Long id) { // 校验存在 @@ -620,5 +610,4 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java index e2b1dc77..230eeb5d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java @@ -22,6 +22,7 @@ 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; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -60,6 +61,7 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa @Resource private TrendsApi trendsApi; + @Transactional @Override public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) { TransferissueRecordMainDO transferissueRecordMainDO = TransferissueRecordMainConvert.INSTANCE.convert(createReqVO); @@ -87,6 +89,7 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO); recordDetailDO.setNumber(number); recordDetailDO.setMasterId(transferissueRecordMainDO.getId()); + recordDetailDO.setId(null); transferissueRecordDetailMapper.insert(recordDetailDO); //添加库存事务list diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java index 32aff2e6..e0121a69 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java @@ -134,6 +134,7 @@ public class TransferreceiptJobMainServiceImpl implements TransferreceiptJobMain public List getTransferreceiptJobMainList(TransferreceiptJobMainExportReqVO exportReqVO) { return transferreceiptJobMainMapper.selectList(exportReqVO); } + @Override public TransferreceiptJobMainDO transferreceiptJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java index 24bd7ca3..f1db6b74 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java @@ -102,7 +102,7 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq @Resource private TransferreceiptRequestDetailService transferreceiptRequestDetailService; - + @Transactional @Override public Long createTransferreceiptRequestMain(TransferreceiptRequestMainCreateReqVO createReqVO) { // Setting-----QReqs @@ -318,7 +318,6 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq return transferissueRequestMainDO; } - @Override public void deleteTransferreceiptRequestMain(Long id) { // 校验存在 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java index 34693c54..68e939ef 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java @@ -94,10 +94,12 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe UnplannedissueJobMainDO updateObj = UnplannedissueJobMainConvert.INSTANCE.convert(updateReqVO); unplannedissueJobMainMapper.updateById(updateObj); } + @Override public PageResult getUnplannedissueJobMainSenior(CustomConditions conditions) { return unplannedissueJobMainMapper.selectSenior(conditions); } + @Override public void deleteUnplannedissueJobMain(Long id) { // 校验存在 @@ -133,6 +135,7 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe public List getUnplannedissueJobMainList(UnplannedissueJobMainExportReqVO exportReqVO) { return unplannedissueJobMainMapper.selectList(exportReqVO); } + @Override public UnplannedissueJobMainDO unplannedissueJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java index b2ab31fa..e61cee0e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java @@ -56,6 +56,7 @@ public class UnplannedissueRecordDetailServiceImpl implements UnplannedissueReco // 删除 unplannedissueRecordDetailMapper.deleteById(id); } + @Override public PageResult getUnplannedissueRecordDetailSenior(CustomConditions conditions) { return unplannedissueRecordDetailMapper.selectSenior(conditions); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java index 89b8ab29..76bbbe49 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java @@ -2,21 +2,37 @@ package com.win.module.wms.service.unplannedissueRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainCreateReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainExportReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainPageReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainUpdateReqVO; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.controller.unplannedissueRecord.vo.*; +import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordDetailConvert; import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordDetailDO; import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO; +import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordDetailMapper; import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +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; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS; /** @@ -30,14 +46,75 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord @Resource private UnplannedissueRecordMainMapper unplannedissueRecordMainMapper; + @Resource + private UnplannedissueRecordDetailMapper unplannedissueRecordDetailMapper; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private TransactionService transactionService; + @Resource + private TrendsApi trendsApi; + @Transactional @Override public Long createUnplannedissueRecordMain(UnplannedissueRecordMainCreateReqVO createReqVO) { - // 插入 - UnplannedissueRecordMainDO unplannedissueRecordMain = UnplannedissueRecordMainConvert.INSTANCE.convert(createReqVO); - unplannedissueRecordMainMapper.insert(unplannedissueRecordMain); - // 返回 - return unplannedissueRecordMain.getId(); + UnplannedissueRecordMainDO unplannedissueRecordMainDO = UnplannedissueRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_DELIVER_RECORD.getCode()); + unplannedissueRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedDeliverRecord"); + unplannedissueRecordMainDO.setBusinessType(businesstypeDO.getCode()); + unplannedissueRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + unplannedissueRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("UnplannedDeliverRecord").getInterfaceType(); + unplannedissueRecordMainDO.setInterfaceType(interFaceType); + unplannedissueRecordMainDO.setExecuteTime(LocalDateTime.now()); + unplannedissueRecordMainDO.setActiveDate(LocalDateTime.now()); + unplannedissueRecordMainDO.setAvailable("TRUE"); + unplannedissueRecordMainDO.setDueTime(null); + unplannedissueRecordMainDO.setId(null); + unplannedissueRecordMainDO.setCreator(null); + unplannedissueRecordMainDO.setCreateTime(LocalDateTime.now()); + unplannedissueRecordMainMapper.insert(unplannedissueRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List subList = createReqVO.getSubList(); + for(UnplannedissueRecordDetailCreateReqVO unplannedissueRecordDetailCreateReqVO : subList) { + UnplannedissueRecordDetailDO recordDetailDO = UnplannedissueRecordDetailConvert.INSTANCE.convert(unplannedissueRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(unplannedissueRecordMainDO.getId()); + recordDetailDO.setId(null); + unplannedissueRecordDetailMapper.insert(recordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(unplannedissueRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(recordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(recordDetailDO.getOwnerCode()); + transactionCreateReqVO.setPackingNumber(recordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(recordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(unplannedissueRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + trendsApi.createTrends(unplannedissueRecordMainDO.getId(), "UnplannedDeliverRecord", "增加了计划外出库申请记录", TrendsTypeEnum.CREATE); + return unplannedissueRecordMainDO.getId(); } @Override @@ -77,10 +154,12 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord public PageResult getUnplannedissueRecordMainPage(UnplannedissueRecordMainPageReqVO pageReqVO) { return unplannedissueRecordMainMapper.selectPage(pageReqVO); } + @Override public PageResult getUnplannedissueRecordMainSenior(CustomConditions conditions) { return unplannedissueRecordMainMapper.selectSenior(conditions); } + @Override public List getUnplannedissueRecordMainList(UnplannedissueRecordMainExportReqVO exportReqVO) { return unplannedissueRecordMainMapper.selectList(exportReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java index 62e4602b..a8b0fff7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java @@ -8,11 +8,9 @@ import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.unplannedissueRequest.vo.*; import com.win.module.wms.convert.unplannedissueRequest.UnplannedissueRequestDetailConvert; -import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; -import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.unplannedissueRequest.UnplannedissueRequestDetailDO; import com.win.module.wms.dal.mysql.unplannedissueRequest.UnplannedissueRequestDetailMapper; @@ -21,6 +19,7 @@ import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -42,38 +41,32 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq @Resource private UnplannedissueRequestDetailMapper unplannedissueRequestDetailMapper; - @Resource private RequestsettingService requestsettingService; - @Resource private JobUtils jobUtils; - @Resource private SerialNumberApi serialNumberApi; @Resource private ItembasicService itembasicService; - @Resource private TrendsApi trendsApi; - @Resource private LocationService locationService; + @Transactional @Override public Long createUnplannedissueRequestDetail(UnplannedissueRequestDetailCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("UnplannedDeliverRequest"); // 插入 UnplannedissueRequestDetailDO unplannedissueRequestDetail =validatorToCreate(createReqVO,requestsettingDO); - trendsApi.createTrends(requestsettingDO.getId(), "UnplannedDeliverRequest", "增加了计划外出库申请", TrendsTypeEnum.CREATE); return unplannedissueRequestDetail.getId(); - } private UnplannedissueRequestDetailDO validatorToCreate(UnplannedissueRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedDeliverRequest"); - UnplannedissueRequestDetailDO unplannedissueRequestDetailDO = validateDetailMethod(createReqVO,businesstypeDO,requestsettingDO); + UnplannedissueRequestDetailDO unplannedissueRequestDetailDO = validateDetailMethod(createReqVO,businesstypeDO); unplannedissueRequestDetailDO.setMasterId(createReqVO.getMasterId()); String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode()); unplannedissueRequestDetailDO.setNumber(number); @@ -81,7 +74,7 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq return unplannedissueRequestDetailDO; } - private UnplannedissueRequestDetailDO validateDetailMethod(UnplannedissueRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ + private UnplannedissueRequestDetailDO validateDetailMethod(UnplannedissueRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO){ UnplannedissueRequestDetailDO detailDo = UnplannedissueRequestDetailConvert.INSTANCE.convert(baseVO); validatorLocation(detailDo.getFromLocationCode()); ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); @@ -95,7 +88,7 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq String INVENTORY = detailDo.getInventoryStatus(); String[] inventory = INVENTORY.split(","); List inventorystatus = Arrays.asList(inventory); - List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(),detailDo.getPackingNumber(),detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); + jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(),detailDo.getPackingNumber(),detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); return detailDo; } @@ -103,18 +96,22 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq return locationService.selectLocation(Location); } + @Transactional @Override public void updateUnplannedissueRequestDetail(UnplannedissueRequestDetailUpdateReqVO updateReqVO) { // 校验存在 validateUnplannedissueRequestDetailExists(updateReqVO.getId()); // 更新 - UnplannedissueRequestDetailDO updateObj = UnplannedissueRequestDetailConvert.INSTANCE.convert(updateReqVO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedDeliverRequest"); + UnplannedissueRequestDetailDO updateObj = validateDetailMethod(updateReqVO,businesstypeDO); unplannedissueRequestDetailMapper.updateById(updateObj); } + @Override public PageResult getUnplannedissueRequestDetailSenior(CustomConditions conditions) { return unplannedissueRequestDetailMapper.selectSenior(conditions); } + @Override public void deleteUnplannedissueRequestDetail(Long id) { // 校验存在 @@ -149,5 +146,4 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq return unplannedissueRequestDetailMapper.selectList(exportReqVO); } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java index 4be98b0c..e425ef52 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java @@ -632,7 +632,6 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque return errorList; } - @Override public List selectList(Long masterId) { return unplannedissueRequestDetailMapper.selectList(masterId); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java index ed4b9c7e..b65325a0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java @@ -11,15 +11,11 @@ import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; -import com.win.module.wms.controller.unplannedissueJob.vo.UnplannedissueJobDetailUpdateReqVO; -import com.win.module.wms.controller.unplannedissueJob.vo.UnplannedissueJobMainUpdateReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.*; import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobMainConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; -import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobDetailDO; -import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO; @@ -139,6 +135,7 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa public List getUnplannedreceiptJobMainList(UnplannedreceiptJobMainExportReqVO exportReqVO) { return unplannedreceiptJobMainMapper.selectList(exportReqVO); } + @Override public UnplannedreceiptJobMainDO unplannedreceiptJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); @@ -312,7 +309,6 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa //变更记录 trendsApi.createTrends(unplannedreceiptJobMainDO.getId(), "UnplannedReceiptJob", "执行计划外入库任务", TrendsTypeEnum.UPDATE); return number; - } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java index cdddc87e..340a8f3f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java @@ -1,20 +1,39 @@ package com.win.module.wms.service.unplannedreceiptRecord; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainCreateReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainExportReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainPageReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainUpdateReqVO; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import java.util.*; -import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO; import com.win.framework.common.pojo.PageResult; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.controller.unplannedreceiptRecord.vo.*; +import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordDetailConvert; import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO; +import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO; +import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +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; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS; /** * 计划外入库记录主 Service 实现类 @@ -27,20 +46,80 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe @Resource private UnplannedreceiptRecordMainMapper unplannedreceiptRecordMainMapper; + @Resource + private UnplannedreceiptRecordDetailMapper unplannedreceiptRecordDetailMapper; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private TransactionService transactionService; + @Resource + private TrendsApi trendsApi; @Override public PageResult getUnplannedreceiptRecordMainSenior(CustomConditions conditions) { return unplannedreceiptRecordMainMapper.selectSenior(conditions); } - + @Transactional @Override public Long createUnplannedreceiptRecordMain(UnplannedreceiptRecordMainCreateReqVO createReqVO) { - // 插入 - UnplannedreceiptRecordMainDO unplannedreceiptRecordMain = UnplannedreceiptRecordMainConvert.INSTANCE.convert(createReqVO); - unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMain); - // 返回 - return unplannedreceiptRecordMain.getId(); + UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = UnplannedreceiptRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_RECORD.getCode()); + unplannedreceiptRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRecord"); + unplannedreceiptRecordMainDO.setBusinessType(businesstypeDO.getCode()); + unplannedreceiptRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + unplannedreceiptRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("UnplannedReceiptRecord").getInterfaceType(); + unplannedreceiptRecordMainDO.setInterfaceType(interFaceType); + unplannedreceiptRecordMainDO.setExecuteTime(LocalDateTime.now()); + unplannedreceiptRecordMainDO.setActiveDate(LocalDateTime.now()); + unplannedreceiptRecordMainDO.setAvailable("TRUE"); + unplannedreceiptRecordMainDO.setDueTime(null); + unplannedreceiptRecordMainDO.setId(null); + unplannedreceiptRecordMainDO.setCreator(null); + unplannedreceiptRecordMainDO.setCreateTime(LocalDateTime.now()); + unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List subList = createReqVO.getSubList(); + for(UnplannedreceiptRecordDetailCreateReqVO unplannedreceiptRecordDetailCreateReqVO : subList) { + UnplannedreceiptRecordDetailDO recordDetailDO = UnplannedreceiptRecordDetailConvert.INSTANCE.convert(unplannedreceiptRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(unplannedreceiptRecordMainDO.getId()); + recordDetailDO.setId(null); + unplannedreceiptRecordDetailMapper.insert(recordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(unplannedreceiptRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(recordDetailDO.getToLocationCode()); + transactionCreateReqVO.setOwnerCode(recordDetailDO.getOwnerCode()); + transactionCreateReqVO.setPackingNumber(recordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(recordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(unplannedreceiptRecordMainDO.getToWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + trendsApi.createTrends(unplannedreceiptRecordMainDO.getId(), "UnplannedReceiptRecord", "增加了计划外入库申请记录", TrendsTypeEnum.CREATE); + return unplannedreceiptRecordMainDO.getId(); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java index a7d15b96..a08861ac 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java @@ -1,34 +1,30 @@ package com.win.module.wms.service.unplannedreceiptRequest; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.wms.controller.unplannedreceiptRequest.vo.*; -import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestMainConvert; +import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; -import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; +import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestDetailMapper; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.*; - -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert; -import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestDetailMapper; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_REQUEST_DETAIL_NOT_EXISTS; /** * 计划外入库申请子 Service 实现类 @@ -41,29 +37,26 @@ public class UnplannedreceiptRequestDetailServiceImpl implements Unplannedreceip @Resource private UnplannedreceiptRequestDetailMapper unplannedreceiptRequestDetailMapper; - @Resource private RequestsettingService requestsettingService; - @Resource private ItembasicService itembasicService; - @Resource private JobUtils jobUtils; - @Resource private TrendsApi trendsApi; + @Transactional @Override public Long createUnplannedreceiptRequestDetail(UnplannedreceiptRequestDetailCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("UnplannedReceiptRequest"); // 插入 UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetail = validatorToCreate(createReqVO,requestsettingDO); + trendsApi.createTrends(unplannedreceiptRequestDetail.getId(), "UnplannedReceiptRequest", "增加了计划外入库申请", TrendsTypeEnum.CREATE); return unplannedreceiptRequestDetail.getId(); } - - private UnplannedreceiptRequestDetailDO validatorToCreate(UnplannedreceiptRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + public UnplannedreceiptRequestDetailDO validatorToCreate(UnplannedreceiptRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRequest"); UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO = validateDetailMethod(createReqVO,businesstypeDO); unplannedreceiptRequestDetailMapper.insert(unplannedreceiptRequestDetailDO); @@ -86,13 +79,16 @@ public class UnplannedreceiptRequestDetailServiceImpl implements Unplannedreceip return detailDo; } + @Transactional @Override public void updateUnplannedreceiptRequestDetail(UnplannedreceiptRequestDetailUpdateReqVO updateReqVO) { // 校验存在 validateUnplannedreceiptRequestDetailExists(updateReqVO.getId()); // 更新 - UnplannedreceiptRequestDetailDO updateObj = UnplannedreceiptRequestDetailConvert.INSTANCE.convert(updateReqVO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRequest"); + UnplannedreceiptRequestDetailDO updateObj = validateDetailMethod(updateReqVO,businesstypeDO); unplannedreceiptRequestDetailMapper.updateById(updateObj); + trendsApi.createTrends(updateObj.getId(), "UnplannedReceiptRequest", "更新了计划外入库申请", TrendsTypeEnum.UPDATE); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java index c1774db3..ee299a03 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java @@ -269,7 +269,6 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR detailDo.setCreateTime(LocalDateTime.now()); } - private UnplannedreceiptRequestMainDO validateMainMethod(UnplannedreceiptRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = UnplannedreceiptRequestMainConvert.INSTANCE.convert(baseVO); unplannedreceiptRequestMainDO.setRequestTime(LocalDateTime.now()); @@ -426,7 +425,7 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR return message.toString(); } - public List getUnplannedreceiptRequestMainList1(CustomConditions conditions) { + public List getUnplannedreceiptRequestMainList1(CustomConditions conditions) { return unplannedreceiptRequestMainMapper.selectSeniorList(conditions); }