diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index dbfb1f28..970bbf68 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -929,6 +929,7 @@ public interface ErrorCodeConstants { ErrorCode UNPLANNEDRECEIPT_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_146_006, "计划外入库申请状态不支持审批拒绝"); ErrorCode UNPLANNEDRECEIPT_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_146_007, "计划外入库申请状态不支持审批同意"); ErrorCode UNPLANNEDRECEIPT_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_146_008, "计划外入库申请状态不支持处理"); + ErrorCode UNPLANNEDRECEIPT_REQUEST_WAREHOSECODE_VALIDATE = new ErrorCode(1_000_146_009, "仓库【to_warehouse_code】与库位【to_location_code】关系错误"); //计划外入库任务ErrorCode ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_147_000, "计划外入库任务主不存在"); @@ -939,13 +940,26 @@ public interface ErrorCodeConstants { //计划外入库记录ErrorCode ErrorCode UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_148_000, "计划外入库记录主不存在"); ErrorCode UNPLANNEDRECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_148_001, "计划外入库记录子不存在"); + //报废出库申请ErrorCode ErrorCode SCRAP_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_149_000, "报废出库申请主不存在"); ErrorCode SCRAP_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_149_001, "报废出库申请子不存在"); + ErrorCode SCRAP_REQUEST_LOCATIONCODE_INVALID = new ErrorCode(1_000_149_002, "库位【location_code】无效"); + ErrorCode SCRAP_REQUEST_WAREHOSECODE_VALIDATE = new ErrorCode(1_000_149_003, "仓库【from_warehouse_code】与库位【from_location_code】关系错误"); + ErrorCode SCRAP_REQUEST_ITEMCODE_INVALID = new ErrorCode(1_000_149_004, "物品【item_code】无效"); + ErrorCode SCRAP_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_149_005, "报废出库申请状态不支持关闭"); + ErrorCode SCRAP_REQUEST_CANNOT_RE_ADD = new ErrorCode(1_000_149_006, "报废出库申请状态不支持关闭"); + ErrorCode SCRAP_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_149_007, "报废出库申请状态不支持提交"); + ErrorCode SCRAP_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_149_008, "报废出库申请状态不支持审批拒绝"); + ErrorCode SCRAP_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_149_009, "报废出库申请状态不支持审批同意"); + ErrorCode SCRAP_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_149_010, "报废出库申请状态不支持处理"); + //报废出库任务ErrorCode ErrorCode SCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_150_000, "报废出库任务主不存在"); ErrorCode SCRAP_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_150_001, "报废出库任务子不存在"); ErrorCode SCRAP_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_150_002, "报废出库任务状态不存在"); + ErrorCode SCRAP_JOB_MAIN_EXISTS = new ErrorCode(1_000_150_003, "报废出库任务存在报废出库任务单"); + //报废出库记录ErrorCode ErrorCode SCRAP_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_151_000, "报废出库记录主不存在"); ErrorCode SCRAP_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_151_001, "报废出库记录子不存在"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobDetailController.java index 628fe75b..c527a05e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobDetailController.java @@ -1,34 +1,32 @@ package com.win.module.wms.controller.scrapJob; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; +import com.win.module.wms.controller.scrapJob.vo.*; +import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; +import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; +import com.win.module.wms.service.scrapJob.ScrapJobDetailService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.Collection; +import java.util.List; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; import static com.win.framework.common.pojo.CommonResult.success; - -import com.win.framework.excel.core.util.ExcelUtils; - -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.win.module.wms.controller.scrapJob.vo.*; -import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; -import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; -import com.win.module.wms.service.scrapJob.ScrapJobDetailService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 报废出库任务子") @RestController @@ -38,7 +36,6 @@ public class ScrapJobDetailController { @Resource private ScrapJobDetailService scrapJobDetailService; - @Resource private AdminUserApi userApi; @@ -65,6 +62,7 @@ public class ScrapJobDetailController { scrapJobDetailService.deleteScrapJobDetail(id); return success(true); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得物品基本信息分页") @PreAuthorize("@ss.hasPermission('wms:ScrapJobDetail:query')") @@ -78,6 +76,7 @@ public class ScrapJobDetailController { } return success(result); } + @GetMapping("/get") @Operation(summary = "获得报废出库任务子") @Parameter(name = "id", description = "编号", required = true, example = "1024") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobMainController.java index 9f087ca3..5e3fe6b0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/ScrapJobMainController.java @@ -1,37 +1,38 @@ package com.win.module.wms.controller.scrapJob; + +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; +import com.win.module.wms.controller.scrapJob.vo.*; import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; +import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; +import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; import com.win.module.wms.service.scrapJob.ScrapJobDetailService; +import com.win.module.wms.service.scrapJob.ScrapJobMainService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import jodd.util.StringUtil; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; import static com.win.framework.common.pojo.CommonResult.success; - -import com.win.framework.excel.core.util.ExcelUtils; - -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.win.module.wms.controller.scrapJob.vo.*; -import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; -import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; -import com.win.module.wms.service.scrapJob.ScrapJobMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 报废出库任务主") @RestController @@ -140,8 +141,8 @@ public class ScrapJobMainController { ScrapJobDetailExportReqVO reqVO = new ScrapJobDetailExportReqVO(); reqVO.setMasterId(result.getId()); List scrapJobDetailList = scrapJobDetailService.getScrapJobDetailList(reqVO); - List vos = ScrapJobDetailConvert.INSTANCE.convertList02(scrapJobDetailList); - result.setSubList(vos); + List scrapJobDetailRespVOList = ScrapJobDetailConvert.INSTANCE.convertList(scrapJobDetailList); + result.setSubList(scrapJobDetailRespVOList); return success(result); } @@ -160,4 +161,36 @@ public class ScrapJobMainController { return success(countByStatus); } + @PutMapping(value = "/accept") + @Operation(summary = "承接任务") + @PreAuthorize("@ss.hasPermission('wms:scrap-job-main:accept')") + public CommonResult acceptScrapJobMain(@RequestParam("id") Long id) { + int result = scrapJobMainService.acceptScrapJobMain(id); + return success(result > 0); + } + + @PutMapping(value = "/abandon") + @Operation(summary = "放弃任务") + @PreAuthorize("@ss.hasPermission('wms:scrap-job-main:abandon')") + public CommonResult abandonScrapJobMain(@RequestParam("id") Long id) { + int result = scrapJobMainService.abandonScrapJobMain(id); + return success(result > 0); + } + + @PutMapping(value = "/close") + @Operation(summary = "关闭任务") + @PreAuthorize("@ss.hasPermission('wms:scrap-job-main:close')") + public CommonResult closeScrapJobMain(@RequestParam("id") Long id) { + int result = scrapJobMainService.closeScrapJobMain(id); + return success(result > 0); + } + + @PutMapping("/execute") + @Operation(summary = "执行报废出库任务主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-job-main:execute')") + public CommonResult executeScrapJobMain(@Valid @RequestBody ScrapJobMainUpdateReqVO updateReqVO) { + String number = scrapJobMainService.executeScrapJobMain(updateReqVO); + return success(number); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailUpdateReqVO.java index 997b1902..0cf3b990 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobDetailUpdateReqVO.java @@ -9,4 +9,6 @@ import lombok.*; @ToString(callSuper = true) public class ScrapJobDetailUpdateReqVO extends ScrapJobDetailBaseVO { + @Schema(description = "数量") + private String handleQty; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainRespVO.java index 9cc0e869..51ed5d6c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainRespVO.java @@ -12,5 +12,5 @@ import java.util.List; public class ScrapJobMainRespVO extends ScrapJobMainBaseVO { @Schema(description = "报废出库任务子表job_scrap_detail", requiredMode = Schema.RequiredMode.REQUIRED) - private List subList; + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainUpdateReqVO.java index 0416b7c2..317d94a6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainUpdateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.scrapJob.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.Valid; +import java.util.List; @Schema(description = "管理后台 - 报废出库任务主更新 Request VO") @Data @@ -9,4 +14,7 @@ import lombok.*; @ToString(callSuper = true) public class ScrapJobMainUpdateReqVO extends ScrapJobMainBaseVO { + + @Schema(description = "子表数据") + private List<@Valid ScrapJobDetailUpdateReqVO> subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordDetailController.java index 29461b71..774eb238 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordDetailController.java @@ -1,34 +1,32 @@ package com.win.module.wms.controller.scrapRecord; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; +import com.win.module.wms.controller.scrapRecord.vo.*; +import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; +import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; +import com.win.module.wms.service.scrapRecord.ScrapRecordDetailService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.Collection; +import java.util.List; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; import static com.win.framework.common.pojo.CommonResult.success; - -import com.win.framework.excel.core.util.ExcelUtils; - -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.win.module.wms.controller.scrapRecord.vo.*; -import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; -import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; -import com.win.module.wms.service.scrapRecord.ScrapRecordDetailService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 报废出库记录子") @RestController @@ -38,7 +36,6 @@ public class ScrapRecordDetailController { @Resource private ScrapRecordDetailService scrapRecordDetailService; - @Resource private AdminUserApi userApi; 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 dd9b1627..d75d7b91 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 @@ -1,34 +1,32 @@ package com.win.module.wms.controller.scrapRecord; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; +import com.win.module.wms.controller.scrapRecord.vo.*; +import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; +import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; +import com.win.module.wms.service.scrapRecord.ScrapRecordMainService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.Collection; +import java.util.List; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; import static com.win.framework.common.pojo.CommonResult.success; - -import com.win.framework.excel.core.util.ExcelUtils; - -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.win.module.wms.controller.scrapRecord.vo.*; -import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; -import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; -import com.win.module.wms.service.scrapRecord.ScrapRecordMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 报废出库记录主") @RestController diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailBaseVO.java index f9b8bf69..c36569c1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailBaseVO.java @@ -98,4 +98,7 @@ public class ScrapRecordDetailBaseVO { @Schema(description = "任务明细ID") private String jobDetailId; + @Schema(description = "主键ID") + private String masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestDetailController.java index fe6409fd..df7d7a19 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestDetailController.java @@ -1,28 +1,32 @@ package com.win.module.wms.controller.scrapRequest; + +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.scrapRequest.vo.*; +import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; +import com.win.module.wms.service.scrapRequest.ScrapRequestDetailService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; + import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; +import java.util.Collection; +import java.util.List; + import static com.win.framework.common.pojo.CommonResult.success; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; -import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; -import com.win.module.wms.service.scrapRequest.ScrapRequestDetailService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 报废出库申请子") @RestController @@ -32,7 +36,6 @@ public class ScrapRequestDetailController { @Resource private ScrapRequestDetailService scrapRequestDetailService; - @Resource private AdminUserApi userApi; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java index 5e8e3fbe..eec1c957 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/ScrapRequestMainController.java @@ -1,39 +1,41 @@ package com.win.module.wms.controller.scrapRequest; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.excel.core.util.ConvertUtil; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.scrapRequest.vo.*; import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; +import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.scrapRequest.ScrapRequestDetailService; +import com.win.module.wms.service.scrapRequest.ScrapRequestMainService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import javax.validation.*; -import javax.servlet.http.*; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.util.*; -import java.io.IOException; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; + import static com.win.framework.common.pojo.CommonResult.success; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; -import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; -import com.win.module.wms.service.scrapRequest.ScrapRequestMainService; -import org.springframework.web.multipart.MultipartFile; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 报废出库申请主") @RestController @@ -43,10 +45,8 @@ public class ScrapRequestMainController { @Resource private ScrapRequestMainService scrapRequestMainService; - @Resource private ScrapRequestDetailService scrapRequestDetailService; - @Resource private AdminUserApi userApi; @@ -176,8 +176,6 @@ public class ScrapRequestMainController { ExcelUtils.write(response, "计划外入库申请主.xlsx", "计划外入库申请数据", ScrapRequestMainExcelVO.class, resultList, mapDropDown); } - - private List getExcelVo(List list, Map mapDropDown) { String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); mapDropDown.put(30, uom); @@ -195,8 +193,6 @@ public class ScrapRequestMainController { return resultList; } - - @GetMapping("/getScrapRequestById") @Operation(summary = "APP获得报废出库申请主子表明细列表") @Parameter(name = "id", description = "编号", required = true, example = "1024") @@ -215,4 +211,58 @@ public class ScrapRequestMainController { return success(result); } + @PutMapping("/close") + @Operation(summary = "关闭报废出库申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:close')") + public CommonResult closeScrapRequestMain(@RequestParam("id") Long id) { + Integer count = scrapRequestMainService.closeScrapRequestMain(id); + return success(count > 0); + } + + @PutMapping("/reAdd") + @Operation(summary = "重新添加报废出库申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:reAdd')") + public CommonResult reAddScrapRequestMain(@RequestParam("id") Long id) { + Integer count = scrapRequestMainService.reAddScrapRequestMain(id); + return success(count > 0); + } + + @PutMapping("/submit") + @Operation(summary = "提交报废出库申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:submit')") + public CommonResult submitScrapRequestMain(@RequestParam("id") Long id) { + Integer count = scrapRequestMainService.submitScrapRequestMain(id); + return success(count > 0); + } + + @PutMapping("/refused") + @Operation(summary = "审批拒绝报废出库申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:refused')") + public CommonResult abortScrapRequestMain(@RequestParam("id") Long id) { + Integer count = scrapRequestMainService.abortScrapRequestMain(id); + return success(count > 0); + } + + @PutMapping("/agree") + @Operation(summary = "审批通过报废出库申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:agree')") + public CommonResult agreeScrapRequestMain(@RequestParam("id") Long id) { + Integer count = scrapRequestMainService.agreeScrapRequestMain(id); + return success(count > 0); + } + + @PutMapping("/handle") + @Operation(summary = "处理报废出库申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:scrap-request-main:handle')") + public CommonResult handleScrapRequestMain(@RequestParam("id") Long id) { + Integer count = scrapRequestMainService.handleScrapRequestMain(id); + return success(count > 0); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/TransferissueJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/TransferissueJobMainController.java index 22dfc3d3..0ee9885c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/TransferissueJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/TransferissueJobMainController.java @@ -1,34 +1,37 @@ package com.win.module.wms.controller.transferissueJob; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO; import com.win.module.wms.controller.transferissueJob.vo.*; import com.win.module.wms.convert.transferissueJob.TransferissueJobDetailConvert; +import com.win.module.wms.convert.transferissueJob.TransferissueJobMainConvert; import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobDetailDO; +import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO; import com.win.module.wms.service.transferissueJob.TransferissueJobDetailService; +import com.win.module.wms.service.transferissueJob.TransferissueJobMainService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import jodd.util.StringUtil; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import static com.win.framework.common.pojo.CommonResult.success; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; -import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO; -import com.win.module.wms.convert.transferissueJob.TransferissueJobMainConvert; -import com.win.module.wms.service.transferissueJob.TransferissueJobMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 调拨出库任务主") @RestController @@ -139,8 +142,8 @@ public class TransferissueJobMainController { TransferissueJobDetailExportReqVO exportReqVO = new TransferissueJobDetailExportReqVO(); exportReqVO.setMasterId(result.getId()); List transferissueJobDetailList = transferissueJobDetailService.getTransferissueJobDetailList(exportReqVO); - List transferissueJobDetailExcelVOS = TransferissueJobDetailConvert.INSTANCE.convertList02(transferissueJobDetailList); - result.setSubList(transferissueJobDetailExcelVOS); + List transferissueJobDetailRespVOList = TransferissueJobDetailConvert.INSTANCE.convertList(transferissueJobDetailList); + result.setSubList(transferissueJobDetailRespVOList); return success(result); } @@ -192,12 +195,4 @@ public class TransferissueJobMainController { return success(number); } - @PutMapping("/getExecuteJson") - @Operation(summary = "获取执行请求参数") - @Parameter(name = "id", description = "编号", required = true) - public CommonResult getExecuteJson(@RequestParam("id") Long id) { - TransferissueJobMainUpdateReqVO updateReqVO = transferissueJobMainService.getExecuteJson(id); - return success(updateReqVO); - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailExcelVO.java index d18b1106..89b4429e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailExcelVO.java @@ -1,8 +1,6 @@ package com.win.module.wms.controller.transferissueJob.vo; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -19,6 +17,7 @@ import com.win.framework.excel.core.convert.DictConvert; @Data public class TransferissueJobDetailExcelVO { + @ExcelProperty("包装号") private String packingNumber; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailUpdateReqVO.java index 1bb7f54d..56d5a02c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobDetailUpdateReqVO.java @@ -10,7 +10,7 @@ import lombok.*; public class TransferissueJobDetailUpdateReqVO extends TransferissueJobDetailBaseVO { @Schema(description = "实际收货数量") - private String toQty; + private String handleQty; @Schema(description = "到包装") private String toPackingNumber; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobMainRespVO.java index 963e2188..66865309 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobMainRespVO.java @@ -12,5 +12,5 @@ import java.util.List; public class TransferissueJobMainRespVO extends TransferissueJobMainBaseVO { @Schema(description = "调拨出库任务子表job_transferissue_detail", requiredMode = Schema.RequiredMode.REQUIRED) - private List subList; + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/TransferreceiptJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/TransferreceiptJobMainController.java index 2c9ac666..2b047235 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/TransferreceiptJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/TransferreceiptJobMainController.java @@ -139,8 +139,8 @@ public class TransferreceiptJobMainController { TransferreceiptJobDetailExportReqVO exportReqVO = new TransferreceiptJobDetailExportReqVO(); exportReqVO.setMasterId(result.getId()); List transferreceiptJobDetailList = transferreceiptJobDetailService.getTransferreceiptJobDetailList(exportReqVO); - List transferreceiptJobDetailExcelVOS = TransferreceiptJobDetailConvert.INSTANCE.convertList02(transferreceiptJobDetailList); - result.setSubList(transferreceiptJobDetailExcelVOS); + List transferreceiptJobDetailRespVOList = TransferreceiptJobDetailConvert.INSTANCE.convertList(transferreceiptJobDetailList); + result.setSubList(transferreceiptJobDetailRespVOList); return success(result); } @@ -192,12 +192,4 @@ public class TransferreceiptJobMainController { return success(number); } - @PutMapping("/getExecuteJson") - @Operation(summary = "获取执行请求参数") - @Parameter(name = "id", description = "编号", required = true) - public CommonResult getExecuteJson(@RequestParam("id") Long id) { - TransferreceiptJobMainUpdateReqVO updateReqVO = transferreceiptJobMainService.getExecuteJson(id); - return success(updateReqVO); - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/vo/TransferreceiptJobMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/vo/TransferreceiptJobMainRespVO.java index 94bdce9b..44cf4459 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/vo/TransferreceiptJobMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/vo/TransferreceiptJobMainRespVO.java @@ -12,6 +12,6 @@ import java.util.List; public class TransferreceiptJobMainRespVO extends TransferreceiptJobMainBaseVO { @Schema(description = "调拨入库任务子表job_transferreceipt_detail", requiredMode = Schema.RequiredMode.REQUIRED) - private List subList; + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/UnplannedissueJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/UnplannedissueJobMainController.java index 9db68650..302f4342 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/UnplannedissueJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/UnplannedissueJobMainController.java @@ -144,8 +144,8 @@ public class UnplannedissueJobMainController { UnplannedissueJobDetailExportReqVO reqVO = new UnplannedissueJobDetailExportReqVO(); reqVO.setMasterId(result.getId()); List list = unplannedissueJobDetailService.getUnplannedissueJobDetailList(reqVO); - List vos = UnplannedissueJobDetailConvert.INSTANCE.convertList02(list); - result.setSubList(vos); + List unplannedissueJobDetailRespVOList = UnplannedissueJobDetailConvert.INSTANCE.convertList(list); + result.setSubList(unplannedissueJobDetailRespVOList); return success(result); } @@ -197,12 +197,4 @@ public class UnplannedissueJobMainController { return success(number); } - @PutMapping("/getExecuteJson") - @Operation(summary = "获取执行请求参数") - @Parameter(name = "id", description = "编号", required = true) - public CommonResult getExecuteJson(@RequestParam("id") Long id) { - UnplannedissueJobMainUpdateReqVO updateReqVO = unplannedissueJobMainService.getExecuteJson(id); - return success(updateReqVO); - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/vo/UnplannedissueJobMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/vo/UnplannedissueJobMainRespVO.java index 98c8bead..11849a92 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/vo/UnplannedissueJobMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/vo/UnplannedissueJobMainRespVO.java @@ -12,6 +12,6 @@ import java.util.List; public class UnplannedissueJobMainRespVO extends UnplannedissueJobMainBaseVO { @Schema(description = "计划外出库任务子表job_unplannedissue_detail", requiredMode = Schema.RequiredMode.REQUIRED) - private List subList; + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobMainController.java index 316153c0..5226b89e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobMainController.java @@ -140,8 +140,8 @@ public class UnplannedreceiptJobMainController { UnplannedreceiptJobDetailExportReqVO exportReqVO = new UnplannedreceiptJobDetailExportReqVO(); exportReqVO.setMasterId(result.getId()); List unplannedreceiptJobDetailList = unplannedreceiptJobDetailService.getUnplannedreceiptJobDetailList(exportReqVO); - List vos = UnplannedreceiptJobDetailConvert.INSTANCE.convertList02(unplannedreceiptJobDetailList); - result.setSubList(vos); + List unplannedreceiptJobDetailRespVOList = UnplannedreceiptJobDetailConvert.INSTANCE.convertList(unplannedreceiptJobDetailList); + result.setSubList(unplannedreceiptJobDetailRespVOList); return success(result); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainRespVO.java index 121b20c8..a99c4b33 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainRespVO.java @@ -12,5 +12,5 @@ import java.util.List; public class UnplannedreceiptJobMainRespVO extends UnplannedreceiptJobMainBaseVO { @Schema(description = "计划外入库任务主子表job_unplannedreceipt_detail", requiredMode = Schema.RequiredMode.REQUIRED) - private List subList; + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainBaseVO.java index aa1e2f1b..14269152 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainBaseVO.java @@ -24,6 +24,7 @@ public class UnplannedreceiptRequestMainBaseVO { private Long id; @Schema(description = "到仓库代码") + @NotNull(message = "到仓库代码不能为空") private String toWarehouseCode; @Schema(description = "单据号") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainImportVO.java index 133d4835..d6727654 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainImportVO.java @@ -25,9 +25,8 @@ import java.time.LocalDateTime; public class UnplannedreceiptRequestMainImportVO { //主表数据 - - @ExcelProperty("单据号") - private String number; + @ExcelProperty("到仓库代码") + private String toWarehouseCode; @ExcelProperty("截止时间") private LocalDateTime dueTime; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobDetailConvert.java index 9d7cdc87..3874679f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobDetailConvert.java @@ -8,6 +8,7 @@ import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailCreateReqVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailExcelVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailRespVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; @@ -34,4 +35,5 @@ public interface ScrapJobDetailConvert { List convertList02(List list); + ScrapJobDetailDO convert(ScrapRequestDetailDO scrapRequestDetailDO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobMainConvert.java index 74972833..02c6c44f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/scrapJob/ScrapJobMainConvert.java @@ -8,6 +8,7 @@ import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainCreateReqVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainExcelVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainRespVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; @@ -34,4 +35,5 @@ public interface ScrapJobMainConvert { List convertList02(List list); + ScrapJobMainDO convert(ScrapRequestMainDO mainDO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueJob/TransferissueJobDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueJob/TransferissueJobDetailConvert.java index 4ce11477..746ffd84 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueJob/TransferissueJobDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueJob/TransferissueJobDetailConvert.java @@ -36,4 +36,5 @@ public interface TransferissueJobDetailConvert { List convertList02(List list); TransferissueJobDetailDO convert(TransferissueRequestDetailDO transferissueRequestDetailDO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java index cb0d3528..d9905b30 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestMainConvert.java @@ -36,9 +36,7 @@ public interface TransferissueRequestMainConvert { PageResult convertPage(PageResult page); List convertList02(List list); - @Mappings({ - @Mapping(source = "mainDo.number", target = "number") - }) + TransferissueRequestMainImportErrorVO convert(TransferissueRequestMainCreateReqVO mainDo, TransferissueRequestDetailDO detailDo); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptRequest/UnplannedreceiptRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptRequest/UnplannedreceiptRequestMainConvert.java index f28a4c8f..1fb5045b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptRequest/UnplannedreceiptRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptRequest/UnplannedreceiptRequestMainConvert.java @@ -43,10 +43,9 @@ public interface UnplannedreceiptRequestMainConvert { PageResult convertPage(PageResult page); List convertList02(List list); - @Mappings({ - @Mapping(source = "mainVo.number", target = "number"), - }) + UnplannedreceiptRequestMainImportErrorVO convert(UnplannedreceiptRequestMainCreateReqVO mainVo, UnplannedreceiptRequestDetailDO detailDo); + @Mappings({ @Mapping(source = "mainDO.number", target = "number"), @Mapping(source = "mainDO.remark", target = "remark"), diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapJob/ScrapJobMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapJob/ScrapJobMainDO.java index 4a071a73..be41b596 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapJob/ScrapJobMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapJob/ScrapJobMainDO.java @@ -195,5 +195,13 @@ public class ScrapJobMainDO extends BaseDO { * 允许修改箱码 */ private String allowModifyPackingNumber; + /** + * 入库库存状态范围 + */ + private String inInventoryStatuses; + /** + * 出库库存状态范围 + */ + private String outInventoryStatuses; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestMainDO.java index 279f96b2..969237f4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestMainDO.java @@ -113,4 +113,14 @@ public class ScrapRequestMainDO extends BaseDO { */ private String directCreateRecord; + /** + * 入库库存状态范围 + */ + private String inInventoryStatuses; + + /** + * 出库库存状态范围 + */ + private String outInventoryStatuses; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java index 47da84af..510a1f33 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobDetailMapper.java @@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailExportReqVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailPageReqVO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; +import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobDetailDO; import org.apache.ibatis.annotations.Mapper; /** @@ -69,4 +70,8 @@ public interface ScrapJobDetailMapper extends BaseMapperX { .orderByDesc(ScrapJobDetailDO::getId)); } + default List selectList(Long masterId){ + return selectList(new LambdaQueryWrapperX() + .eq(ScrapJobDetailDO::getMasterId, masterId)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobMainMapper.java index 25ef6623..ede0461a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapJob/ScrapJobMainMapper.java @@ -10,7 +10,9 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainExportReqVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainPageReqVO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; +import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO; +import com.win.module.wms.enums.order.OrderStatusEnum; import org.apache.ibatis.annotations.Mapper; /** @@ -113,4 +115,9 @@ public interface ScrapJobMainMapper extends BaseMapperX { } + default Long selectByRequestNumber(String requestNumber){ + return selectCount(new LambdaQueryWrapperX() + .eq(ScrapJobMainDO::getRequestNumber, requestNumber) + .ne(ScrapJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode())); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java index bcef34f7..55c4708e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java @@ -78,7 +78,7 @@ public class BalanceServiceImpl implements BalanceService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("item_code", itemCode); queryWrapper.eq("batch", batch); - queryWrapper.eq("inventory_status", inventoryStatus); + queryWrapper.in("inventory_status", inventoryStatus); queryWrapper.eq("location_code", locationCode); List balanceDO = balanceMapper.selectList(queryWrapper); if (!balanceDO.isEmpty()) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailService.java index e7710a21..a2dec563 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailService.java @@ -10,6 +10,7 @@ import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailPageReqVO; import com.win.module.wms.controller.scrapJob.vo.ScrapJobDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobDetailDO; /** * 报废出库任务子 Service 接口 @@ -79,4 +80,10 @@ public interface ScrapJobDetailService { */ List getScrapJobDetailList(ScrapJobDetailExportReqVO exportReqVO); + /** + * 查询子列表数据根据masterId + * @param id 查询masterId + * @return 任务数据列表 + */ + List selectList(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailServiceImpl.java index abc67aae..cc83073a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobDetailServiceImpl.java @@ -87,4 +87,9 @@ public class ScrapJobDetailServiceImpl implements ScrapJobDetailService { return scrapJobDetailMapper.selectList(exportReqVO); } + @Override + public List selectList(Long masterId) { + return scrapJobDetailMapper.selectList(masterId); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainService.java index 99a2deab..d3e30220 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainService.java @@ -86,7 +86,7 @@ public interface ScrapJobMainService { * @param pstatus 状态 * @return 采购订单主列表 */ - public ScrapJobMainDO scrapJobMainDoStatusRight(String pnumber, String pstatus); + ScrapJobMainDO scrapJobMainDoStatusRight(String pnumber, String pstatus); /** *根据任务状态获取任务数量 @@ -94,4 +94,32 @@ public interface ScrapJobMainService { * @return */ Map getCountByStatus(@Nullable Collection types); + + /** + * 承接任务 + * @param id 主键ID + * @return 更新数量 + */ + int acceptScrapJobMain(Long id); + + /** + * 放弃任务 + * @param id 主键ID + * @return 更新数量 + */ + int abandonScrapJobMain(Long id); + + /** + * 关闭任务 + * @param id 主键ID + * @return 更新数量 + */ + int closeScrapJobMain(Long id); + + /** + * 执行报废出库任务主 + * @param updateReqVO 执行请求参数 + * @return number + */ + String executeScrapJobMain(ScrapJobMainUpdateReqVO updateReqVO); } 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 f37f75be..14c5b305 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 @@ -1,25 +1,48 @@ package com.win.module.wms.service.scrapJob; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainCreateReqVO; -import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainExportReqVO; -import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainPageReqVO; -import com.win.module.wms.controller.scrapJob.vo.ScrapJobMainUpdateReqVO; +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.api.user.dto.AdminUserRespDTO; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.scrapJob.vo.*; +import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailCreateReqVO; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; +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.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.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.enums.job.JobStatusState; +import com.win.module.wms.service.expectin.ExpectinService; +import com.win.module.wms.service.location.LocationService; +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 javax.annotation.Resource; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.*; -import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; -import com.win.module.wms.dal.mysql.scrapJob.ScrapJobMainMapper; - 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.SCRAP_JOB_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_JOB_MAIN_STATUS_ERROR; /** * 报废出库任务主 Service 实现类 @@ -32,6 +55,29 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { @Resource private ScrapJobMainMapper scrapJobMainMapper; + @Resource + private AdminUserApi userApi; + @Resource + private TrendsApi trendsApi; + @Resource + private ScrapJobDetailService scrapJobDetailService; + @Resource + private JobUtils jobUtils; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private RecordsettingService recordsettingService; + @Resource + private ScrapRecordMainMapper scrapRecordMainMapper; + @Resource + private LocationService locationService; + @Resource + private ScrapRecordDetailMapper scrapRecordDetailMapper; + @Resource + private TransactionService transactionService; + @Resource + private ExpectinService expectinService; + @Override public Long createScrapJobMain(ScrapJobMainCreateReqVO createReqVO) { @@ -64,10 +110,12 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { scrapJobMainMapper.deleteById(id); } - private void validateScrapJobMainExists(Long id) { - if (scrapJobMainMapper.selectById(id) == null) { + private ScrapJobMainDO validateScrapJobMainExists(Long id) { + ScrapJobMainDO scrapJobMainDO = scrapJobMainMapper.selectById(id); + if (scrapJobMainDO == null) { throw exception(SCRAP_JOB_MAIN_NOT_EXISTS); } + return scrapJobMainDO; } @Override @@ -110,4 +158,153 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { map.put("count", l.intValue()); return map; } + + @Override + public int acceptScrapJobMain(Long id) { + ScrapJobMainDO acceptJobMainDO = this.validateScrapJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(acceptJobMainDO.getStatus()); + if(!jobStatusState.accept()) { + throw exception(SCRAP_JOB_MAIN_STATUS_ERROR); + } + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + acceptJobMainDO.setStatus(jobStatusState.getState().getCode()); + acceptJobMainDO.setAcceptUserId(String.valueOf(userId)); + acceptJobMainDO.setAcceptUserName(userRespDTO.getNickname()); + acceptJobMainDO.setAcceptTime(LocalDateTime.now()); + trendsApi.createTrends(id, "ScrapJob", "承接了报废出库任务", TrendsTypeEnum.UPDATE); + return scrapJobMainMapper.updateById(acceptJobMainDO); + } + + @Override + public int abandonScrapJobMain(Long id) { + ScrapJobMainDO acceptJobMainDO = this.validateScrapJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(acceptJobMainDO.getStatus()); + if(!jobStatusState.cancelAccept()) { + throw exception(SCRAP_JOB_MAIN_STATUS_ERROR); + } + acceptJobMainDO.setStatus(jobStatusState.getState().getCode()); + acceptJobMainDO.setAcceptUserId(null); + acceptJobMainDO.setAcceptUserName(null); + acceptJobMainDO.setAcceptTime(null); + trendsApi.createTrends(id, "ScrapJob", "取消了报废出库任务", TrendsTypeEnum.UPDATE); + return scrapJobMainMapper.updateById(acceptJobMainDO); + } + + @Override + public int closeScrapJobMain(Long id) { + ScrapJobMainDO acceptJobMainDO = this.validateScrapJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(acceptJobMainDO.getStatus()); + if(!jobStatusState.close()) { + throw exception(SCRAP_JOB_MAIN_STATUS_ERROR); + } + acceptJobMainDO.setStatus(jobStatusState.getState().getCode()); + trendsApi.createTrends(id, "ScrapJob", "关闭了报废出库任务", TrendsTypeEnum.UPDATE); + return scrapJobMainMapper.updateById(acceptJobMainDO); + } + + @Override + public String executeScrapJobMain(ScrapJobMainUpdateReqVO updateReqVO) { + // 查询任务主表与子表 + ScrapJobMainDO scrapJobMainDO = this.validateScrapJobMainExists(updateReqVO.getId()); + List subList = scrapJobDetailService.selectList(scrapJobMainDO.getId()); + JobStatusState jobStatusState = new JobStatusState(scrapJobMainDO.getStatus()); + boolean flag = jobStatusState.execute(); + if(!flag) { + throw new ServiceException(SCRAP_JOB_MAIN_STATUS_ERROR); + } + //更新完成信息 + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + scrapJobMainDO.setStatus(jobStatusState.getState().getCode()); + scrapJobMainDO.setCompleteTime(LocalDateTime.now()); + scrapJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId())); + scrapJobMainDO.setCompleteUserName(userRespDTO.getNickname()); + //更新任务表状态 + scrapJobMainMapper.updateById(scrapJobMainDO); + + // 创建报废出库记录主 + ScrapRecordMainDO scrapRecordMainDO = new ScrapRecordMainDO(); + BeanUtils.copyProperties(scrapJobMainDO, scrapRecordMainDO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRecord"); + scrapRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + scrapRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_RECORD.getCode()); + String interFaceType = recordsettingService.selectRecordsettingExist("ScrapRecord").getInterfaceType(); + scrapRecordMainDO.setInterfaceType(interFaceType); + scrapRecordMainDO.setNumber(number); + scrapRecordMainDO.setBusinessType(businesstypeDO.getCode()); + scrapRecordMainDO.setJobNumber(scrapJobMainDO.getNumber()); + scrapRecordMainDO.setExecuteTime(LocalDateTime.now()); + scrapRecordMainDO.setActiveDate(LocalDateTime.now()); + scrapRecordMainDO.setDueTime(scrapJobMainDO.getRequestDueTime()); + scrapRecordMainDO.setAvailable("TRUE"); + scrapRecordMainDO.setId(null); + scrapRecordMainDO.setCreateTime(null); + scrapRecordMainDO.setCreator(null); + scrapRecordMainDO.setUpdateTime(null); + scrapRecordMainDO.setUpdater(null); + scrapRecordMainMapper.insert(scrapRecordMainDO); + // 创建报废出库记录明细 + List reqSubList = updateReqVO.getSubList(); + List scrapRecordDetailDOList = new ArrayList<>(); + + List scrapRequestDetailCreateReqVOList = new ArrayList<>(); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + for(ScrapJobDetailDO scrapJobDetailDO:subList) { + boolean isExists = false; + ScrapJobDetailUpdateReqVO scrapJobDetailUpdateReqVO = null; + for(ScrapJobDetailUpdateReqVO temp:reqSubList) { + if(temp.getId().equals(scrapJobDetailDO.getId())) { + scrapJobDetailUpdateReqVO = temp; + isExists = true; + break; + } + } + if(isExists) { + ScrapRecordDetailDO scrapRecordDetailDO = new ScrapRecordDetailDO(); + BeanUtils.copyProperties(scrapJobDetailUpdateReqVO, scrapRecordDetailDO); + scrapRecordDetailDO.setMasterId(String.valueOf(scrapRecordMainDO.getId())); + scrapRecordDetailDO.setNumber(number); + scrapRecordDetailDO.setJobDetailId(String.valueOf(scrapJobDetailDO.getId())); + LocationDO locationDO = locationService.selectLocation(scrapJobDetailDO.getFromLocationCode()); + scrapRecordDetailDO.setFromLocationCode(locationDO.getCode()); + scrapRecordDetailDO.setFromAreaCode(locationDO.getAreaCode()); + scrapRecordDetailDO.setFromLocationGroupCode(locationDO.getLocationGroupCode()); + scrapRecordDetailDO.setInventoryStatus(scrapJobDetailDO.getInventoryStatus()); + scrapRecordDetailDO.setQty(new BigDecimal(scrapJobDetailUpdateReqVO.getHandleQty() == null?"0":scrapJobDetailUpdateReqVO.getHandleQty()));//handleQty + scrapRecordDetailDOList.add(scrapRecordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(scrapJobDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(scrapJobMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(scrapJobDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(scrapJobDetailDO.getOwnerCode()); + transactionCreateReqVO.setPackingNumber(scrapJobDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(scrapJobDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(scrapJobMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + } + if(!scrapRecordDetailDOList.isEmpty()) { + scrapRecordDetailMapper.insertBatch(scrapRecordDetailDOList); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + //移除预计入 + expectinService.deleteExpectinByJobNumber(scrapJobMainDO.getNumber()); + //变更记录 + 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/ScrapRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java index 5e2e16e9..00511b05 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 @@ -1,15 +1,12 @@ package com.win.module.wms.service.scrapRequest; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestImportErrorVO; -import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainCreateReqVO; +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 com.win.framework.common.pojo.PageResult; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 报废出库申请主 Service 接口 @@ -26,7 +23,6 @@ public interface ScrapRequestMainService { */ Long createScrapRequestMain(@Valid ScrapRequestMainCreateReqVO createReqVO); - /** * 获得用高级搜索报废出库申请主分页列表 * @@ -82,8 +78,49 @@ public interface ScrapRequestMainService { List getScrapRequestMainList(ScrapRequestMainExportReqVO exportReqVO); - public List importscrapRequestList(List datas, Integer mode, boolean updatePart); + List importscrapRequestList(List datas, Integer mode, boolean updatePart); List getScrapRequestMainList1(CustomConditions conditions); + /** + * 关闭报废出库申请主 + * @param id 主键ID + * @return 更新数量 + */ + Integer closeScrapRequestMain(Long id); + + /** + * 重新添加报废出库申请主 + * @param id 主键ID + * @return 更新数量 + */ + Integer reAddScrapRequestMain(Long id); + + /** + * 提交报废出库申请主 + * @param id 主键ID + * @return 更新数量 + */ + Integer submitScrapRequestMain(Long id); + + /** + * 审批拒绝报废出库申请主 + * @param id 主键ID + * @return 更新数量 + */ + Integer abortScrapRequestMain(Long id); + + /** + * 审批通过报废出库申请主 + * @param id 主键ID + * @return 更新数量 + */ + Integer agreeScrapRequestMain(Long id); + + /** + * 处理报废出库申请主 + * @param id 主键ID + * @return 更新数量 + */ + Integer handleScrapRequestMain(Long id); } 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 3348a306..9a8e31f5 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 @@ -1,33 +1,70 @@ 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.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.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.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.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.enums.job.JobStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; +import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.itembasic.ItembasicService; +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.util.JobUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -42,6 +79,7 @@ import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; 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.*; /** @@ -55,42 +93,157 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { @Resource private ScrapRequestMainMapper scrapRequestMainMapper; - @Resource private ScrapRequestDetailMapper scrapRequestDetailMapper; - @Resource private SerialNumberApi serialNumberApi; - @Resource private LocationService locationService; - @Resource private JobUtils jobUtils; - @Resource private ItembasicService itembasicService; - @Resource private TrendsApi trendsApi; - @Resource private RequestsettingService requestsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private RecordsettingService recordsettingService; + @Resource + private ScrapRecordMainMapper scrapRecordMainMapper; + @Resource + private ScrapRecordDetailMapper scrapRecordDetailMapper; + @Resource + private JobsettingService jobsettingService; + @Resource + private ScrapJobMainMapper scrapJobMainMapper; + @Resource + private ScrapJobDetailMapper scrapJobDetailMapper; + @Resource + private ExpectinService expectinService; + @Override public Long createScrapRequestMain(ScrapRequestMainCreateReqVO createReqVO) { + // Setting——>QReqS("ScrapRequest") RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ScrapRequest"); // 插入 ScrapRequestMainDO scrapRequestMain = validatorToCreate(createReqVO,requestsettingDO); //调用自动执行方法 if (RequestStatusEnum.HANDLING.getCode().equals(scrapRequestMain.getStatus())) { - + List detailDOList = scrapRequestDetailMapper.selectList(scrapRequestMain.getId()); + this.generateJob(scrapRequestMain,detailDOList); } trendsApi.createTrends(requestsettingDO.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.CREATE); return scrapRequestMain.getId(); } + private void generateJob(ScrapRequestMainDO mainDO, List detailDOList) { + //跳过任务直接生成记录 + if("TRUE".equals(mainDO.getDirectCreateRecord())) { + ScrapRecordMainCreateReqVO scrapRecordMainCreateReqVO = new ScrapRecordMainCreateReqVO(); + BeanUtils.copyProperties(mainDO, scrapRecordMainCreateReqVO); + scrapRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber()); + String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_RECORD.getCode()); + scrapRecordMainCreateReqVO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRecord"); + scrapRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + scrapRecordMainCreateReqVO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + scrapRecordMainCreateReqVO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("ScrapRecord").getInterfaceType(); + scrapRecordMainCreateReqVO.setInterfaceType(interFaceType); + scrapRecordMainCreateReqVO.setExecuteTime(LocalDateTime.now()); + scrapRecordMainCreateReqVO.setActiveDate(LocalDateTime.now()); + scrapRecordMainCreateReqVO.setAvailable("TRUE"); + scrapRecordMainCreateReqVO.setDueTime(mainDO.getDueTime()); + scrapRecordMainCreateReqVO.setId(null); + scrapRecordMainCreateReqVO.setCreator(null); + scrapRecordMainCreateReqVO.setCreateTime(null); + ScrapRecordMainDO scrapRecordMainDO = ScrapRecordMainConvert.INSTANCE.convert(scrapRecordMainCreateReqVO); + scrapRecordMainMapper.insert(scrapRecordMainDO); + + for(ScrapRequestDetailDO scrapRequestDetailDO : detailDOList) { + ScrapRecordDetailCreateReqVO scrapRecordDetailCreateReqVO = new ScrapRecordDetailCreateReqVO(); + BeanUtils.copyProperties(scrapRequestDetailDO, scrapRecordDetailCreateReqVO); + scrapRecordDetailCreateReqVO.setNumber(number); + scrapRecordDetailCreateReqVO.setMasterId(String.valueOf(scrapRequestDetailDO.getId())); + scrapRecordDetailCreateReqVO.setInventoryStatus(scrapRequestDetailDO.getInventoryStatus()); + scrapRecordDetailCreateReqVO.setFromLocationGroupCode(scrapRequestDetailDO.getFromLocationCode()); + scrapRecordDetailCreateReqVO.setFromAreaCode(scrapRequestDetailDO.getFromLocationCode()); + ScrapRecordDetailDO scrapRecordDetailDO = ScrapRecordDetailConvert.INSTANCE.convert(scrapRecordDetailCreateReqVO); + scrapRecordDetailMapper.insert(scrapRecordDetailDO); + } + return; + } + // 任务 主表数据创建 + ScrapJobMainDO scrapJobMainDO = ScrapJobMainConvert.INSTANCE.convert(mainDO); + BeanUtils.copyProperties(mainDO,scrapJobMainDO); + // DBT——>DBT3("ScrapJob") + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapJob"); + scrapJobMainDO.setBusinessType(businesstypeDO.getCode()); + // Setting——>QJobS("ScrapJob") + JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("ScrapJob"); + scrapJobMainDO.setRequestNumber(mainDO.getNumber()); + String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_JOB.getCode()); + scrapJobMainDO.setRequestDueTime(mainDO.getDueTime()); + scrapJobMainDO.setNumber(number); + scrapJobMainDO.setId(null); + scrapJobMainDO.setCreateTime(null); + scrapJobMainDO.setCreator(userApi.getUser(getLoginUserId()).getId().toString()); + scrapJobMainDO.setUpdateTime(null); + scrapJobMainDO.setUpdater(null); + scrapJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete()); + scrapJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation()); + scrapJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty()); + scrapJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty()); + scrapJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty()); + scrapJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus()); + scrapJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning()); + scrapJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete()); + scrapJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber()); + scrapJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach()); + scrapJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); + scrapJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());//入库库存状态范围 + scrapJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());//出库库存状态范围 + scrapJobMainMapper.insert(scrapJobMainDO); + + // 任务 子表数据创建 + List expectinCreateReqVOList = new ArrayList<>(); + List scrapJobDetailDOList = new ArrayList<>(); + for(ScrapRequestDetailDO scrapRequestDetailDO:detailDOList){ + ScrapJobDetailDO scrapJobDetailDO = ScrapJobDetailConvert.INSTANCE.convert(scrapRequestDetailDO); + BeanUtils.copyProperties(scrapRequestDetailDO, scrapJobDetailDO); + scrapJobDetailDO.setId(null); + scrapJobDetailDO.setCreator(userApi.getUser(getLoginUserId()).getId().toString()); + scrapJobDetailDO.setCreateTime(null); + scrapJobDetailDO.setUpdater(null); + scrapJobDetailDO.setUpdateTime(null); + scrapJobDetailDO.setMasterId(scrapJobMainDO.getId()); + scrapJobDetailDO.setNumber(number); + scrapJobDetailDOList.add(scrapJobDetailDO); + + //预计出 + ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO(); + BeanUtils.copyProperties(scrapRequestDetailDO, expectinCreateReqVO); + expectinCreateReqVO.setJobNumber(number); + expectinCreateReqVO.setBusinessType(scrapJobMainDO.getBusinessType()); + expectinCreateReqVO.setLocationCode(scrapRequestDetailDO.getFromLocationCode()); + expectinCreateReqVO.setOwnerCode(scrapRequestDetailDO.getFromOwnerCode()); + expectinCreateReqVO.setQty(scrapRequestDetailDO.getQty()); + expectinCreateReqVOList.add(expectinCreateReqVO); + } + scrapJobDetailMapper.insertBatch(scrapJobDetailDOList); + //增加预计入 + expectinService.createExpectin(expectinCreateReqVOList); + trendsApi.createTrends(scrapJobMainDO.getId(), "ScrapJob", "报废出库申请生成报废出库任务", TrendsTypeEnum.CREATE); + + } + private ScrapRequestMainDO validatorToCreate(ScrapRequestMainCreateReqVO createReqVO,RequestsettingDO requestsettingDO) { + // DBT——>DBT3("ScrapRequest") BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); ScrapRequestMainDO scrapRequestMainDO = validateMainMethod(createReqVO, businesstypeDO, requestsettingDO); List subList = createReqVO.getSubList(); @@ -98,36 +251,52 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { for (ScrapRequestDetailDO scrapRequestDetailDO : subDOList) { validateDetailMethod(scrapRequestDetailDO, businesstypeDO, scrapRequestMainDO); } - String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); - scrapRequestMainDO.setNumber(number); - scrapRequestMainMapper.insert(scrapRequestMainDO); - for(ScrapRequestDetailDO detailDo : subDOList){ - detailDo.setMasterId(scrapRequestMainDO.getId()); - detailDo.setNumber(scrapRequestMainDO.getNumber()); - } - scrapRequestDetailMapper.insertBatch(subDOList); - return scrapRequestMainDO; + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); + scrapRequestMainDO.setNumber(number); + AdminUserRespDTO adminUserRespDTO = userApi.getUser(getLoginUserId()); + scrapRequestMainDO.setDepartmentCode(String.valueOf(adminUserRespDTO.getDeptId())); + scrapRequestMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); + scrapRequestMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); + scrapRequestMainMapper.insert(scrapRequestMainDO); + for(ScrapRequestDetailDO detailDo : subDOList){ + detailDo.setMasterId(scrapRequestMainDO.getId()); + detailDo.setNumber(scrapRequestMainDO.getNumber()); + } + scrapRequestDetailMapper.insertBatch(subDOList); + return scrapRequestMainDO; } private void validateDetailMethod(ScrapRequestDetailDO detailDo, BusinesstypeDO businesstypeDO, ScrapRequestMainDO mainDo) { + // BQ——>QL + LocationDO locationDO = validatorLocation(detailDo.getFromLocationCode()); + if(locationDO == null){ + //提示:库位【location_code】无效 + throw exception(SCRAP_REQUEST_LOCATIONCODE_INVALID); + } + if(!locationDO.getWarehouseCode().equals(mainDo.getFromWarehouseCode())){ + // 仓库【from_warehouse_code】与库位【from_location_code】关系错误 + throw exception(SCRAP_REQUEST_WAREHOSECODE_VALIDATE); + } + // BQ——>QI ItembasicDO itembasic = validatorItembasic(detailDo.getItemCode()); + if(itembasic == null){ + // 物品【item_code】无效 + throw exception(SCRAP_REQUEST_ITEMCODE_INVALID); + } detailDo.setItemDesc1(itembasic.getDesc1()); detailDo.setItemDesc2(itembasic.getDesc2()); detailDo.setItemName(itembasic.getName()); + detailDo.setUom(itembasic.getUom()); detailDo.setProjectCode(itembasic.getProject()); - LocationDO locationDO = validatorLocation(detailDo.getFromLocationCode()); - mainDo.setFromAreaCodes(locationDO.getAreaCode()); - mainDo.setFromLocationTypes(locationDO.getCode()); + // DBT——>DBT1——>LO jobUtils.ifInToLocationType(detailDo.getFromLocationCode(),businesstypeDO); - mainDo.setBusinessType(businesstypeDO.getCode()); - mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); - mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + // TB——>TB1 detailDo.setInventoryStatus("SCRAP"); - 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); + String inventoryStatus = detailDo.getInventoryStatus(); + String[] inventoryArray = inventoryStatus.split(","); + List inventorystatus = Arrays.asList(inventoryArray); + List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(),detailDo.getPackingNumber(),detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); for(BalanceDO balance: balanceDO){ mainDo.setFromWarehouseCode(balance.getWarehouseCode()); } @@ -142,8 +311,8 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); mainDo.setBusinessType(businesstypeDO.getCode()); - mainDo.setFromLocationTypes(businesstypeDO.getInLocationTypes()); - mainDo.setFromAreaCodes(businesstypeDO.getInAreaCodes()); + mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); return mainDo; } private ScrapRequestMainDO validatorToUpdate(ScrapRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { @@ -163,9 +332,6 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { } - - - @Override public void updateScrapRequestMain(ScrapRequestMainUpdateReqVO updateReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ScrapRequest"); @@ -174,7 +340,8 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { // 更新 ScrapRequestMainDO scrapRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); if(RequestStatusEnum.HANDLING.getCode().equals(scrapRequestMainDO.getStatus())) { - + List detailDOList = scrapRequestDetailMapper.selectList(scrapRequestMainDO.getId()); + this.generateJob(scrapRequestMainDO,detailDOList); } trendsApi.createTrends(requestsettingDO.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.CREATE); } @@ -190,10 +357,12 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { scrapRequestMainMapper.deleteById(id); } - private void validateScrapRequestMainExists(Long id) { - if (scrapRequestMainMapper.selectById(id) == null) { + private ScrapRequestMainDO validateScrapRequestMainExists(Long id) { + ScrapRequestMainDO scrapRequestMainDO = scrapRequestMainMapper.selectById(id); + if (scrapRequestMainDO == null) { throw exception(SCRAP_REQUEST_MAIN_NOT_EXISTS); } + return scrapRequestMainDO; } @Override @@ -346,6 +515,109 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.selectSeniorList(conditions); } + @Override + public Integer closeScrapRequestMain(Long id) { + // 校验存在存在下级单据 + ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); + Long count = scrapJobMainMapper.selectByRequestNumber(mainDO.getNumber()); + if(count > 0) { + throw new ServiceException(SCRAP_JOB_MAIN_EXISTS); + } + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.close(); + if(!flag) { + throw new ServiceException(SCRAP_REQUEST_CANNOT_CLOSE); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "ScrapRequest", "关闭了报废出库申请", TrendsTypeEnum.UPDATE); + return scrapRequestMainMapper.updateById(mainDO); + } + + @Override + public Integer reAddScrapRequestMain(Long id) { + // 校验存在存在下级单据 + ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); + Long count = scrapJobMainMapper.selectByRequestNumber(mainDO.getNumber()); + if(count > 0) { + throw new ServiceException(SCRAP_JOB_MAIN_EXISTS); + } + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.reAdd(); + if(!flag) { + throw new ServiceException(SCRAP_REQUEST_CANNOT_RE_ADD); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "ScrapRequest", "打开了报废出库申请", TrendsTypeEnum.UPDATE); + return scrapRequestMainMapper.updateById(mainDO); + } + + @Override + public Integer submitScrapRequestMain(Long id) { + ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute()); + if(!flag) { + throw new ServiceException(SCRAP_REQUEST_CANNOT_SUBMIT); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + List detailDOList = scrapRequestDetailMapper.selectList(mainDO.getId()); + this.generateJob(mainDO,detailDOList); + } + trendsApi.createTrends(id, "ScrapRequest", "提交了报废出库申请", TrendsTypeEnum.UPDATE); + return scrapRequestMainMapper.updateById(mainDO); + } + + @Override + public Integer abortScrapRequestMain(Long id) { + // 校验存在 + ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.refused(); + if(!flag) { + throw new ServiceException(SCRAP_REQUEST_CANNOT_ABORT); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + trendsApi.createTrends(id, "ScrapRequest", "审批拒绝了报废出库申请", TrendsTypeEnum.UPDATE); + return scrapRequestMainMapper.updateById(mainDO); + } + + @Override + public Integer agreeScrapRequestMain(Long id) { + // 校验存在 + ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.agree(mainDO.getAutoAgree()); + if(!flag) { + throw new ServiceException(SCRAP_REQUEST_CANNOT_AGREE); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + List detailDOList = scrapRequestDetailMapper.selectList(mainDO.getId()); + this.generateJob(mainDO,detailDOList); + } + trendsApi.createTrends(id, "ScrapRequest", "审批同意了报废出库申请", TrendsTypeEnum.UPDATE); + return scrapRequestMainMapper.updateById(mainDO); + } + + @Override + public Integer handleScrapRequestMain(Long id) { + // 校验存在 + ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.handle(); + if(!flag) { + throw new ServiceException(SCRAP_REQUEST_CANNOT_HANDLE); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用执行方法 + List detailDOList = scrapRequestDetailMapper.selectList(mainDO.getId()); + this.generateJob(mainDO,detailDOList); + trendsApi.createTrends(id, "ScrapRequest", "执行了报废出库申请", TrendsTypeEnum.UPDATE); + return scrapRequestMainMapper.updateById(mainDO); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainService.java index 5dc2b75a..0dbb65ad 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainService.java @@ -124,10 +124,4 @@ public interface TransferissueJobMainService { */ String executeTransferissueJobMain(TransferissueJobMainUpdateReqVO updateReqVO); - /** - * 获取执行请求参数 - * @param id 调拨出库任务主ID - * @return 请求参数 - */ - TransferissueJobMainUpdateReqVO getExecuteJson(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java index f77bd060..0c6178c9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java @@ -297,7 +297,7 @@ public class TransferissueJobMainServiceImpl implements TransferissueJobMainServ transferissueRecordDetailDO.setToAreaCode(locationDO2.getAreaCode()); transferissueRecordDetailDO.setToLocationGroupCode(locationDO2.getLocationGroupCode()); transferissueRecordDetailDO.setInventoryStatus(transferissueJobDetailUpdateReqVO.getToInventoryStatus());//toInventoryStatus - transferissueRecordDetailDO.setQty(new BigDecimal(transferissueJobDetailUpdateReqVO.getToQty() == null?"0":transferissueJobDetailUpdateReqVO.getToQty()));//toQty + transferissueRecordDetailDO.setQty(new BigDecimal(transferissueJobDetailUpdateReqVO.getHandleQty() == null?"0":transferissueJobDetailUpdateReqVO.getHandleQty()));//handleQty transferissueRecordDetailDOList.add(transferissueRecordDetailDO); TransferreceiptRequestDetailCreateReqVO transferreceiptRequestDetailCreateReqVO = new TransferreceiptRequestDetailCreateReqVO(); @@ -352,19 +352,4 @@ public class TransferissueJobMainServiceImpl implements TransferissueJobMainServ return number; } - @Override - public TransferissueJobMainUpdateReqVO getExecuteJson(Long id) { - TransferissueJobMainUpdateReqVO transferissueJobMainUpdateReqVO = new TransferissueJobMainUpdateReqVO(); - TransferissueJobMainDO transferissueJobMainDO = this.validateTransferissueJobMainExists(id); - List subList = transferissueJobDetailService.selectList(transferissueJobMainDO.getId()); - BeanUtils.copyProperties(transferissueJobMainDO,transferissueJobMainUpdateReqVO); - List transferissueJobDetailUpdateReqVOList = new ArrayList<>(); - for(TransferissueJobDetailDO transferissueJobDetailDO:subList){ - TransferissueJobDetailUpdateReqVO transferissueJobDetailUpdateReqVO = new TransferissueJobDetailUpdateReqVO(); - BeanUtils.copyProperties(transferissueJobDetailDO,transferissueJobDetailUpdateReqVO); - transferissueJobDetailUpdateReqVOList.add(transferissueJobDetailUpdateReqVO); - } - transferissueJobMainUpdateReqVO.setSubList(transferissueJobDetailUpdateReqVOList); - return transferissueJobMainUpdateReqVO; - } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java index b76a92dc..3a7fe43e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java @@ -139,7 +139,7 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest // 校验业务类型 validateDetailMethod(transferissueRequestDetailDO,businesstypeDO,transferissueRequestMainDO); } - String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_REQUEST.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode()); transferissueRequestMainDO.setNumber(number); RequestStatusState requestStatusState = new RequestStatusState(); requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute()); @@ -348,7 +348,7 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest private List validatebalance(TransferissueRequestDetailDO detailDo) { List inventoryStatus = new ArrayList<>(); inventoryStatus.add(detailDo.getInventoryStatus()); - List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getToLocationCode(), inventoryStatus); + List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); return balanceDO; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainService.java index 74b327b1..f9752beb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainService.java @@ -123,10 +123,4 @@ public interface TransferreceiptJobMainService { */ String executeTransferreceiptJobMain(TransferreceiptJobMainUpdateReqVO updateReqVO); - /** - * 获取执行请求参数 - * @param id 主键ID - * @return TransferreceiptJobMainUpdateReqVO - */ - TransferreceiptJobMainUpdateReqVO getExecuteJson(Long id); } 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 e7371bcd..4e95137b 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 @@ -317,19 +317,4 @@ public class TransferreceiptJobMainServiceImpl implements TransferreceiptJobMain return number; } - @Override - public TransferreceiptJobMainUpdateReqVO getExecuteJson(Long id) { - TransferreceiptJobMainUpdateReqVO transferreceiptJobMainUpdateReqVO = new TransferreceiptJobMainUpdateReqVO(); - TransferreceiptJobMainDO transferreceiptJobMainDO = this.validateTransferreceiptJobMainExists(id); - List subList = transferreceiptJobDetailService.selectList(transferreceiptJobMainDO.getId()); - BeanUtils.copyProperties(transferreceiptJobMainDO,transferreceiptJobMainUpdateReqVO); - List transferreceiptJobDetailUpdateReqVOList = new ArrayList<>(); - for(TransferreceiptJobDetailDO transferreceiptJobDetailDO:subList){ - TransferreceiptJobDetailUpdateReqVO transferreceiptJobDetailUpdateReqVO = new TransferreceiptJobDetailUpdateReqVO(); - BeanUtils.copyProperties(transferreceiptJobDetailDO,transferreceiptJobDetailUpdateReqVO); - transferreceiptJobDetailUpdateReqVOList.add(transferreceiptJobDetailUpdateReqVO); - } - transferreceiptJobMainUpdateReqVO.setSubList(transferreceiptJobDetailUpdateReqVOList); - return transferreceiptJobMainUpdateReqVO; - } } 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 4e8aec08..6ecb3dd1 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 @@ -301,7 +301,7 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq private List validatebalance(TransferreceiptRequestDetailDO detailDo) { List inventoryStatus = new ArrayList<>(); inventoryStatus.add(detailDo.getInventoryStatus()); - List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getToLocationCode(), inventoryStatus); + List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); return balanceDO; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainService.java index 89af742d..1069662d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainService.java @@ -125,10 +125,4 @@ public interface UnplannedissueJobMainService { */ String executeUnplannedissueJobMain(UnplannedissueJobMainUpdateReqVO updateReqVO); - /** - * 获取执行请求数据 - * @param id 计划外任务主键ID - * @return 执行json数据 - */ - UnplannedissueJobMainUpdateReqVO getExecuteJson(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 86e716e6..37ef316b 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 @@ -308,19 +308,4 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe return number; } - @Override - public UnplannedissueJobMainUpdateReqVO getExecuteJson(Long id) { - UnplannedissueJobMainUpdateReqVO unplannedissueJobMainUpdateReqVO = new UnplannedissueJobMainUpdateReqVO(); - UnplannedissueJobMainDO unplannedissueJobMainDO = this.validateUnplannedissueJobMainExists(id); - List subList = unplannedissueJobDetailService.selectList(unplannedissueJobMainDO.getId()); - BeanUtils.copyProperties(unplannedissueJobMainDO,unplannedissueJobMainUpdateReqVO); - List unplannedissueJobDetailUpdateReqVOList = new ArrayList<>(); - for(UnplannedissueJobDetailDO unplannedissueJobDetailDO:subList){ - UnplannedissueJobDetailUpdateReqVO unplannedissueJobDetailUpdateReqVO = new UnplannedissueJobDetailUpdateReqVO(); - BeanUtils.copyProperties(unplannedissueJobDetailDO,unplannedissueJobDetailUpdateReqVO); - unplannedissueJobDetailUpdateReqVOList.add(unplannedissueJobDetailUpdateReqVO); - } - unplannedissueJobMainUpdateReqVO.setSubList(unplannedissueJobDetailUpdateReqVOList); - return unplannedissueJobMainUpdateReqVO; - } } 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 96c262bf..e1bbaadc 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 @@ -261,7 +261,7 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque } mainDo.setFromWarehouseCode(locationDO.getWarehouseCode()); mainDo.setFromAreaCodes(locationDO.getAreaCode()); - mainDo.setFromLocationTypes(locationDO.getCode()); + mainDo.setFromLocationTypes(locationDO.getType()); // BQ——>QI ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); detailDo.setItemDesc1(itembasicDO.getDesc1()); @@ -281,7 +281,6 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque }else { throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); } - } private List validateBlanceDO(UnplannedissueRequestDetailDO detailDo) { @@ -545,7 +544,8 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque // BQ-----QL 校验来源库位基础信息 LocationDO locationDO = validatorLocation(detailDo.getFromLocationCode()); mainDo.setFromAreaCodes(locationDO.getAreaCode()); - mainDo.setFromLocationTypes(locationDO.getCode()); + mainDo.setFromLocationTypes(locationDO.getType()); + mainDo.setFromWarehouseCode(locationDO.getWarehouseCode()); }catch (Exception ex) { message.append(ex.getMessage()).append(","); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainService.java index a2757402..e1d6cc35 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainService.java @@ -119,7 +119,8 @@ public interface UnplannedreceiptJobMainService { /** * 执行计划外入库任务 * @param updateReqVO 执行传参 - * @return + * @return number */ String executeUnplannedreceiptJobMain(UnplannedreceiptJobMainUpdateReqVO updateReqVO); + } 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 35209250..4db87034 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,11 +11,15 @@ 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; @@ -246,6 +250,7 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa unplannedreceiptRecordMainDO.setCreator(null); unplannedreceiptRecordMainDO.setUpdateTime(null); unplannedreceiptRecordMainDO.setUpdater(null); + unplannedreceiptRecordMainDO.setDepartmentCode(String.valueOf(userRespDTO.getDeptId())); unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMainDO); // 创建计划外入库记录明细 List reqSubList = updateReqVO.getSubList(); @@ -309,4 +314,5 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa return number; } + } 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 956ad94f..c1774db3 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 @@ -8,6 +8,7 @@ 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.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.unplannedreceiptRecord.vo.UnplannedreceiptRecordDetailCreateReqVO; @@ -228,6 +229,8 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR validateDetailMethod(unplannedreceiptRequestDetailDO, businesstypeDO,unplannedreceiptRequestMainDO); } String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_REQUEST.getCode()); + AdminUserRespDTO adminUserRespDTO = userApi.getUser(getLoginUserId()); + unplannedreceiptRequestMainDO.setDepartmentCode(String.valueOf(adminUserRespDTO.getDeptId())); unplannedreceiptRequestMainDO.setNumber(number); unplannedreceiptRequestMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());// 入库库存状态范围 unplannedreceiptRequestMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); // 出库库存状态范围 @@ -246,6 +249,12 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR if(toLocationDO == null){ throw exception(UNPLANNEDRECEIPT_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS, detailDo.getToLocationCode()); } + // 根据location校验 + if(!toLocationDO.getWarehouseCode().equals(unplannedreceiptRequestMainDO.getToWarehouseCode())){ + throw exception(UNPLANNEDRECEIPT_REQUEST_WAREHOSECODE_VALIDATE); + } + unplannedreceiptRequestMainDO.setToLocationTypes(toLocationDO.getType()); + unplannedreceiptRequestMainDO.setToAreaCodes(toLocationDO.getAreaCode()); // BQ——>QI ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); detailDo.setItemDesc1(itembasicDO.getDesc1()); @@ -386,7 +395,11 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR detailDo.setCreateTime(LocalDateTime.now()); // 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList try{ - validatorLocation(detailDo.getToLocationCode()); + LocationDO locationDO = validatorLocation(detailDo.getToLocationCode()); + // 根据location校验 + if(!locationDO.getWarehouseCode().equals(mainDo.getToWarehouseCode())){ + throw exception(UNPLANNEDRECEIPT_REQUEST_WAREHOSECODE_VALIDATE); + } }catch (Exception ex) { message.append(ex.getMessage()).append(","); } @@ -557,6 +570,8 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR RequestStatusState requestStatusState = new RequestStatusState(); requestStatusState.newObject(mainDo.getAutoCommit(), mainDo.getAutoAgree(), mainDo.getAutoExecute()); mainDo.setStatus(requestStatusState.getState().getCode()); + AdminUserRespDTO adminUserRespDTO = userApi.getUser(getLoginUserId()); + mainDo.setDepartmentCode(String.valueOf(adminUserRespDTO.getDeptId())); unplannedreceiptRequestMainMapper.insert(mainDo); for (UnplannedreceiptRequestDetailDO detailDO : subDOList) { detailDO.setMasterId(mainDo.getId());