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 bfb1dbf6..2c8d403a 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 @@ -1028,7 +1028,7 @@ public interface ErrorCodeConstants { //盘点调整申请ErrorCode ErrorCode COUNTADJUST_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_156_000, "盘点调整申请主不存在"); ErrorCode COUNTADJUST_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_156_001, "盘点调整申请子不存在"); - ErrorCode COUNTADJUST_REQUEST_EXISTS = new ErrorCode(1_000_156_001, "不能重复生成盘点调整"); + ErrorCode COUNTADJUST_REQUEST_EXISTS = new ErrorCode(1_000_156_001, "不能生成盘点调整"); ErrorCode COUNTADJUST_REQUEST_RECORD_EXISTS = new ErrorCode(1_000_078_003, "盘点调整申请存在盘点调整记录单"); ErrorCode COUNTADJUST_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_078_004, "盘点调整申请状态不支持关闭"); ErrorCode COUNTADJUST_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_078_005, "盘点调整申请状态不支持提交"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java index 179e3f56..a98ab6f9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java @@ -8,7 +8,10 @@ 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.countRecord.vo.*; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO; import com.win.module.wms.convert.countRecord.CountRecordMainConvert; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; @@ -16,7 +19,6 @@ import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.countRecord.CountRecordDetailService; import com.win.module.wms.service.countRecord.CountRecordMainService; 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; @@ -117,13 +119,4 @@ public class CountRecordMainController { return resultList; } - @PutMapping("/generate") - @Operation(summary = "生成盘点调整") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:count-record-main:generate')") - public CommonResult handleCountRequestMain(@RequestParam("id") Long id) { - int count = countRecordMainService.generateCountadjustRequest(id); - return success(count > 0); - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java index e015dc14..6af60032 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java @@ -249,4 +249,13 @@ public class CountRequestMainController { return success(result > 0); } + @PutMapping("/generateCountadjustRequest") + @Operation(summary = "生成盘点调整") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:count-request-main:generate')") + public CommonResult generateCountadjustRequest(@RequestParam("id") Long id) { + int count = countRequestMainService.generateCountadjustRequest(id); + return success(count > 0); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainBaseVO.java index 7c824a05..9754e42d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainBaseVO.java @@ -1,16 +1,11 @@ package com.win.module.wms.controller.countadjustRecord.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -26,8 +21,8 @@ public class CountadjustRecordMainBaseVO { @Schema(description = "申请单号") private String requestNumber; - @Schema(description = "盘点记录单号") - private String countRecordNumber; + @Schema(description = "盘点申请单号") + private String countRequestNumber; @Schema(description = "仓库代码") private String warehouseCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExcelVO.java index e8e6c521..05b089f6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExcelVO.java @@ -18,8 +18,8 @@ import java.time.LocalDateTime; @Data public class CountadjustRecordMainExcelVO { - @ExcelProperty("申请单号") - private String requestNumber; + @ExcelProperty("盘点申请单号") + private String countRequestNumber; @ExcelProperty("盘点记录单号") private String countRecordNumber; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExportReqVO.java index 07454be2..463944e3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainExportReqVO.java @@ -1,12 +1,11 @@ package com.win.module.wms.controller.countadjustRecord.vo; -import lombok.*; -import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; -import com.win.framework.common.pojo.PageParam; -import java.time.LocalDateTime; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 盘点调整记录主 Excel 导出 Request VO,参数和 CountadjustRecordMainPageReqVO 是一致的") @@ -16,8 +15,8 @@ public class CountadjustRecordMainExportReqVO { @Schema(description = "申请单号") private String requestNumber; - @Schema(description = "盘点记录单号") - private String countRecordNumber; + @Schema(description = "盘点申请单号") + private String countRequestNumber; @Schema(description = "仓库代码") private String warehouseCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainPageReqVO.java index 4c387393..9273b089 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/vo/CountadjustRecordMainPageReqVO.java @@ -1,10 +1,12 @@ package com.win.module.wms.controller.countadjustRecord.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -15,11 +17,11 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY @ToString(callSuper = true) public class CountadjustRecordMainPageReqVO extends PageParam { - @Schema(description = "申请单号") + @Schema(description = "盘点申请单号") private String requestNumber; @Schema(description = "盘点记录单号") - private String countRecordNumber; + private String countRequestNumber; @Schema(description = "仓库代码") private String warehouseCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java index b02218b0..4def41a2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java @@ -19,8 +19,8 @@ public class CountadjustRequestMainBaseVO { @Schema(description = "id", example = "id") private Long id; - @Schema(description = "盘点记录单号") - private String countRecordNumber; + @Schema(description = "盘点申请单号") + private String countRequestNumber; @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "仓库代码不能为空") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java index e4611ad2..12f2776a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java @@ -10,7 +10,6 @@ import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; - /** * 盘点调整申请主 Excel VO * @@ -19,8 +18,8 @@ import java.time.LocalDateTime; @Data public class CountadjustRequestMainExcelVO { - @ExcelProperty("盘点记录单号") - private String countRecordNumber; + @ExcelProperty("盘点申请单号") + private String countRequestNumber; @ExcelProperty("仓库代码") private String warehouseCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java index 7bb4c5ef..eb22c7ab 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java @@ -12,8 +12,8 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY @Data public class CountadjustRequestMainExportReqVO { - @Schema(description = "盘点记录单号") - private String countRecordNumber; + @Schema(description = "盘点申请单号") + private String countRequestNumber; @Schema(description = "仓库代码") private String warehouseCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java index 3b5a1a66..b31f9879 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java @@ -17,8 +17,8 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY @ToString(callSuper = true) public class CountadjustRequestMainPageReqVO extends PageParam { - @Schema(description = "盘点记录单号") - private String countRecordNumber; + @Schema(description = "盘点申请单号") + private String countRequestNumber; @Schema(description = "仓库代码") private String warehouseCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRecord/CountadjustRecordMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRecord/CountadjustRecordMainDO.java index d69249d2..83e325e8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRecord/CountadjustRecordMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRecord/CountadjustRecordMainDO.java @@ -1,14 +1,12 @@ package com.win.module.wms.dal.dataobject.countadjustRecord; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sun.xml.bind.v2.TODO; +import com.win.framework.mybatis.core.dataobject.BaseDO; import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; + import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import com.win.framework.mybatis.core.dataobject.BaseDO; /** * 盘点调整记录主 DO @@ -34,9 +32,9 @@ public class CountadjustRecordMainDO extends BaseDO { */ private String requestNumber; /** - * 盘点记录单号 + * 盘点申请单号 */ - private String countRecordNumber; + private String countRequestNumber; /** * 仓库代码 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java index 04a5c05a..a05963ee 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java @@ -28,9 +28,9 @@ public class CountadjustRequestMainDO extends BaseDO { @TableId private Long id; /** - * 盘点记录单号 + * 盘点申请单号 */ - private String countRecordNumber; + private String countRequestNumber; /** * 仓库代码 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java index 1cdad109..be347014 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java @@ -133,14 +133,16 @@ public interface CountJobMainMapper extends BaseMapperX { } /** - * 根据类型数和申请单号组查询任务数量 - * @param types - * @param requestNumber - * @return + * 查询未完成,阶段任务 + * @param types 状态类型 + * @param requestNumber 申请编号 + * @param stage 阶段 + * @return 数量 */ - default Long selectListCount(Collection types, String requestNumber) { + default Long selectListCount(Collection types, String requestNumber, String stage) { return selectCount(new LambdaQueryWrapperX() .in(CountJobMainDO::getStatus, types) + .eq(CountJobMainDO::getStage, stage) .eq(CountJobMainDO::getRequestNumber, requestNumber)); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordDetailMapper.java index adb2152e..f92e6b91 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordDetailMapper.java @@ -9,6 +9,7 @@ import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExportReqVO import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -90,4 +91,17 @@ public interface CountRecordDetailMapper extends BaseMapperX getDifferenceList(@Param("requestNumber") String requestNumber); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java index 48ba8724..42ac0258 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java @@ -81,7 +81,7 @@ public interface CountRequestDetailMapper extends BaseMapperX selectDifferenceList(Long masterId, String requestNumber) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("master_id", masterId); - queryWrapper.inSql("", "SELECT d1.count_detail_number FROM record_count_detail d1,(SELECT master_id,count_detail_number,MAX(create_time) create_time FROM record_count_detail WHERE master_id IN(SELECT id FROM record_count_main WHERE request_number='" + requestNumber + "')GROUP BY master_id,count_detail_number) d2 WHERE d1.master_id=d2.master_id AND d1.count_detail_number=d2.count_detail_number AND d1.create_time=d2.create_time AND d1.qty!=d1.count_qty"); + queryWrapper.inSql("count_detail_number", "SELECT d1.count_detail_number FROM record_count_detail d1,(SELECT master_id,count_detail_number,MAX(create_time) create_time FROM record_count_detail WHERE master_id IN(SELECT id FROM record_count_main WHERE request_number='" + requestNumber + "') GROUP BY master_id,count_detail_number) d2 WHERE d1.master_id=d2.master_id AND d1.count_detail_number=d2.count_detail_number AND d1.create_time=d2.create_time AND d1.qty!=d1.count_qty"); return selectList(queryWrapper); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRecord/CountadjustRecordMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRecord/CountadjustRecordMainMapper.java index 677f5328..bb10a634 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRecord/CountadjustRecordMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRecord/CountadjustRecordMainMapper.java @@ -23,7 +23,7 @@ public interface CountadjustRecordMainMapper extends BaseMapperX selectPage(CountadjustRecordMainPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(CountadjustRecordMainDO::getRequestNumber, reqVO.getRequestNumber()) - .eqIfPresent(CountadjustRecordMainDO::getCountRecordNumber, reqVO.getCountRecordNumber()) + .eqIfPresent(CountadjustRecordMainDO::getCountRequestNumber, reqVO.getCountRequestNumber()) .eqIfPresent(CountadjustRecordMainDO::getWarehouseCode, reqVO.getWarehouseCode()) .eqIfPresent(CountadjustRecordMainDO::getOutTransactionType, reqVO.getOutTransactionType()) .eqIfPresent(CountadjustRecordMainDO::getInTransactionType, reqVO.getInTransactionType()) @@ -48,7 +48,7 @@ public interface CountadjustRecordMainMapper extends BaseMapperX selectList(CountadjustRecordMainExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(CountadjustRecordMainDO::getRequestNumber, reqVO.getRequestNumber()) - .eqIfPresent(CountadjustRecordMainDO::getCountRecordNumber, reqVO.getCountRecordNumber()) + .eqIfPresent(CountadjustRecordMainDO::getCountRequestNumber, reqVO.getCountRequestNumber()) .eqIfPresent(CountadjustRecordMainDO::getWarehouseCode, reqVO.getWarehouseCode()) .eqIfPresent(CountadjustRecordMainDO::getOutTransactionType, reqVO.getOutTransactionType()) .eqIfPresent(CountadjustRecordMainDO::getInTransactionType, reqVO.getInTransactionType()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java index b89a0041..e62137fe 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java @@ -22,7 +22,7 @@ public interface CountadjustRequestMainMapper extends BaseMapperX selectPage(CountadjustRequestMainPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(CountadjustRequestMainDO::getCountRecordNumber, reqVO.getCountRecordNumber()) + .eqIfPresent(CountadjustRequestMainDO::getCountRequestNumber, reqVO.getCountRequestNumber()) .eqIfPresent(CountadjustRequestMainDO::getWarehouseCode, reqVO.getWarehouseCode()) .eqIfPresent(CountadjustRequestMainDO::getNumber, reqVO.getNumber()) .eqIfPresent(CountadjustRequestMainDO::getBusinessType, reqVO.getBusinessType()) @@ -46,7 +46,7 @@ public interface CountadjustRequestMainMapper extends BaseMapperX selectList(CountadjustRequestMainExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(CountadjustRequestMainDO::getCountRecordNumber, reqVO.getCountRecordNumber()) + .eqIfPresent(CountadjustRequestMainDO::getCountRequestNumber, reqVO.getCountRequestNumber()) .eqIfPresent(CountadjustRequestMainDO::getWarehouseCode, reqVO.getWarehouseCode()) .eqIfPresent(CountadjustRequestMainDO::getNumber, reqVO.getNumber()) .eqIfPresent(CountadjustRequestMainDO::getBusinessType, reqVO.getBusinessType()) @@ -74,8 +74,4 @@ public interface CountadjustRequestMainMapper extends BaseMapperX countJobDetailUpdateReqVOList = countJobMainUpdateReqVO.getSubList(); + List countRequestDetailDOList = new ArrayList<>(); List countRecordDetailDOList = new ArrayList<>(); for(CountJobDetailUpdateReqVO countJobDetailUpdateReqVO : countJobDetailUpdateReqVOList) { CountRecordDetailDO countRecordDetailDO = new CountRecordDetailDO(); @@ -212,21 +218,57 @@ public class CountJobMainServiceImpl implements CountJobMainService { countRecordDetailDO.setUpdater(null); countRecordDetailDO.setUpdateTime(null); countRecordDetailDOList.add(countRecordDetailDO); + //新增任务子数据,回写到申请子表中 + if(countJobDetailUpdateReqVO.getId() == 0) { + CountRequestDetailDO countRequestDetailDO = new CountRequestDetailDO(); + BeanUtils.copyProperties(countJobDetailUpdateReqVO, countRequestDetailDO); + countRequestDetailDO.setMasterId(countRequestMainDO.getId()); + countRequestDetailDO.setNumber(countRequestMainDO.getNumber()); + countRequestDetailDO.setId(null); + countRequestDetailDO.setCreator(null); + countRequestDetailDO.setCreateTime(null); + countRequestDetailDO.setUpdater(null); + countRequestDetailDO.setUpdateTime(null); + countRequestDetailDOList.add(countRequestDetailDO); + } } countRecordDetailMapper.insertBatch(countRecordDetailDOList); List typeList = new ArrayList<>(); typeList.add(JobStatusEnum.PENDING.getCode()); typeList.add(JobStatusEnum.PROCESSING.getCode()); - Long count = countJobMainMapper.selectListCount(typeList, countJobMainDO.getRequestNumber()); - CountRequestMainDO countRequestMainDO = countRequestMainMapper.selectByNumber(countJobMainDO.getRequestNumber()); - //申请单下所有任务全部完成 - if(count == 0) { + Long notFinishedCount = countJobMainMapper.selectListCount(typeList, countJobMainDO.getRequestNumber(), countJobMainDO.getStage()); + //查询本阶段为完成的任务数,都完成回写申请状态和申请中任务状态 + if(notFinishedCount == 0) { + switch (countJobMainDO.getStage()) { + case "INITIAL_COUNT": + countRequestMainDO.setJobStatus1(JobStatusEnum.COMPLETED.getCode()); + break; + case "RECOUNT": + countRequestMainDO.setJobStatus2(JobStatusEnum.COMPLETED.getCode()); + break; + case "AUDIT_COUNT": + countRequestMainDO.setJobStatus3(JobStatusEnum.COMPLETED.getCode()); + break; + } countRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + // 判断盘点记录中是否有未盘平,有的话,更新申请中盘点调整数量状态 + long differenceCount = countRecordDetailMapper.getDifferenceCount(countRequestMainDO.getNumber()); + //生成盘点调整状态1不可生成2可生成3已生成4不需要生成 + if(differenceCount == 0) {//全部盘平 + countRequestMainDO.setCountAdjustStatus("4"); + } else { + countRequestMainDO.setCountAdjustStatus("2"); + } countRequestMainMapper.updateById(countRequestMainDO); } else if(countRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成 + countRequestMainDO.setCountAdjustStatus("1"); countRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode()); countRequestMainMapper.updateById(countRequestMainDO); } + //盘点申请中没有,但盘点任务盘出来多的物品,回写到盘点申请子表中 + if(!countRequestDetailDOList.isEmpty()) { + countRequestDetailMapper.insertBatch(countRequestDetailDOList); + } return number; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java index a398145b..ed203a03 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java @@ -46,10 +46,4 @@ public interface CountRecordMainService { */ List getCountRecordMainList(CustomConditions conditions); - /** - * 根据盘点记录生成库存调整申请 - * @param countRecordMainId - * @return - */ - int generateCountadjustRequest(Long countRecordMainId); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java index 94463e58..9740aba9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java @@ -1,38 +1,24 @@ package com.win.module.wms.service.countRecord; -import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; -import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; -import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; -import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; -import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; -import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO; -import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestMainDO; -import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper; import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper; -import com.win.module.wms.enums.request.RequestStatusEnum; 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 org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; -import static com.win.module.wms.enums.ErrorCodeConstants.COUNTADJUST_REQUEST_EXISTS; - /** * 盘点记录主 Service 实现类 * @@ -77,68 +63,4 @@ public class CountRecordMainServiceImpl implements CountRecordMainService { return countRecordMainMapper.selectList(conditions); } - @Override - @Transactional - public int generateCountadjustRequest(Long countRecordMainId) { - CountRecordMainDO countRecordMainDO = countRecordMainMapper.selectById(countRecordMainId); - CountadjustRequestMainDO countadjustRequestMainDOExists = countadjustRequestMainMapper.selectByCountRecordNumber(countRecordMainDO.getNumber()); - if(countadjustRequestMainDOExists != null) { - throw new ServiceException(COUNTADJUST_REQUEST_EXISTS); - } - List countRecordDetailDOList = countRecordDetailMapper.selectList(countRecordMainId); - List countadjustRequestDetailDOList = new ArrayList<>(); - int countDetailNumber = 1; - for(CountRecordDetailDO countRecordDetailDO : countRecordDetailDOList) { - //盘点记录数量不一致时生成盘点调整申请 - if(countRecordDetailDO.getCountQty().compareTo(countRecordDetailDO.getQty()) != 0) { - CountadjustRequestDetailDO countadjustRequestDetailDO = new CountadjustRequestDetailDO(); - BeanUtils.copyProperties(countRecordDetailDO, countadjustRequestDetailDO); - countadjustRequestDetailDO.setCountDetailNumber(String.valueOf(countDetailNumber)); - countadjustRequestDetailDO.setInventoryQty(countRecordDetailDO.getQty()); - countadjustRequestDetailDO.setCountQty(countRecordDetailDO.getCountQty()); - //库存数量减盘点数量等于调整数量 - countadjustRequestDetailDO.setAdjustQty(countRecordDetailDO.getQty().subtract(countRecordDetailDO.getCountQty())); - //调整数量的绝对值 - countadjustRequestDetailDO.setQty(countadjustRequestDetailDO.getAdjustQty().abs()); - countadjustRequestDetailDO.setId(null); - countadjustRequestDetailDO.setCreator(null); - countadjustRequestDetailDO.setCreateTime(null); - countadjustRequestDetailDO.setUpdater(null); - countadjustRequestDetailDO.setUpdateTime(null); - countadjustRequestDetailDOList.add(countadjustRequestDetailDO); - countDetailNumber++; - } - } - int result = 0; - //增加库存调整 - if(!countadjustRequestDetailDOList.isEmpty()) { - CountadjustRequestMainDO countadjustRequestMainDO = new CountadjustRequestMainDO(); - BeanUtils.copyProperties(countRecordMainDO, countadjustRequestMainDO); - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CountAdjustRequest"); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountAdjustRequest"); - String adjustNumber = serialNumberApi.generateCode(RuleCodeEnum.COUNT_ADJUST_REQUEST.getCode()); - countadjustRequestMainDO.setNumber(adjustNumber); - countadjustRequestMainDO.setBusinessType(businesstypeDO.getCode()); - countadjustRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); - countadjustRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); - countadjustRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); - countadjustRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); - countadjustRequestMainDO.setCountRecordNumber(countRecordMainDO.getNumber()); - countadjustRequestMainDO.setStatus(RequestStatusEnum.NEW.getCode()); - countadjustRequestMainDO.setId(null); - countadjustRequestMainDO.setCreator(null); - countadjustRequestMainDO.setCreateTime(null); - countadjustRequestMainDO.setUpdater(null); - countadjustRequestMainDO.setUpdateTime(null); - result = countadjustRequestMainMapper.insert(countadjustRequestMainDO); - for(CountadjustRequestDetailDO countadjustRequestDetailDO : countadjustRequestDetailDOList) { - countadjustRequestDetailDO.setMasterId(countadjustRequestMainDO.getId()); - countadjustRequestDetailDO.setNumber(adjustNumber); - } - countadjustRequestDetailMapper.insertBatch(countadjustRequestDetailDOList); - trendsApi.createTrends(countadjustRequestMainDO.getId(), "countadjustRequest", "生成了盘点调整申请", TrendsTypeEnum.CREATE); - } - return result; - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java index 7a33caf1..6f353ce5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java @@ -129,4 +129,11 @@ public interface CountRequestMainService { * @return 更新数量 */ Integer createSuperviseCountJob(CountRequestMainUpdateReqVO updateReqVO); + + /** + * 根据盘点记录生成库存调整申请 + * @param countRequestMainId 盘点申请id + * @return 更新数量 + */ + int generateCountadjustRequest(Long countRequestMainId); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java index b57c5873..f0dc5cb8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java @@ -20,8 +20,11 @@ import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO; import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; +import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO; +import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestMainDO; 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; @@ -34,6 +37,8 @@ import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper; import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestDetailMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper; +import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper; +import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper; import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; @@ -44,6 +49,7 @@ import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.shift.ShiftService; import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.util.JobUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -97,6 +103,10 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { private JobsettingService jobsettingService; @Resource private CountJobDetailMapper countJobDetailMapper; + @Resource + private CountadjustRequestMainMapper countadjustRequestMainMapper; + @Resource + private CountadjustRequestDetailMapper countadjustRequestDetailMapper; @Override @Transactional @@ -432,6 +442,63 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { } } + @Override + @Transactional + public int generateCountadjustRequest(Long countRecordMainId) { + CountRequestMainDO countRequestMainDO = countRequestMainMapper.selectById(countRecordMainId); + if("2".equals(countRequestMainDO.getCountAdjustStatus())) { + throw new ServiceException(COUNTADJUST_REQUEST_EXISTS); + } + List countRecordDetailDOList = countRecordDetailMapper.getDifferenceList(countRequestMainDO.getNumber()); + List countadjustRequestDetailDOList = new ArrayList<>(); + for(CountRecordDetailDO countRecordDetailDO : countRecordDetailDOList) { + CountadjustRequestDetailDO countadjustRequestDetailDO = new CountadjustRequestDetailDO(); + BeanUtils.copyProperties(countRecordDetailDO, countadjustRequestDetailDO); + countadjustRequestDetailDO.setInventoryQty(countRecordDetailDO.getQty()); + countadjustRequestDetailDO.setCountQty(countRecordDetailDO.getCountQty()); + //库存数量减盘点数量等于调整数量 + countadjustRequestDetailDO.setAdjustQty(countRecordDetailDO.getQty().subtract(countRecordDetailDO.getCountQty())); + //调整数量的绝对值 + countadjustRequestDetailDO.setQty(countadjustRequestDetailDO.getAdjustQty().abs()); + countadjustRequestDetailDO.setId(null); + countadjustRequestDetailDO.setCreator(null); + countadjustRequestDetailDO.setCreateTime(null); + countadjustRequestDetailDO.setUpdater(null); + countadjustRequestDetailDO.setUpdateTime(null); + countadjustRequestDetailDOList.add(countadjustRequestDetailDO); + } + int result = 0; + //增加库存调整 + if(!countadjustRequestDetailDOList.isEmpty()) { + CountadjustRequestMainDO countadjustRequestMainDO = new CountadjustRequestMainDO(); + BeanUtils.copyProperties(countRequestMainDO, countadjustRequestMainDO); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CountAdjustRequest"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountAdjustRequest"); + String adjustNumber = serialNumberApi.generateCode(RuleCodeEnum.COUNT_ADJUST_REQUEST.getCode()); + countadjustRequestMainDO.setNumber(adjustNumber); + countadjustRequestMainDO.setBusinessType(businesstypeDO.getCode()); + countadjustRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); + countadjustRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); + countadjustRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); + countadjustRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); + countadjustRequestMainDO.setCountRequestNumber(countRequestMainDO.getNumber()); + countadjustRequestMainDO.setStatus(RequestStatusEnum.NEW.getCode()); + countadjustRequestMainDO.setId(null); + countadjustRequestMainDO.setCreator(null); + countadjustRequestMainDO.setCreateTime(null); + countadjustRequestMainDO.setUpdater(null); + countadjustRequestMainDO.setUpdateTime(null); + result = countadjustRequestMainMapper.insert(countadjustRequestMainDO); + for(CountadjustRequestDetailDO countadjustRequestDetailDO : countadjustRequestDetailDOList) { + countadjustRequestDetailDO.setMasterId(countadjustRequestMainDO.getId()); + countadjustRequestDetailDO.setNumber(adjustNumber); + } + countadjustRequestDetailMapper.insertBatch(countadjustRequestDetailDOList); + trendsApi.createTrends(countadjustRequestMainDO.getId(), "countadjustRequest", "生成了盘点调整申请", TrendsTypeEnum.CREATE); + } + return result; + } + /** * 校验导入,并赋值一些参数,未完全实现 * @param mainDO diff --git a/win-module-wms/win-module-wms-biz/src/main/resources/mapper/countRecord/CountRecordDetailMapper.xml b/win-module-wms/win-module-wms-biz/src/main/resources/mapper/countRecord/CountRecordDetailMapper.xml index 977f6528..c04beac3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/resources/mapper/countRecord/CountRecordDetailMapper.xml +++ b/win-module-wms/win-module-wms-biz/src/main/resources/mapper/countRecord/CountRecordDetailMapper.xml @@ -2,11 +2,22 @@ - + + + + +