Browse Source

计划外入库请求代码提交

master
赵雪冰 2 years ago
parent
commit
8fe94f10d7
  1. 11
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 36
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobDetailController.java
  3. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobMainController.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobDetailPageReqVO.java
  5. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainUpdateReqVO.java
  6. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordDetailController.java
  7. 36
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java
  8. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailBaseVO.java
  9. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailExportReqVO.java
  10. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailPageReqVO.java
  11. 35
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/UnplannedreceiptRequestDetailController.java
  12. 66
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/UnplannedreceiptRequestMainController.java
  13. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestDetailPageReqVO.java
  14. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptJob/UnplannedreceiptJobDetailConvert.java
  15. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptJob/UnplannedreceiptJobMainConvert.java
  16. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedissueRequest/UnplannedissueRequestMainDO.java
  17. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptJob/UnplannedreceiptJobMainDO.java
  18. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRecord/UnplannedreceiptRecordDetailDO.java
  19. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRequest/UnplannedreceiptRequestMainDO.java
  20. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptJob/UnplannedreceiptJobDetailMapper.java
  21. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptJob/UnplannedreceiptJobMainMapper.java
  22. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRecord/UnplannedreceiptRecordDetailMapper.java
  23. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestDetailMapper.java
  24. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java
  25. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobDetailService.java
  26. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobDetailServiceImpl.java
  27. 30
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainService.java
  28. 230
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java
  29. 46
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainService.java
  30. 307
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java

11
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -914,13 +914,24 @@ public interface ErrorCodeConstants {
//计划外出库记录ErrorCode //计划外出库记录ErrorCode
ErrorCode UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_145_000, "计划外出库记录主不存在"); ErrorCode UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_145_000, "计划外出库记录主不存在");
ErrorCode UNPLANNEDISSUE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_145_001, "计划外出库记录子不存在"); ErrorCode UNPLANNEDISSUE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_145_001, "计划外出库记录子不存在");
//计划外入库申请ErrorCode //计划外入库申请ErrorCode
ErrorCode UNPLANNEDRECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_146_000, "计划外入库申请主不存在"); ErrorCode UNPLANNEDRECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_146_000, "计划外入库申请主不存在");
ErrorCode UNPLANNEDRECEIPT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_146_001, "计划外入库申请子不存在"); ErrorCode UNPLANNEDRECEIPT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_146_001, "计划外入库申请子不存在");
ErrorCode UNPLANNEDRECEIPT_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS = new ErrorCode(1_000_146_002, "库位【{}】无效");
ErrorCode UNPLANNEDRECEIPT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_146_003, "计划外入库申请状态不支持关闭");
ErrorCode UNPLANNEDRECEIPT_REQUEST_CANNOT_RE_ADD = new ErrorCode(1_000_146_004, "计划外入库申请状态不支持关闭");
ErrorCode UNPLANNEDRECEIPT_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_146_005, "计划外入库申请状态不支持提交");
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 //计划外入库任务ErrorCode
ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_147_000, "计划外入库任务主不存在"); ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_147_000, "计划外入库任务主不存在");
ErrorCode UNPLANNEDRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_147_001, "计划外入库任务子不存在"); ErrorCode UNPLANNEDRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_147_001, "计划外入库任务子不存在");
ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_147_002, "计划外入库任务状态错误"); ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_147_002, "计划外入库任务状态错误");
ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_EXISTS = new ErrorCode(1_000_147_003, "调拨出库任务存在调拨出库任务单");
//计划外入库记录ErrorCode //计划外入库记录ErrorCode
ErrorCode UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_148_000, "计划外入库记录主不存在"); 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 UNPLANNEDRECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_148_001, "计划外入库记录子不存在");

36
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobDetailController.java

@ -1,29 +1,32 @@
package com.win.module.wms.controller.unplannedreceiptJob; package com.win.module.wms.controller.unplannedreceiptJob;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.*; import com.win.module.wms.controller.unplannedreceiptJob.vo.*;
import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobDetailConvert;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
import com.win.module.wms.service.unplannedreceiptJob.UnplannedreceiptJobDetailService;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import javax.validation.Valid;
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 java.io.IOException; import java.io.IOException;
import com.win.framework.common.pojo.PageResult; import java.util.Collection;
import com.win.framework.common.pojo.CommonResult; import java.util.List;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobDetailConvert;
import com.win.module.wms.service.unplannedreceiptJob.UnplannedreceiptJobDetailService;
@Tag(name = "管理后台 - 计划外入库任务子") @Tag(name = "管理后台 - 计划外入库任务子")
@RestController @RestController
@ -33,7 +36,6 @@ public class UnplannedreceiptJobDetailController {
@Resource @Resource
private UnplannedreceiptJobDetailService unplannedreceiptJobDetailService; private UnplannedreceiptJobDetailService unplannedreceiptJobDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/UnplannedreceiptJobMainController.java

@ -1,32 +1,38 @@
package com.win.module.wms.controller.unplannedreceiptJob; package com.win.module.wms.controller.unplannedreceiptJob;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.*; import com.win.module.wms.controller.unplannedreceiptJob.vo.*;
import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobDetailConvert; import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobDetailConvert;
import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobMainConvert;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
import com.win.module.wms.service.unplannedreceiptJob.UnplannedreceiptJobDetailService; import com.win.module.wms.service.unplannedreceiptJob.UnplannedreceiptJobDetailService;
import com.win.module.wms.service.unplannedreceiptJob.UnplannedreceiptJobMainService;
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 jodd.util.StringUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import javax.validation.Valid;
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 java.io.IOException; import java.io.IOException;
import com.win.framework.common.pojo.PageResult; import java.util.ArrayList;
import com.win.framework.common.pojo.CommonResult; import java.util.Collection;
import java.util.List;
import java.util.Map;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobMainConvert;
import com.win.module.wms.service.unplannedreceiptJob.UnplannedreceiptJobMainService;
@Tag(name = "管理后台 - 计划外入库任务主") @Tag(name = "管理后台 - 计划外入库任务主")
@RestController @RestController
@ -36,7 +42,6 @@ public class UnplannedreceiptJobMainController {
@Resource @Resource
private UnplannedreceiptJobMainService unplannedreceiptJobMainService; private UnplannedreceiptJobMainService unplannedreceiptJobMainService;
@Resource @Resource
private UnplannedreceiptJobDetailService unplannedreceiptJobDetailService; private UnplannedreceiptJobDetailService unplannedreceiptJobDetailService;
@ -155,4 +160,37 @@ public class UnplannedreceiptJobMainController {
return success(countByStatus); return success(countByStatus);
} }
@PutMapping(value = "/accept")
@Operation(summary = "承接任务")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-job-main:accept')")
public CommonResult<Boolean> acceptUnplannedreceiptJobMain(@RequestParam("id") Long id) {
int result = unplannedreceiptJobMainService.acceptUnplannedreceiptJobMain(id);
return success(result > 0);
}
@PutMapping(value = "/abandon")
@Operation(summary = "放弃任务")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-job-main:abandon')")
public CommonResult<Boolean> abandonUnplannedreceiptJobMain(@RequestParam("id") Long id) {
int result = unplannedreceiptJobMainService.abandonUnplannedreceiptJobMain(id);
return success(result > 0);
}
@PutMapping(value = "/close")
@Operation(summary = "关闭任务")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-job-main:close')")
public CommonResult<Boolean> closeUnplannedreceiptJobMain(@RequestParam("id") Long id) {
int result = unplannedreceiptJobMainService.closeUnplannedreceiptJobMain(id);
return success(result > 0);
}
@PutMapping("/execute")
@Operation(summary = "执行计划外入库任务主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-job-main:execute')")
public CommonResult<String> executeUnplannedreceiptJobMain(@Valid @RequestBody UnplannedreceiptJobMainUpdateReqVO updateReqVO) {
String number = unplannedreceiptJobMainService.executeUnplannedreceiptJobMain(updateReqVO);
return success(number);
}
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobDetailPageReqVO.java

@ -87,4 +87,7 @@ public class UnplannedreceiptJobDetailPageReqVO extends PageParam {
@Schema(description = "创建者Id") @Schema(description = "创建者Id")
private String creator; private String creator;
@Schema(description = "主键ID")
private Long masterId;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainUpdateReqVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.unplannedreceiptJob.vo; package com.win.module.wms.controller.unplannedreceiptJob.vo;
import com.win.module.wms.controller.transferissueJob.vo.TransferissueJobDetailUpdateReqVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import javax.validation.Valid;
import java.util.List;
@Schema(description = "管理后台 - 计划外入库任务主更新 Request VO") @Schema(description = "管理后台 - 计划外入库任务主更新 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class UnplannedreceiptJobMainUpdateReqVO extends UnplannedreceiptJobMainBaseVO { public class UnplannedreceiptJobMainUpdateReqVO extends UnplannedreceiptJobMainBaseVO {
@Schema(description = "子表数据")
private List<@Valid UnplannedreceiptJobDetailUpdateReqVO> subList;
} }

40
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordDetailController.java

@ -1,29 +1,32 @@
package com.win.module.wms.controller.unplannedreceiptRecord; package com.win.module.wms.controller.unplannedreceiptRecord;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.unplannedreceiptRecord.vo.*; import com.win.module.wms.controller.unplannedreceiptRecord.vo.*;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordDetailConvert;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO;
import com.win.module.wms.service.unplannedreceiptRecord.UnplannedreceiptRecordDetailService;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import javax.validation.Valid;
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 java.io.IOException; import java.io.IOException;
import com.win.framework.common.pojo.PageResult; import java.util.Collection;
import com.win.framework.common.pojo.CommonResult; import java.util.List;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordDetailConvert;
import com.win.module.wms.service.unplannedreceiptRecord.UnplannedreceiptRecordDetailService;
@Tag(name = "管理后台 - 计划外入库记录子") @Tag(name = "管理后台 - 计划外入库记录子")
@RestController @RestController
@ -33,7 +36,6 @@ public class UnplannedreceiptRecordDetailController {
@Resource @Resource
private UnplannedreceiptRecordDetailService unplannedreceiptRecordDetailService; private UnplannedreceiptRecordDetailService unplannedreceiptRecordDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -86,9 +88,10 @@ public class UnplannedreceiptRecordDetailController {
PageResult<UnplannedreceiptRecordDetailDO> pageResult = unplannedreceiptRecordDetailService.getUnplannedreceiptRecordDetailPage(pageVO); PageResult<UnplannedreceiptRecordDetailDO> pageResult = unplannedreceiptRecordDetailService.getUnplannedreceiptRecordDetailPage(pageVO);
return success(UnplannedreceiptRecordDetailConvert.INSTANCE.convertPage(pageResult)); return success(UnplannedreceiptRecordDetailConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceiptRecordDetail:query')") @PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-record-detail:query')")
public CommonResult<PageResult<UnplannedreceiptRecordDetailRespVO>> getUnplannedreceiptRecordDetailSenior(@Valid @RequestBody CustomConditions conditions) { public CommonResult<PageResult<UnplannedreceiptRecordDetailRespVO>> getUnplannedreceiptRecordDetailSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<UnplannedreceiptRecordDetailDO> pageResult = unplannedreceiptRecordDetailService.getUnplannedreceiptRecordDetailSenior(conditions); PageResult<UnplannedreceiptRecordDetailDO> pageResult = unplannedreceiptRecordDetailService.getUnplannedreceiptRecordDetailSenior(conditions);
PageResult<UnplannedreceiptRecordDetailRespVO> result = UnplannedreceiptRecordDetailConvert.INSTANCE.convertPage(pageResult); PageResult<UnplannedreceiptRecordDetailRespVO> result = UnplannedreceiptRecordDetailConvert.INSTANCE.convertPage(pageResult);
@ -99,6 +102,7 @@ public class UnplannedreceiptRecordDetailController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出计划外入库记录子 Excel") @Operation(summary = "导出计划外入库记录子 Excel")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-record-detail:export')") @PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-record-detail:export')")

36
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java

@ -1,30 +1,32 @@
package com.win.module.wms.controller.unplannedreceiptRecord; package com.win.module.wms.controller.unplannedreceiptRecord;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.unplannedreceiptRecord.vo.*; import com.win.module.wms.controller.unplannedreceiptRecord.vo.*;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordMainConvert;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO;
import com.win.module.wms.service.unplannedreceiptRecord.UnplannedreceiptRecordMainService;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import javax.validation.Valid;
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 java.io.IOException; import java.io.IOException;
import com.win.framework.common.pojo.PageResult; import java.util.Collection;
import com.win.framework.common.pojo.CommonResult; import java.util.List;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordMainConvert;
import com.win.module.wms.service.unplannedreceiptRecord.UnplannedreceiptRecordMainService;
@Tag(name = "管理后台 - 计划外入库记录主") @Tag(name = "管理后台 - 计划外入库记录主")
@RestController @RestController

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailBaseVO.java

@ -120,4 +120,7 @@ public class UnplannedreceiptRecordDetailBaseVO {
@Schema(description = "任务明细ID") @Schema(description = "任务明细ID")
private String jobDetailId; private String jobDetailId;
@Schema(description = "主键ID")
private String masterId;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailExportReqVO.java

@ -104,4 +104,7 @@ public class UnplannedreceiptRecordDetailExportReqVO {
@Schema(description = "任务明细ID") @Schema(description = "任务明细ID")
private String jobDetailId; private String jobDetailId;
@Schema(description = "主键ID")
private String masterId;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailPageReqVO.java

@ -106,4 +106,7 @@ public class UnplannedreceiptRecordDetailPageReqVO extends PageParam {
@Schema(description = "任务明细ID") @Schema(description = "任务明细ID")
private String jobDetailId; private String jobDetailId;
@Schema(description = "主键ID")
private String masterId;
} }

35
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/UnplannedreceiptRequestDetailController.java

@ -1,29 +1,32 @@
package com.win.module.wms.controller.unplannedreceiptRequest; package com.win.module.wms.controller.unplannedreceiptRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.unplannedreceiptRequest.vo.*; import com.win.module.wms.controller.unplannedreceiptRequest.vo.*;
import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO;
import com.win.module.wms.service.unplannedreceiptRequest.UnplannedreceiptRequestDetailService;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import javax.validation.Valid;
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 java.io.IOException; import java.io.IOException;
import com.win.framework.common.pojo.PageResult; import java.util.Collection;
import com.win.framework.common.pojo.CommonResult; import java.util.List;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO;
import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert;
import com.win.module.wms.service.unplannedreceiptRequest.UnplannedreceiptRequestDetailService;
@Tag(name = "管理后台 - 计划外入库申请子") @Tag(name = "管理后台 - 计划外入库申请子")
@RestController @RestController

66
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/UnplannedreceiptRequestMainController.java

@ -9,17 +9,12 @@ import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExcelVO;
import com.win.module.wms.controller.unplannedreceiptRequest.vo.*; import com.win.module.wms.controller.unplannedreceiptRequest.vo.*;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert; import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert;
import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestMainConvert; import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.purchasereceiptRequest.PurchasereceiptRequestDetailService;
import com.win.module.wms.service.unplannedreceiptRequest.UnplannedreceiptRequestDetailService; import com.win.module.wms.service.unplannedreceiptRequest.UnplannedreceiptRequestDetailService;
import com.win.module.wms.service.unplannedreceiptRequest.UnplannedreceiptRequestMainService; import com.win.module.wms.service.unplannedreceiptRequest.UnplannedreceiptRequestMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -50,10 +45,8 @@ public class UnplannedreceiptRequestMainController {
@Resource @Resource
private UnplannedreceiptRequestMainService unplannedreceiptRequestMainService; private UnplannedreceiptRequestMainService unplannedreceiptRequestMainService;
@Resource @Resource
private UnplannedreceiptRequestDetailService unplannedreceiptRequestDetailService; private UnplannedreceiptRequestDetailService unplannedreceiptRequestDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -107,9 +100,10 @@ public class UnplannedreceiptRequestMainController {
PageResult<UnplannedreceiptRequestMainDO> pageResult = unplannedreceiptRequestMainService.getUnplannedreceiptRequestMainPage(pageVO); PageResult<UnplannedreceiptRequestMainDO> pageResult = unplannedreceiptRequestMainService.getUnplannedreceiptRequestMainPage(pageVO);
return success(UnplannedreceiptRequestMainConvert.INSTANCE.convertPage(pageResult)); return success(UnplannedreceiptRequestMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceiptRequestMain:query')") @PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:query')")
public CommonResult<PageResult<UnplannedreceiptRequestMainRespVO>> getUnplannedreceiptRequestMainSenior(@Valid @RequestBody CustomConditions conditions) { public CommonResult<PageResult<UnplannedreceiptRequestMainRespVO>> getUnplannedreceiptRequestMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<UnplannedreceiptRequestMainDO> pageResult = unplannedreceiptRequestMainService.getUnplannedreceiptRequestMainSenior(conditions); PageResult<UnplannedreceiptRequestMainDO> pageResult = unplannedreceiptRequestMainService.getUnplannedreceiptRequestMainSenior(conditions);
PageResult<UnplannedreceiptRequestMainRespVO> result = UnplannedreceiptRequestMainConvert.INSTANCE.convertPage(pageResult); PageResult<UnplannedreceiptRequestMainRespVO> result = UnplannedreceiptRequestMainConvert.INSTANCE.convertPage(pageResult);
@ -204,7 +198,7 @@ public class UnplannedreceiptRequestMainController {
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true") @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
}) })
@PreAuthorize("@ss.hasPermission('wms:purchase-plan-main:import')") @PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response, public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@ -222,4 +216,58 @@ public class UnplannedreceiptRequestMainController {
return success(returnMap); return success(returnMap);
} }
@PutMapping("/close")
@Operation(summary = "关闭计划外入库申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:close')")
public CommonResult<Boolean> closeUnplannedreceiptRequestMain(@RequestParam("id") Long id) {
Integer count = unplannedreceiptRequestMainService.closeUnplannedreceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/reAdd")
@Operation(summary = "重新添加计划外申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:reAdd')")
public CommonResult<Boolean> reAddUnplannedreceiptRequestMain(@RequestParam("id") Long id) {
Integer count = unplannedreceiptRequestMainService.reAddUnplannedreceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交计划外入库申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:submit')")
public CommonResult<Boolean> submitUnplannedreceiptRequestMain(@RequestParam("id") Long id) {
Integer count = unplannedreceiptRequestMainService.submitUnplannedreceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/refused")
@Operation(summary = "审批拒绝计划外入库申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:refused')")
public CommonResult<Boolean> abortUnplannedreceiptRequestMain(@RequestParam("id") Long id) {
Integer count = unplannedreceiptRequestMainService.abortUnplannedreceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过计划外入库申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:agree')")
public CommonResult<Boolean> agreeUnplannedreceiptRequestMain(@RequestParam("id") Long id) {
Integer count = unplannedreceiptRequestMainService.agreeUnplannedreceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/handle")
@Operation(summary = "处理计划外入库申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-request-main:handle')")
public CommonResult<Boolean> handleUnplannedreceiptRequestMain(@RequestParam("id") Long id) {
Integer count = unplannedreceiptRequestMainService.handleUnplannedreceiptRequestMain(id);
return success(count > 0);
}
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestDetailPageReqVO.java

@ -94,4 +94,7 @@ public class UnplannedreceiptRequestDetailPageReqVO extends PageParam {
@Schema(description = "最后更新者用户名") @Schema(description = "最后更新者用户名")
private String updater; private String updater;
@Schema(description = "主键ID")
private Long masterId;
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptJob/UnplannedreceiptJobDetailConvert.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobD
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailExcelVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailExcelVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailRespVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailRespVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailUpdateReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
@ -34,4 +35,5 @@ public interface UnplannedreceiptJobDetailConvert {
List<UnplannedreceiptJobDetailExcelVO> convertList02(List<UnplannedreceiptJobDetailDO> list); List<UnplannedreceiptJobDetailExcelVO> convertList02(List<UnplannedreceiptJobDetailDO> list);
UnplannedreceiptJobDetailDO convert(UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO);
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/unplannedreceiptJob/UnplannedreceiptJobMainConvert.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobM
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainExcelVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainExcelVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainRespVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainRespVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainUpdateReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
@ -34,4 +35,5 @@ public interface UnplannedreceiptJobMainConvert {
List<UnplannedreceiptJobMainExcelVO> convertList02(List<UnplannedreceiptJobMainDO> list); List<UnplannedreceiptJobMainExcelVO> convertList02(List<UnplannedreceiptJobMainDO> list);
UnplannedreceiptJobMainDO convert(UnplannedreceiptRequestMainDO mainDO);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedissueRequest/UnplannedissueRequestMainDO.java

@ -113,4 +113,15 @@ public class UnplannedissueRequestMainDO extends BaseDO {
*/ */
private String directCreateRecord; private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatuses;
/**
* 出库库存状态范围
*/
private String outInventoryStatuses;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptJob/UnplannedreceiptJobMainDO.java

@ -196,4 +196,14 @@ public class UnplannedreceiptJobMainDO extends BaseDO {
*/ */
private String allowModifyPackingNumber; private String allowModifyPackingNumber;
/**
* 入库库存状态范围
*/
private String inInventoryStatuses;
/**
* 出库库存状态范围
*/
private String outInventoryStatuses;
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRecord/UnplannedreceiptRecordDetailDO.java

@ -1,6 +1,8 @@
package com.win.module.wms.dal.dataobject.unplannedreceiptRecord; package com.win.module.wms.dal.dataobject.unplannedreceiptRecord;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -111,7 +113,7 @@ public class UnplannedreceiptRecordDetailDO extends BaseDO {
/** /**
* 数量 * 数量
*/ */
private Integer qty; private BigDecimal qty;
/** /**
* 计量单位 * 计量单位
* *

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRequest/UnplannedreceiptRequestMainDO.java

@ -113,4 +113,14 @@ public class UnplannedreceiptRequestMainDO extends BaseDO {
*/ */
private String directCreateRecord; private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatuses;
/**
* 出库库存状态范围
*/
private String outInventoryStatuses;
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptJob/UnplannedreceiptJobDetailMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.unplannedreceiptJob; package com.win.module.wms.dal.mysql.unplannedreceiptJob;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailExportReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailExportReqVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailPageReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 计划外入库任务子 Mapper * 计划外入库任务子 Mapper
* *
@ -49,6 +49,7 @@ public interface UnplannedreceiptJobDetailMapper extends BaseMapperX<Unplannedre
.eqIfPresent(UnplannedreceiptJobDetailDO::getRemark, reqVO.getRemark()) .eqIfPresent(UnplannedreceiptJobDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(UnplannedreceiptJobDetailDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(UnplannedreceiptJobDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(UnplannedreceiptJobDetailDO::getCreator, reqVO.getCreator()) .eqIfPresent(UnplannedreceiptJobDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(UnplannedreceiptJobDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(UnplannedreceiptJobDetailDO::getId)); .orderByDesc(UnplannedreceiptJobDetailDO::getId));
} }
@ -77,7 +78,12 @@ public interface UnplannedreceiptJobDetailMapper extends BaseMapperX<Unplannedre
.eqIfPresent(UnplannedreceiptJobDetailDO::getRemark, reqVO.getRemark()) .eqIfPresent(UnplannedreceiptJobDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(UnplannedreceiptJobDetailDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(UnplannedreceiptJobDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(UnplannedreceiptJobDetailDO::getCreator, reqVO.getCreator()) .eqIfPresent(UnplannedreceiptJobDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(UnplannedreceiptJobDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(UnplannedreceiptJobDetailDO::getId)); .orderByDesc(UnplannedreceiptJobDetailDO::getId));
} }
default List<UnplannedreceiptJobDetailDO> selectList(Long masterId){
return selectList(new LambdaQueryWrapperX<UnplannedreceiptJobDetailDO>()
.eq(UnplannedreceiptJobDetailDO::getMasterId, masterId));
}
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptJob/UnplannedreceiptJobMainMapper.java

@ -9,8 +9,10 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainExportReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainExportReqVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainPageReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainPageReqVO;
import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO;
import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobMainDO; import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobMainDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@ -115,4 +117,9 @@ public interface UnplannedreceiptJobMainMapper extends BaseMapperX<Unplannedrece
} }
default Long selectByRequestNumber(String requestNumber){
return selectCount(new LambdaQueryWrapperX<UnplannedreceiptJobMainDO>()
.eq(UnplannedreceiptJobMainDO::getRequestNumber, requestNumber)
.ne(UnplannedreceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRecord/UnplannedreceiptRecordDetailMapper.java

@ -55,6 +55,7 @@ public interface UnplannedreceiptRecordDetailMapper extends BaseMapperX<Unplanne
.betweenIfPresent(UnplannedreceiptRecordDetailDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(UnplannedreceiptRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(UnplannedreceiptRecordDetailDO::getCreator, reqVO.getCreator()) .eqIfPresent(UnplannedreceiptRecordDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(UnplannedreceiptRecordDetailDO::getJobDetailId, reqVO.getJobDetailId()) .eqIfPresent(UnplannedreceiptRecordDetailDO::getJobDetailId, reqVO.getJobDetailId())
.eqIfPresent(UnplannedreceiptRecordDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(UnplannedreceiptRecordDetailDO::getId)); .orderByDesc(UnplannedreceiptRecordDetailDO::getId));
} }
@ -89,6 +90,7 @@ public interface UnplannedreceiptRecordDetailMapper extends BaseMapperX<Unplanne
.betweenIfPresent(UnplannedreceiptRecordDetailDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(UnplannedreceiptRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(UnplannedreceiptRecordDetailDO::getCreator, reqVO.getCreator()) .eqIfPresent(UnplannedreceiptRecordDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(UnplannedreceiptRecordDetailDO::getJobDetailId, reqVO.getJobDetailId()) .eqIfPresent(UnplannedreceiptRecordDetailDO::getJobDetailId, reqVO.getJobDetailId())
.eqIfPresent(UnplannedreceiptRecordDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(UnplannedreceiptRecordDetailDO::getId)); .orderByDesc(UnplannedreceiptRecordDetailDO::getId));
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestDetailMapper.java

@ -49,6 +49,7 @@ public interface UnplannedreceiptRequestDetailMapper extends BaseMapperX<Unplann
.eqIfPresent(UnplannedreceiptRequestDetailDO::getUom, reqVO.getUom()) .eqIfPresent(UnplannedreceiptRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(UnplannedreceiptRequestDetailDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(UnplannedreceiptRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(UnplannedreceiptRequestDetailDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(UnplannedreceiptRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(UnplannedreceiptRequestDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(UnplannedreceiptRequestDetailDO::getId)); .orderByDesc(UnplannedreceiptRequestDetailDO::getId));
} }
@ -79,6 +80,7 @@ public interface UnplannedreceiptRequestDetailMapper extends BaseMapperX<Unplann
.eqIfPresent(UnplannedreceiptRequestDetailDO::getUom, reqVO.getUom()) .eqIfPresent(UnplannedreceiptRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(UnplannedreceiptRequestDetailDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(UnplannedreceiptRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(UnplannedreceiptRequestDetailDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(UnplannedreceiptRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(UnplannedreceiptRequestDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(UnplannedreceiptRequestDetailDO::getId)); .orderByDesc(UnplannedreceiptRequestDetailDO::getId));
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java

@ -241,6 +241,8 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque
AdminUserRespDTO adminUserRespDTO = userApi.getUser(getLoginUserId()); AdminUserRespDTO adminUserRespDTO = userApi.getUser(getLoginUserId());
unplannedissueRequestMainDO.setDepartmentCode(String.valueOf(adminUserRespDTO.getDeptId())); unplannedissueRequestMainDO.setDepartmentCode(String.valueOf(adminUserRespDTO.getDeptId()));
unplannedissueRequestMainDO.setNumber(number); unplannedissueRequestMainDO.setNumber(number);
unplannedissueRequestMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());
unplannedissueRequestMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());
unplannedissueRequestMainMapper.insert(unplannedissueRequestMainDO); unplannedissueRequestMainMapper.insert(unplannedissueRequestMainDO);
for(UnplannedissueRequestDetailDO unplannedreceiptRequestDetailDO: subDOList){ for(UnplannedissueRequestDetailDO unplannedreceiptRequestDetailDO: subDOList){
unplannedreceiptRequestDetailDO.setMasterId(unplannedissueRequestMainDO.getId()); // masterId unplannedreceiptRequestDetailDO.setMasterId(unplannedissueRequestMainDO.getId()); // masterId
@ -520,7 +522,8 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
mainDo.setDepartmentCode(String.valueOf(userApi.getUser(getLoginUserId()).getDeptId())); mainDo.setDepartmentCode(String.valueOf(userApi.getUser(getLoginUserId()).getDeptId()));
mainDo.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());
return message.toString(); return message.toString();
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobDetailService.java

@ -79,4 +79,10 @@ public interface UnplannedreceiptJobDetailService {
*/ */
List<UnplannedreceiptJobDetailDO> getUnplannedreceiptJobDetailList(UnplannedreceiptJobDetailExportReqVO exportReqVO); List<UnplannedreceiptJobDetailDO> getUnplannedreceiptJobDetailList(UnplannedreceiptJobDetailExportReqVO exportReqVO);
/**
* 获取任务子表数据
* @param id 主表Id
* @return 列表
*/
List<UnplannedreceiptJobDetailDO> selectList(Long id);
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobDetailServiceImpl.java

@ -89,4 +89,9 @@ public class UnplannedreceiptJobDetailServiceImpl implements UnplannedreceiptJob
return unplannedreceiptJobDetailMapper.selectList(exportReqVO); return unplannedreceiptJobDetailMapper.selectList(exportReqVO);
} }
@Override
public List<UnplannedreceiptJobDetailDO> selectList(Long masterId) {
return unplannedreceiptJobDetailMapper.selectList(masterId);
}
} }

30
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainService.java

@ -86,7 +86,7 @@ public interface UnplannedreceiptJobMainService {
* @param pstatus 状态 * @param pstatus 状态
* @return 采购订单主列表 * @return 采购订单主列表
*/ */
public UnplannedreceiptJobMainDO unplannedreceiptJobMainDoStatusRight(String pnumber, String pstatus); UnplannedreceiptJobMainDO unplannedreceiptJobMainDoStatusRight(String pnumber, String pstatus);
/** /**
*根据任务状态获取任务数量 *根据任务状态获取任务数量
@ -94,4 +94,32 @@ public interface UnplannedreceiptJobMainService {
* @return * @return
*/ */
Map<String,Integer> getCountByStatus(@Nullable Collection<String> types); Map<String,Integer> getCountByStatus(@Nullable Collection<String> types);
/**
* 承接任务
* @param id 计划外入库任务主ID
* @return 更新数量
*/
int acceptUnplannedreceiptJobMain(Long id);
/**
* 放弃任务
* @param id 计划外入库任务主ID
* @return 更新数量
*/
int abandonUnplannedreceiptJobMain(Long id);
/**
* 关闭任务
* @param id 计划外入库任务主ID
* @return 更新数量
*/
int closeUnplannedreceiptJobMain(Long id);
/**
* 执行计划外入库任务
* @param updateReqVO 执行传参
* @return
*/
String executeUnplannedreceiptJobMain(UnplannedreceiptJobMainUpdateReqVO updateReqVO);
} }

230
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java

@ -1,21 +1,47 @@
package com.win.module.wms.service.unplannedreceiptJob; package com.win.module.wms.service.unplannedreceiptJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainCreateReqVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainExportReqVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainPageReqVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.UnplannedreceiptJobMainUpdateReqVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
import com.win.framework.common.pojo.PageResult; 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.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.unplannedreceiptJob.vo.*;
import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobMainConvert; 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.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO;
import com.win.module.wms.dal.mysql.unplannedreceiptJob.UnplannedreceiptJobMainMapper; import com.win.module.wms.dal.mysql.unplannedreceiptJob.UnplannedreceiptJobMainMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordMainMapper;
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 org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR;
/** /**
* 计划外入库任务主 Service 实现类 * 计划外入库任务主 Service 实现类
@ -28,6 +54,29 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa
@Resource @Resource
private UnplannedreceiptJobMainMapper unplannedreceiptJobMainMapper; private UnplannedreceiptJobMainMapper unplannedreceiptJobMainMapper;
@Resource
private AdminUserApi userApi;
@Resource
private TrendsApi trendsApi;
@Resource
private UnplannedreceiptJobDetailService unplannedreceiptJobDetailService;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private UnplannedreceiptRecordMainMapper unplannedreceiptRecordMainMapper;
@Resource
private LocationService locationService;
@Resource
private TransactionService transactionService;
@Resource
private ExpectinService expectinService;
@Resource
private RecordsettingService recordsettingService;
@Resource
private UnplannedreceiptRecordDetailMapper unplannedreceiptRecordDetailMapper;
@Override @Override
public Long createUnplannedreceiptJobMain(UnplannedreceiptJobMainCreateReqVO createReqVO) { public Long createUnplannedreceiptJobMain(UnplannedreceiptJobMainCreateReqVO createReqVO) {
@ -55,12 +104,12 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa
unplannedreceiptJobMainMapper.deleteById(id); unplannedreceiptJobMainMapper.deleteById(id);
} }
private UnplannedreceiptJobMainDO validateUnplannedreceiptJobMainExists(Long id) {
UnplannedreceiptJobMainDO unplannedreceiptJobMainDO = unplannedreceiptJobMainMapper.selectById(id);
private void validateUnplannedreceiptJobMainExists(Long id) { if (unplannedreceiptJobMainDO == null) {
if (unplannedreceiptJobMainMapper.selectById(id) == null) {
throw exception(UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS); throw exception(UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS);
} }
return unplannedreceiptJobMainDO;
} }
@Override @Override
@ -107,4 +156,157 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa
map.put("count", l.intValue()); map.put("count", l.intValue());
return map; return map;
} }
@Transactional
@Override
public int acceptUnplannedreceiptJobMain(Long id) {
UnplannedreceiptJobMainDO unplannedreceiptJobMainDO = this.validateUnplannedreceiptJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(unplannedreceiptJobMainDO.getStatus());
if(!jobStatusState.accept()) {
throw exception(UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR);
}
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
unplannedreceiptJobMainDO.setStatus(jobStatusState.getState().getCode());
unplannedreceiptJobMainDO.setAcceptUserId(String.valueOf(userId));
unplannedreceiptJobMainDO.setAcceptUserName(userRespDTO.getNickname());
unplannedreceiptJobMainDO.setAcceptTime(LocalDateTime.now());
trendsApi.createTrends(id, "UnplannedReceiptJob", "承接了计划外入库任务", TrendsTypeEnum.UPDATE);
return unplannedreceiptJobMainMapper.updateById(unplannedreceiptJobMainDO);
}
@Transactional
@Override
public int abandonUnplannedreceiptJobMain(Long id) {
UnplannedreceiptJobMainDO unplannedreceiptJobMainDO = this.validateUnplannedreceiptJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(unplannedreceiptJobMainDO.getStatus());
if(!jobStatusState.cancelAccept()) {
throw exception(UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR);
}
unplannedreceiptJobMainDO.setStatus(jobStatusState.getState().getCode());
unplannedreceiptJobMainDO.setAcceptUserId(null);
unplannedreceiptJobMainDO.setAcceptUserName(null);
unplannedreceiptJobMainDO.setAcceptTime(null);
trendsApi.createTrends(id, "UnplannedReceiptJob", "取消了计划外入库任务", TrendsTypeEnum.UPDATE);
return unplannedreceiptJobMainMapper.updateById(unplannedreceiptJobMainDO);
}
@Transactional
@Override
public int closeUnplannedreceiptJobMain(Long id) {
UnplannedreceiptJobMainDO unplannedreceiptJobMainDO = this.validateUnplannedreceiptJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(unplannedreceiptJobMainDO.getStatus());
if(!jobStatusState.close()) {
throw exception(UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR);
}
unplannedreceiptJobMainDO.setStatus(jobStatusState.getState().getCode());
trendsApi.createTrends(id, "UnplannedReceiptJob", "关闭了计划外入库任务", TrendsTypeEnum.UPDATE);
return unplannedreceiptJobMainMapper.updateById(unplannedreceiptJobMainDO);
}
@Transactional
@Override
public String executeUnplannedreceiptJobMain(UnplannedreceiptJobMainUpdateReqVO updateReqVO) {
// 查询任务主表与子表
UnplannedreceiptJobMainDO unplannedreceiptJobMainDO = this.validateUnplannedreceiptJobMainExists(updateReqVO.getId());
List<UnplannedreceiptJobDetailDO> subList = unplannedreceiptJobDetailService.selectList(unplannedreceiptJobMainDO.getId());
JobStatusState jobStatusState = new JobStatusState(unplannedreceiptJobMainDO.getStatus());
boolean flag = jobStatusState.execute();
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR);
}
//更新完成信息
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
unplannedreceiptJobMainDO.setStatus(jobStatusState.getState().getCode());
unplannedreceiptJobMainDO.setCompleteTime(LocalDateTime.now());
unplannedreceiptJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
unplannedreceiptJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
unplannedreceiptJobMainMapper.updateById(unplannedreceiptJobMainDO);
// 创建计划外入库记录
UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = new UnplannedreceiptRecordMainDO();
BeanUtils.copyProperties(unplannedreceiptJobMainDO, unplannedreceiptRecordMainDO);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRecord");
unplannedreceiptRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
unplannedreceiptRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType());
String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_RECORD.getCode());
String interFaceType = recordsettingService.selectRecordsettingExist("UnplannedReceiptRecord").getInterfaceType();
unplannedreceiptRecordMainDO.setInterfaceType(interFaceType);
unplannedreceiptRecordMainDO.setNumber(number);
unplannedreceiptRecordMainDO.setBusinessType(businesstypeDO.getCode());
unplannedreceiptRecordMainDO.setJobNumber(unplannedreceiptJobMainDO.getNumber());
unplannedreceiptRecordMainDO.setExecuteTime(LocalDateTime.now());
unplannedreceiptRecordMainDO.setActiveDate(LocalDateTime.now());
unplannedreceiptRecordMainDO.setDueTime(unplannedreceiptJobMainDO.getRequestDueTime());
unplannedreceiptRecordMainDO.setAvailable("TRUE");
unplannedreceiptRecordMainDO.setId(null);
unplannedreceiptRecordMainDO.setCreateTime(null);
unplannedreceiptRecordMainDO.setCreator(null);
unplannedreceiptRecordMainDO.setUpdateTime(null);
unplannedreceiptRecordMainDO.setUpdater(null);
unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMainDO);
// 创建计划外入库记录明细
List<UnplannedreceiptJobDetailUpdateReqVO> reqSubList = updateReqVO.getSubList();
List<UnplannedreceiptRecordDetailDO> unplannedreceiptRecordDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(UnplannedreceiptJobDetailDO unplannedreceiptJobDetailDO:subList) {
boolean isExists = false;
UnplannedreceiptJobDetailUpdateReqVO unplannedreceiptJobDetailUpdateReqVO = null;
for(UnplannedreceiptJobDetailUpdateReqVO temp:reqSubList) {
if(temp.getId().equals(unplannedreceiptJobDetailDO.getId())) {
unplannedreceiptJobDetailUpdateReqVO = temp;
isExists = true;
break;
}
}
if(isExists) {
UnplannedreceiptRecordDetailDO unplannedreceiptRecordDetailDO = new UnplannedreceiptRecordDetailDO();
BeanUtils.copyProperties(unplannedreceiptJobDetailUpdateReqVO, unplannedreceiptRecordDetailDO);
unplannedreceiptRecordDetailDO.setMasterId(String.valueOf(unplannedreceiptRecordMainDO.getId()));
unplannedreceiptRecordDetailDO.setNumber(number);
unplannedreceiptRecordDetailDO.setJobDetailId(String.valueOf(unplannedreceiptJobDetailDO.getId()));
LocationDO locationDO2 = locationService.selectLocation(unplannedreceiptJobDetailDO.getToLocationCode());
unplannedreceiptRecordDetailDO.setToLocationCode(locationDO2.getCode());
unplannedreceiptRecordDetailDO.setToAreaCode(locationDO2.getAreaCode());
unplannedreceiptRecordDetailDO.setToLocationGroupCode(locationDO2.getLocationGroupCode());
unplannedreceiptRecordDetailDO.setInventoryStatus(unplannedreceiptJobDetailDO.getInventoryStatus());
unplannedreceiptRecordDetailDO.setQty(unplannedreceiptJobDetailDO.getQty());
unplannedreceiptRecordDetailDOList.add(unplannedreceiptRecordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(unplannedreceiptJobDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(unplannedreceiptRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(unplannedreceiptRecordDetailDO.getToLocationCode());
transactionCreateReqVO.setOwnerCode(unplannedreceiptRecordDetailDO.getOwnerCode());
transactionCreateReqVO.setPackingNumber(unplannedreceiptRecordDetailDO.getPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setBatch(unplannedreceiptRecordDetailDO.getBatch());
transactionCreateReqVO.setWarehouseCode(unplannedreceiptRecordMainDO.getToWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
}
if(!unplannedreceiptRecordDetailDOList.isEmpty()) {
unplannedreceiptRecordDetailMapper.insertBatch(unplannedreceiptRecordDetailDOList);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
//移除预计入
expectinService.deleteExpectinByJobNumber(unplannedreceiptJobMainDO.getNumber());
//变更记录
trendsApi.createTrends(unplannedreceiptJobMainDO.getId(), "UnplannedReceiptJob", "执行计划外入库任务", TrendsTypeEnum.UPDATE);
return number;
}
} }

46
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainService.java

@ -3,7 +3,6 @@ package com.win.module.wms.service.unplannedreceiptRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.unplannedreceiptRequest.vo.*; import com.win.module.wms.controller.unplannedreceiptRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO;
import javax.validation.Valid; import javax.validation.Valid;
@ -79,8 +78,6 @@ public interface UnplannedreceiptRequestMainService {
*/ */
List<UnplannedreceiptRequestMainDO> getUnplannedreceiptRequestMainList(UnplannedreceiptRequestMainExportReqVO exportReqVO); List<UnplannedreceiptRequestMainDO> getUnplannedreceiptRequestMainList(UnplannedreceiptRequestMainExportReqVO exportReqVO);
/** /**
* 批量导入采计划外入库信息 * 批量导入采计划外入库信息
* @param datas 导入计划外入库主信息列表 * @param datas 导入计划外入库主信息列表
@ -88,9 +85,50 @@ public interface UnplannedreceiptRequestMainService {
* @param updatePart 是否支持更新 * @param updatePart 是否支持更新
* @return 导入结果 * @return 导入结果
*/ */
public List<UnplannedreceiptRequestMainImportErrorVO> importUnplannedreceiptRequestMainList(List<UnplannedreceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart); List<UnplannedreceiptRequestMainImportErrorVO> importUnplannedreceiptRequestMainList(List<UnplannedreceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<UnplannedreceiptRequestMainDO> getUnplannedreceiptRequestMainList1(CustomConditions conditions); List<UnplannedreceiptRequestMainDO> getUnplannedreceiptRequestMainList1(CustomConditions conditions);
/**
* 关闭计划外入库申请主
* @param id 计划外入库申请主ID
* @return 更新数量
*/
Integer closeUnplannedreceiptRequestMain(Long id);
/**
* 重新添加计划外申请主
* @param id 计划外入库申请主ID
* @return 更新数量
*/
Integer reAddUnplannedreceiptRequestMain(Long id);
/**
* 提交计划外入库申请主
* @param id 计划外入库申请主ID
* @return 更新数量
*/
Integer submitUnplannedreceiptRequestMain(Long id);
/**
* 审批拒绝计划外入库申请主
* @param id 计划外入库申请主ID
* @return 更新数量
*/
Integer abortUnplannedreceiptRequestMain(Long id);
/**
* 审批通过计划外入库申请主
* @param id 计划外入库申请主ID
* @return 更新数量
*/
Integer agreeUnplannedreceiptRequestMain(Long id);
/**
* 处理计划外入库申请主
* @param id 计划外入库申请主ID
* @return 更新数量
*/
Integer handleUnplannedreceiptRequestMain(Long id);
} }

307
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java

@ -4,47 +4,51 @@ import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.exception.ServiceException; import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO; import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainBaseVO; import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordDetailCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO; import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExportReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailUpdateReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainUpdateReqVO;
import com.win.module.wms.controller.unplannedreceiptRequest.vo.*; import com.win.module.wms.controller.unplannedreceiptRequest.vo.*;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert; import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobDetailConvert;
import com.win.module.wms.convert.transferissueRequest.TransferissueRequestDetailConvert; import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobMainConvert;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordDetailConvert;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordMainConvert;
import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert; import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert;
import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestMainConvert; import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; 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.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.location.LocationDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO;
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO;
import com.win.module.wms.dal.mysql.unplannedreceiptJob.UnplannedreceiptJobDetailMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptJob.UnplannedreceiptJobMainMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordMainMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestDetailMapper; import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestDetailMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestMainMapper; import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState; import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.businesstype.BusinesstypeService; import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.itembasic.ItembasicService; 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.location.LocationService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.requestsetting.RequestsettingService; 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 com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -54,6 +58,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; 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.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
@ -70,37 +75,151 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR
@Resource @Resource
private UnplannedreceiptRequestDetailMapper unplannedreceiptRequestDetailMapper; private UnplannedreceiptRequestDetailMapper unplannedreceiptRequestDetailMapper;
@Resource @Resource
private ShiftService shiftService;
@Resource
private ItembasicService itembasicService; private ItembasicService itembasicService;
@Resource @Resource
private SupplieritemService supplieritemService;
@Resource
private JobUtils jobUtils; private JobUtils jobUtils;
@Resource @Resource
private LocationService locationService; private LocationService locationService;
@Resource @Resource
private BusinesstypeService businesstypeService;
@Resource
private SerialNumberApi serialNumberApi; private SerialNumberApi serialNumberApi;
@Resource @Resource
private RequestsettingService requestsettingService; private RequestsettingService requestsettingService;
@Resource @Resource
private TrendsApi trendsApi; private TrendsApi trendsApi;
@Resource
private RecordsettingService recordsettingService;
@Resource
private UnplannedreceiptRecordMainMapper unplannedreceiptRecordMainMapper;
@Resource
private UnplannedreceiptRecordDetailMapper unplannedreceiptRecordDetailMapper;
@Resource
private JobsettingService jobsettingService;
@Resource
private AdminUserApi userApi;
@Resource
private UnplannedreceiptJobMainMapper unplannedreceiptJobMainMapper;
@Resource
private UnplannedreceiptJobDetailMapper unplannedreceiptJobDetailMapper;
@Resource
private ExpectinService expectinService;
@Transactional
@Override @Override
public Long createUnplannedreceiptRequestMain(UnplannedreceiptRequestMainCreateReqVO createReqVO) { public Long createUnplannedreceiptRequestMain(UnplannedreceiptRequestMainCreateReqVO createReqVO) {
// Setting——>QReqS("UnplannedReceiptRequest")
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("UnplannedReceiptRequest"); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("UnplannedReceiptRequest");
UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = validatorToCreate(createReqVO,requestsettingDO); UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = validatorToCreate(createReqVO,requestsettingDO);
//调用自动执行方法 //调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(unplannedreceiptRequestMainDO.getStatus())) { if(RequestStatusEnum.HANDLING.getCode().equals(unplannedreceiptRequestMainDO.getStatus())) {
List<UnplannedreceiptRequestDetailDO> detailDOList = unplannedreceiptRequestDetailMapper.selectList(unplannedreceiptRequestMainDO.getId());
this.generateJob(unplannedreceiptRequestMainDO,detailDOList);
} }
trendsApi.createTrends(requestsettingDO.getId(), "UnplannedReceiptRequest", "增加了计划外入库申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(requestsettingDO.getId(), "UnplannedReceiptRequest", "增加了计划外入库申请", TrendsTypeEnum.CREATE);
return unplannedreceiptRequestMainDO.getId(); return unplannedreceiptRequestMainDO.getId();
} }
private void generateJob(UnplannedreceiptRequestMainDO mainDO, List<UnplannedreceiptRequestDetailDO> detailDOList) {
//跳过任务直接生成记录
if("TRUE".equals(mainDO.getDirectCreateRecord())) {
UnplannedreceiptRecordMainCreateReqVO unplannedreceiptRecordMainCreateReqVO = new UnplannedreceiptRecordMainCreateReqVO();
BeanUtils.copyProperties(mainDO, unplannedreceiptRecordMainCreateReqVO);
unplannedreceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_RECORD.getCode());
unplannedreceiptRecordMainCreateReqVO.setNumber(number);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRecord");
unplannedreceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
unplannedreceiptRecordMainCreateReqVO.setOutTransactionType(businesstypeDO.getOutTransactionType());
unplannedreceiptRecordMainCreateReqVO.setInTransactionType(businesstypeDO.getInTransactionType());
String interFaceType = recordsettingService.selectRecordsettingExist("UnplannedReceiptRecord").getInterfaceType();
unplannedreceiptRecordMainCreateReqVO.setInterfaceType(interFaceType);
unplannedreceiptRecordMainCreateReqVO.setExecuteTime(LocalDateTime.now());
unplannedreceiptRecordMainCreateReqVO.setActiveDate(LocalDateTime.now());
unplannedreceiptRecordMainCreateReqVO.setAvailable("TRUE");
unplannedreceiptRecordMainCreateReqVO.setDueTime(mainDO.getDueTime());
unplannedreceiptRecordMainCreateReqVO.setId(null);
unplannedreceiptRecordMainCreateReqVO.setCreator(null);
unplannedreceiptRecordMainCreateReqVO.setCreateTime(null);
UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = UnplannedreceiptRecordMainConvert.INSTANCE.convert(unplannedreceiptRecordMainCreateReqVO);
unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMainDO);
for(UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO : detailDOList) {
UnplannedreceiptRecordDetailCreateReqVO unplannedreceiptRecordDetailCreateReqVO = new UnplannedreceiptRecordDetailCreateReqVO();
BeanUtils.copyProperties(unplannedreceiptRequestDetailDO, unplannedreceiptRecordDetailCreateReqVO);
unplannedreceiptRecordDetailCreateReqVO.setNumber(number);
unplannedreceiptRecordDetailCreateReqVO.setMasterId(String.valueOf(unplannedreceiptRequestDetailDO.getId()));
unplannedreceiptRecordDetailCreateReqVO.setInventoryStatus(unplannedreceiptRequestDetailDO.getInventoryStatus());
UnplannedreceiptRecordDetailDO unplannedreceiptRecordDetailDO = UnplannedreceiptRecordDetailConvert.INSTANCE.convert(unplannedreceiptRecordDetailCreateReqVO);
unplannedreceiptRecordDetailMapper.insert(unplannedreceiptRecordDetailDO);
}
return;
}
// 任务 主表数据创建
UnplannedreceiptJobMainDO unplannedreceiptJobMainDO = UnplannedreceiptJobMainConvert.INSTANCE.convert(mainDO);
BeanUtils.copyProperties(mainDO,unplannedreceiptJobMainDO);
unplannedreceiptJobMainDO.setRequestNumber(mainDO.getNumber());
// DBT——>DBT3("TransferDeliverJob")
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptJob");
unplannedreceiptJobMainDO.setBusinessType(businesstypeDO.getCode());
// Setting——>QJobS("TransferDeliverJob")
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("UnplannedReceiptJob");
String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_JOB.getCode());
unplannedreceiptJobMainDO.setNumber(number);
unplannedreceiptJobMainDO.setRequestDueTime(mainDO.getDueTime());
unplannedreceiptJobMainDO.setId(null);
unplannedreceiptJobMainDO.setCreateTime(null);
unplannedreceiptJobMainDO.setCreator(userApi.getUser(getLoginUserId()).getId().toString());
unplannedreceiptJobMainDO.setUpdateTime(null);
unplannedreceiptJobMainDO.setUpdater(null);
unplannedreceiptJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
unplannedreceiptJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation());
unplannedreceiptJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty());
unplannedreceiptJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty());
unplannedreceiptJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty());
unplannedreceiptJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus());
unplannedreceiptJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning());
unplannedreceiptJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete());
unplannedreceiptJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber());
unplannedreceiptJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach());
unplannedreceiptJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
unplannedreceiptJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());//入库库存状态范围
unplannedreceiptJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());//出库库存状态范围
unplannedreceiptJobMainMapper.insert(unplannedreceiptJobMainDO);
// 任务 子表数据创建
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
List<UnplannedreceiptJobDetailDO> unplannedreceiptJobDetailDOList = new ArrayList<>();
for(UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO:detailDOList){
UnplannedreceiptJobDetailDO unplannedreceiptJobDetailDO = UnplannedreceiptJobDetailConvert.INSTANCE.convert(unplannedreceiptRequestDetailDO);
BeanUtils.copyProperties(unplannedreceiptRequestDetailDO, unplannedreceiptJobDetailDO);
unplannedreceiptJobDetailDO.setId(null);
unplannedreceiptJobDetailDO.setCreator(userApi.getUser(getLoginUserId()).getId().toString());
unplannedreceiptJobDetailDO.setCreateTime(null);
unplannedreceiptJobDetailDO.setUpdater(null);
unplannedreceiptJobDetailDO.setUpdateTime(null);
unplannedreceiptJobDetailDO.setMasterId(unplannedreceiptJobMainDO.getId());
unplannedreceiptJobDetailDO.setNumber(number);
unplannedreceiptJobDetailDOList.add(unplannedreceiptJobDetailDO);
//预计出
ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO();
BeanUtils.copyProperties(unplannedreceiptJobDetailDO, expectinCreateReqVO);
expectinCreateReqVO.setJobNumber(number);
expectinCreateReqVO.setBusinessType(unplannedreceiptJobMainDO.getBusinessType());
expectinCreateReqVO.setLocationCode(unplannedreceiptJobDetailDO.getToLocationCode());
expectinCreateReqVO.setOwnerCode(unplannedreceiptJobDetailDO.getOwnerCode());
expectinCreateReqVO.setQty(unplannedreceiptJobDetailDO.getQty());
expectinCreateReqVOList.add(expectinCreateReqVO);
}
unplannedreceiptJobDetailMapper.insertBatch(unplannedreceiptJobDetailDOList);
//增加预计入
expectinService.createExpectin(expectinCreateReqVOList);
trendsApi.createTrends(unplannedreceiptJobMainDO.getId(), "UnplannedReceiptJob", "计划外入库申请生成计划外入库任务", TrendsTypeEnum.CREATE);
}
private UnplannedreceiptRequestMainDO validatorToCreate(UnplannedreceiptRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { private UnplannedreceiptRequestMainDO validatorToCreate(UnplannedreceiptRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) {
// DBT——>DBT3("UnplannedReceiptRequest")
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRequest");
UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
List<UnplannedreceiptRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<UnplannedreceiptRequestDetailCreateReqVO> subList = createReqVO.getSubList();
@ -108,8 +227,10 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR
for (UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO : subDOList) { for (UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO : subDOList) {
validateDetailMethod(unplannedreceiptRequestDetailDO, businesstypeDO,unplannedreceiptRequestMainDO); validateDetailMethod(unplannedreceiptRequestDetailDO, businesstypeDO,unplannedreceiptRequestMainDO);
} }
String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_REQUEST.getCode());
unplannedreceiptRequestMainDO.setNumber(number); unplannedreceiptRequestMainDO.setNumber(number);
unplannedreceiptRequestMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());// 入库库存状态范围
unplannedreceiptRequestMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); // 出库库存状态范围
unplannedreceiptRequestMainMapper.insert(unplannedreceiptRequestMainDO); unplannedreceiptRequestMainMapper.insert(unplannedreceiptRequestMainDO);
for(UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO: subDOList){ for(UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO: subDOList){
unplannedreceiptRequestDetailDO.setMasterId(unplannedreceiptRequestMainDO.getId()); unplannedreceiptRequestDetailDO.setMasterId(unplannedreceiptRequestMainDO.getId());
@ -120,20 +241,26 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR
} }
private void validateDetailMethod(UnplannedreceiptRequestDetailDO detailDo, BusinesstypeDO businesstypeDO, UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO) { private void validateDetailMethod(UnplannedreceiptRequestDetailDO detailDo, BusinesstypeDO businesstypeDO, UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO) {
detailDo.setCreateTime(LocalDateTime.now()); // BQ——>QL
LocationDO toLocationDO = validatorLocation(detailDo.getToLocationCode());
if(toLocationDO == null){
throw exception(UNPLANNEDRECEIPT_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS, detailDo.getToLocationCode());
}
// BQ——>QI
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2()); detailDo.setItemDesc2(itembasicDO.getDesc2());
detailDo.setItemName(itembasicDO.getName()); detailDo.setItemName(itembasicDO.getName());
detailDo.setProjectCode(itembasicDO.getProject());
detailDo.setUom(itembasicDO.getUom()); detailDo.setUom(itembasicDO.getUom());
detailDo.setProjectCode(itembasicDO.getProject());
// DBT——>DBT2——>LO
jobUtils.ifInToLocationType(detailDo.getToLocationCode(), businesstypeDO); jobUtils.ifInToLocationType(detailDo.getToLocationCode(), businesstypeDO);
// DBT——>DBT2——>SO
jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO);
detailDo.setCreateTime(LocalDateTime.now());
} }
private UnplannedreceiptRequestMainDO validateMainMethod(UnplannedreceiptRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ private UnplannedreceiptRequestMainDO validateMainMethod(UnplannedreceiptRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){
UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = UnplannedreceiptRequestMainConvert.INSTANCE.convert(baseVO); UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = UnplannedreceiptRequestMainConvert.INSTANCE.convert(baseVO);
unplannedreceiptRequestMainDO.setRequestTime(LocalDateTime.now()); unplannedreceiptRequestMainDO.setRequestTime(LocalDateTime.now());
@ -155,9 +282,10 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR
// 更新 // 更新
UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO);
if(RequestStatusEnum.HANDLING.getCode().equals(unplannedreceiptRequestMainDO.getStatus())) { if(RequestStatusEnum.HANDLING.getCode().equals(unplannedreceiptRequestMainDO.getStatus())) {
List<UnplannedreceiptRequestDetailDO> detailDOList = unplannedreceiptRequestDetailMapper.selectList(unplannedreceiptRequestMainDO.getId());
this.generateJob(unplannedreceiptRequestMainDO,detailDOList);
} }
trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了计划外入库申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(requestsettingDO.getId(), "UnplannedReceiptRequest", "增加了计划外入库申请", TrendsTypeEnum.CREATE);
} }
private UnplannedreceiptRequestMainDO validatorToUpdate(UnplannedreceiptRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { private UnplannedreceiptRequestMainDO validatorToUpdate(UnplannedreceiptRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) {
@ -189,10 +317,12 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR
unplannedreceiptRequestMainMapper.deleteById(id); unplannedreceiptRequestMainMapper.deleteById(id);
} }
private void validateUnplannedreceiptRequestMainExists(Long id) { private UnplannedreceiptRequestMainDO validateUnplannedreceiptRequestMainExists(Long id) {
if (unplannedreceiptRequestMainMapper.selectById(id) == null) { UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = unplannedreceiptRequestMainMapper.selectById(id);
if (unplannedreceiptRequestMainDO == null) {
throw exception(UNPLANNEDRECEIPT_REQUEST_MAIN_NOT_EXISTS); throw exception(UNPLANNEDRECEIPT_REQUEST_MAIN_NOT_EXISTS);
} }
return unplannedreceiptRequestMainDO;
} }
@Override @Override
@ -287,8 +417,115 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR
return unplannedreceiptRequestMainMapper.selectSeniorList(conditions); return unplannedreceiptRequestMainMapper.selectSeniorList(conditions);
} }
@Transactional
@Override
public Integer closeUnplannedreceiptRequestMain(Long id) {
// 校验存在存在下级单据
UnplannedreceiptRequestMainDO mainDO = this.validateUnplannedreceiptRequestMainExists(id);
Long count = unplannedreceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(UNPLANNEDRECEIPT_JOB_MAIN_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "UnplannedReceiptRequest", "关闭了计划外入库申请", TrendsTypeEnum.UPDATE);
return unplannedreceiptRequestMainMapper.updateById(mainDO);
}
@Transactional
@Override
public Integer reAddUnplannedreceiptRequestMain(Long id) {
// 校验存在存在下级单据
UnplannedreceiptRequestMainDO mainDO = this.validateUnplannedreceiptRequestMainExists(id);
Long count = unplannedreceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(UNPLANNEDRECEIPT_JOB_MAIN_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reAdd();
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_REQUEST_CANNOT_RE_ADD);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "UnplannedReceiptRequest", "打开了计划外入库申请", TrendsTypeEnum.UPDATE);
return unplannedreceiptRequestMainMapper.updateById(mainDO);
}
@Transactional
@Override
public Integer submitUnplannedreceiptRequestMain(Long id) {
UnplannedreceiptRequestMainDO mainDO = this.validateUnplannedreceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
List<UnplannedreceiptRequestDetailDO> detailDOList = unplannedreceiptRequestDetailMapper.selectList(mainDO.getId());
this.generateJob(mainDO,detailDOList);
}
trendsApi.createTrends(id, "UnplannedReceiptRequest", "提交了计划外入库申请", TrendsTypeEnum.UPDATE);
return unplannedreceiptRequestMainMapper.updateById(mainDO);
}
@Transactional
@Override
public Integer abortUnplannedreceiptRequestMain(Long id) {
// 校验存在
UnplannedreceiptRequestMainDO mainDO = this.validateUnplannedreceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.refused();
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "UnplannedReceiptRequest", "审批拒绝了计划外入库申请", TrendsTypeEnum.UPDATE);
return unplannedreceiptRequestMainMapper.updateById(mainDO);
}
@Transactional
@Override
public Integer agreeUnplannedreceiptRequestMain(Long id) {
// 校验存在
UnplannedreceiptRequestMainDO mainDO = this.validateUnplannedreceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoAgree());
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
List<UnplannedreceiptRequestDetailDO> detailDOList = unplannedreceiptRequestDetailMapper.selectList(mainDO.getId());
this.generateJob(mainDO,detailDOList);
}
trendsApi.createTrends(id, "UnplannedReceiptRequest", "审批同意了计划外入库申请", TrendsTypeEnum.UPDATE);
return unplannedreceiptRequestMainMapper.updateById(mainDO);
}
@Transactional
@Override
public Integer handleUnplannedreceiptRequestMain(Long id) {
// 校验存在
UnplannedreceiptRequestMainDO mainDO = this.validateUnplannedreceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(UNPLANNEDRECEIPT_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
List<UnplannedreceiptRequestDetailDO> detailDOList = unplannedreceiptRequestDetailMapper.selectList(mainDO.getId());
this.generateJob(mainDO,detailDOList);
trendsApi.createTrends(id, "UnplannedReceiptRequest", "执行了计划外入库申请", TrendsTypeEnum.UPDATE);
return unplannedreceiptRequestMainMapper.updateById(mainDO);
}
public List<UnplannedreceiptRequestMainImportErrorVO> importUnplannedreceiptRequestMainList(List<UnplannedreceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<UnplannedreceiptRequestMainImportErrorVO> importUnplannedreceiptRequestMainList(List<UnplannedreceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {

Loading…
Cancel
Save