Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
6ab996d79f
  1. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java
  2. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerMainRespVO.java
  3. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java
  4. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationRecommendVO.java
  5. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java
  6. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailbBaseVO.java
  7. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainBaseVO.java
  8. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestDetailBaseVO.java
  9. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainBaseVO.java
  10. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailBaseVO.java
  11. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainBaseVO.java
  12. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java
  13. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestDetailBaseVO.java
  14. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestMainBaseVO.java
  15. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobMainBaseVO.java
  16. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestDetailBaseVO.java
  17. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainBaseVO.java
  18. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/vo/TransferreceiptJobMainBaseVO.java
  19. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestDetailBaseVO.java
  20. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java
  21. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/vo/UnplannedissueJobMainBaseVO.java
  22. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/UnplannedissueRecordMainController.java
  23. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailBaseVO.java
  24. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailCreateReqVO.java
  25. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRequest/vo/UnplannedissueRequestMainBaseVO.java
  26. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptJob/vo/UnplannedreceiptJobMainBaseVO.java
  27. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java
  28. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailBaseVO.java
  29. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailCreateReqVO.java
  30. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainBaseVO.java
  31. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestDetailBaseVO.java
  32. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRequest/vo/UnplannedreceiptRequestMainBaseVO.java
  33. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java
  34. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java
  35. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestMainDO.java
  36. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/ProductscrapRequestDetailDO.java
  37. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/ProductscrapRequestMainDO.java
  38. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/RawscrapRequestDetailDO.java
  39. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapJob/ScrapJobMainDO.java
  40. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestDetailDO.java
  41. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestMainDO.java
  42. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferissueJob/TransferissueJobMainDO.java
  43. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferissueRequest/TransferissueRequestDetailDO.java
  44. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferissueRequest/TransferissueRequestMainDO.java
  45. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferreceiptJob/TransferreceiptJobMainDO.java
  46. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferreceiptRequest/TransferreceiptRequestDetailDO.java
  47. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferreceiptRequest/TransferreceiptRequestMainDO.java
  48. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedissueJob/UnplannedissueJobMainDO.java
  49. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedissueRequest/UnplannedissueRequestMainDO.java
  50. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptJob/UnplannedreceiptJobMainDO.java
  51. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRequest/UnplannedreceiptRequestDetailDO.java
  52. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRequest/UnplannedreceiptRequestMainDO.java
  53. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java
  54. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java
  55. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java
  56. 47
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java
  57. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java
  58. 52
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java
  59. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java
  60. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java
  61. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java
  62. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java
  63. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainService.java
  64. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java
  65. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainService.java
  66. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java

@ -4,6 +4,13 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.container.vo.*;
import com.win.module.wms.controller.transferissueJob.vo.TransferissueJobDetailExportReqVO;
import com.win.module.wms.controller.transferissueJob.vo.TransferissueJobDetailRespVO;
import com.win.module.wms.controller.transferissueJob.vo.TransferissueJobMainRespVO;
import com.win.module.wms.convert.transferissueJob.TransferissueJobDetailConvert;
import com.win.module.wms.convert.transferissueJob.TransferissueJobMainConvert;
import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobDetailDO;
import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -122,4 +129,13 @@ public class ContainerMainController {
ExcelUtils.write(response, "器具主.xls", "数据", ContainerMainExcelVO.class, datas);
}
@GetMapping("/getContainerByNumber")
@Operation(summary = "APP获得器具主子表明细列表")
@Parameter(name = "number", description = "编号", required = true, example = "T0011979")
@PreAuthorize("@ss.hasPermission('wms:container-job-main:query')")
public CommonResult<ContainerMainRespVO> getContainerByNumber(@RequestParam("number") String number) {
ContainerMainRespVO containerMainRespVO = containerMainService.getContainerByNumber(number);
return success(containerMainRespVO);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerMainRespVO.java

@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 器具主 Response VO")
@Data
@ -16,5 +17,7 @@ public class ContainerMainRespVO extends ContainerMainBaseVO {
@Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String creator;
@Schema(description = "子表列表数据")
private List<ContainerDetailRespVO> subList;
}

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java

@ -210,13 +210,12 @@ public class LocationController {
}
@PermitAll
@GetMapping("/inspectLocation")
@Operation(summary = "推荐库位(测试用)")
@PreAuthorize("@ss.hasPermission('wms:location:inspectLocation')")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<LocationDO> inspectLocation(@RequestParam("supplierCode") String supplierCode,@RequestParam("itemCode") String itemCode, @RequestParam("batch") String batch, @RequestParam("batch") String inventoryStatus) {
RuleRespVO ruleRespVO = ruleService.grounding(supplierCode, null, itemCode, inventoryStatus, null, null, null, null, null);
return success(locationService.inspectLocation(ruleRespVO, itemCode, batch, inventoryStatus));
@PostMapping("/recommendLocation")
@Operation(summary = "推荐库位")
@PreAuthorize("@ss.hasPermission('wms:location:recommendLocation')")
public CommonResult<LocationDO> inspectLocation(@Valid @RequestBody LocationRecommendVO recommendVO) {
RuleRespVO ruleRespVO = ruleService.grounding(recommendVO.getSupplierCode(), null, recommendVO.getItemCode(), recommendVO.getInventoryStatus(), null, null, null, null, null);
return success(locationService.recommendLocation(ruleRespVO, recommendVO.getItemCode(), recommendVO.getItemCode(), recommendVO.getItemCode()));
}
@PostMapping("/validate")

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationRecommendVO.java

@ -0,0 +1,24 @@
package com.win.module.wms.controller.location.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Schema(description = "APP直接上架校验库位和item")
@Data
public class LocationRecommendVO {
@Schema(description = "物品代码")
@NotBlank(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "供应商代码")
private String supplierCode;
@Schema(description = "批次")
private String batch;
@Schema(description = "库存状态")
private String inventoryStatus;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java

@ -103,4 +103,6 @@ public class ProductrepairRequestDetailaBaseVO {
@Schema(description = "成品库位代码")
private String fgFromLocationCode;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailbBaseVO.java

@ -78,4 +78,7 @@ public class ProductrepairRequestDetailbBaseVO {
@Schema(description = "数量")
private BigDecimal qty;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainBaseVO.java

@ -89,4 +89,7 @@ public class ProductrepairRequestMainBaseVO {
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
private String directCreateRecord;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestDetailBaseVO.java

@ -95,4 +95,7 @@ public class ProductscrapRequestDetailBaseVO {
@Schema(description = "主键ID")
private Long masterId;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainBaseVO.java

@ -97,4 +97,7 @@ public class ProductscrapRequestMainBaseVO {
@Schema(description = "主键ID")
private Long masterId;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailBaseVO.java

@ -65,4 +65,5 @@ public class RawscrapRequestDetailBaseVO {
@Schema(description = "数量")
private BigDecimal qty;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapJob/vo/ScrapJobMainBaseVO.java

@ -134,4 +134,7 @@ public class ScrapJobMainBaseVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java

@ -43,7 +43,7 @@ public class ScrapRecordMainController {
@PostMapping("/create")
@Operation(summary = "创建报废出库记录主")
@PreAuthorize("@ss.hasPermission('wms:scrap-record-main:create')")
public CommonResult<Long> createScrapRecordMain(@Valid @RequestBody ScrapRecordMainCreateReqVO createReqVO) {
public CommonResult<String> createScrapRecordMain(@Valid @RequestBody ScrapRecordMainCreateReqVO createReqVO) {
return success(scrapRecordMainService.createScrapRecordMain(createReqVO));
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestDetailBaseVO.java

@ -86,6 +86,7 @@ public class ScrapRequestDetailBaseVO {
@Schema(description = "master_id", example = "master_id")
private Long masterId;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRequest/vo/ScrapRequestMainBaseVO.java

@ -82,4 +82,6 @@ public class ScrapRequestMainBaseVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueJob/vo/TransferissueJobMainBaseVO.java

@ -155,4 +155,7 @@ public class TransferissueJobMainBaseVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestDetailBaseVO.java

@ -92,4 +92,7 @@ public class TransferissueRequestDetailBaseVO {
@NotNull(message = "来源库位不能为空")
private String fromLocationCode;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRequest/vo/TransferissueRequestMainBaseVO.java

@ -107,4 +107,6 @@ public class TransferissueRequestMainBaseVO {
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptJob/vo/TransferreceiptJobMainBaseVO.java

@ -156,4 +156,7 @@ public class TransferreceiptJobMainBaseVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestDetailBaseVO.java

@ -96,4 +96,7 @@ public class TransferreceiptRequestDetailBaseVO {
@Schema(description = "到包装号")
private String toPackingNumber;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java

@ -113,4 +113,7 @@ public class TransferreceiptRequestMainBaseVO {
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueJob/vo/UnplannedissueJobMainBaseVO.java

@ -136,4 +136,7 @@ public class UnplannedissueJobMainBaseVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/UnplannedissueRecordMainController.java

@ -43,7 +43,7 @@ public class UnplannedissueRecordMainController {
@PostMapping("/create")
@Operation(summary = "创建计划外出库记录主")
@PreAuthorize("@ss.hasPermission('wms:unplannedissue-record-main:create')")
public CommonResult<Long> createUnplannedissueRecordMain(@Valid @RequestBody UnplannedissueRecordMainCreateReqVO createReqVO) {
public CommonResult<String> createUnplannedissueRecordMain(@Valid @RequestBody UnplannedissueRecordMainCreateReqVO createReqVO) {
return success(unplannedissueRecordMainService.createUnplannedissueRecordMain(createReqVO));
}

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailBaseVO.java

@ -26,18 +26,15 @@ public class UnplannedissueRecordDetailBaseVO {
private String ownerCode;
@Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "包装号不能为空")
private String packingNumber;
@Schema(description = "器具号")
private String containerNumber;
@Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "批次不能为空")
private String batch;
@Schema(description = "从库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位代码不能为空")
private String fromLocationCode;
@Schema(description = "从库位组代码")
@ -47,7 +44,6 @@ public class UnplannedissueRecordDetailBaseVO {
private String fromAreaCode;
@Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库存状态不能为空")
private String inventoryStatus;
@Schema(description = "原因")
@ -87,19 +83,16 @@ public class UnplannedissueRecordDetailBaseVO {
private String number;
@Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime;
@Schema(description = "创建者Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建者Id不能为空")
private String creator;
@Schema(description = "任务明细ID")

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailCreateReqVO.java

@ -9,4 +9,23 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class UnplannedissueRecordDetailCreateReqVO extends UnplannedissueRecordDetailBaseVO {
@Schema(description = "到包装号")
private String toPackingNumber;
@Schema(description = "到批次")
private String toBatch;
@Schema(description = "到库位代码")
private String toLocationCode;
@Schema(description = "从包装号")
private String fromPackingNumber;
@Schema(description = "从批次")
private String fromBatch;
@Schema(description = "从库位代码")
private String fromLocationCode;
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRequest/vo/UnplannedissueRequestMainBaseVO.java

@ -52,7 +52,6 @@ public class UnplannedissueRequestMainBaseVO {
private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
// @NotNull(message = "部门不能为空")
private String departmentCode;
@Schema(description = "状态")
@ -75,19 +74,16 @@ public class UnplannedissueRequestMainBaseVO {
private String fromAreaCodes;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
// @NotNull(message = "自动提交不能为空")
private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
// @NotNull(message = "自动通过不能为空")
private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
// @NotNull(message = "自动执行不能为空")
private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
// @NotNull(message = "直接生成记录不能为空")
private String directCreateRecord;
}

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

@ -136,4 +136,7 @@ public class UnplannedreceiptJobMainBaseVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

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

@ -43,7 +43,7 @@ public class UnplannedreceiptRecordMainController {
@PostMapping("/create")
@Operation(summary = "创建计划外入库记录主")
@PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-record-main:create')")
public CommonResult<Long> createUnplannedreceiptRecordMain(@Valid @RequestBody UnplannedreceiptRecordMainCreateReqVO createReqVO) {
public CommonResult<String> createUnplannedreceiptRecordMain(@Valid @RequestBody UnplannedreceiptRecordMainCreateReqVO createReqVO) {
return success(unplannedreceiptRecordMainService.createUnplannedreceiptRecordMain(createReqVO));
}

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

@ -1,15 +1,11 @@
package com.win.module.wms.controller.unplannedreceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
@ -26,36 +22,30 @@ public class UnplannedreceiptRecordDetailBaseVO {
private String ownerCode;
@Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "包装号不能为空")
private String packingNumber;
@Schema(description = "器具号")
private String containerNumber;
@Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "批次不能为空")
private String batch;
@Schema(description = "替代批次")
private String altBatch;
@Schema(description = "到货日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到货日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime arriveDate;
@Schema(description = "生产日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "生产日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime produceDate;
@Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "过期日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime expireDate;
@Schema(description = "到库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库位代码不能为空")
private String toLocationCode;
@Schema(description = "到库位组代码")
@ -65,7 +55,6 @@ public class UnplannedreceiptRecordDetailBaseVO {
private String toAreaCode;
@Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库存状态不能为空")
private String inventoryStatus;
@Schema(description = "原因")

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailCreateReqVO.java

@ -9,4 +9,21 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class UnplannedreceiptRecordDetailCreateReqVO extends UnplannedreceiptRecordDetailBaseVO {
@Schema(description = "到包装号")
private String toPackingNumber;
@Schema(description = "到批次")
private String toBatch;
@Schema(description = "到库位代码")
private String toLocationCode;
@Schema(description = "从包装号")
private String fromPackingNumber;
@Schema(description = "从批次")
private String fromBatch;
@Schema(description = "从库位代码")
private String fromLocationCode;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainBaseVO.java

@ -24,7 +24,6 @@ public class UnplannedreceiptRecordMainBaseVO {
private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "任务单号")

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

@ -104,4 +104,7 @@ public class UnplannedreceiptRequestDetailBaseVO {
@Schema(description = "master_id", example = "master_id")
private Long masterId;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

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

@ -83,4 +83,7 @@ public class UnplannedreceiptRequestMainBaseVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "乐观锁")
private Integer concurrencyStamp;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java

@ -118,6 +118,7 @@ public class ProductrepairRequestDetailaDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java

@ -3,6 +3,7 @@ package com.win.module.wms.dal.dataobject.productrepairRequest;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
@ -89,6 +90,7 @@ public class ProductrepairRequestDetailbDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 数量

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestMainDO.java

@ -89,6 +89,7 @@ public class ProductrepairRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/ProductscrapRequestDetailDO.java

@ -114,6 +114,7 @@ public class ProductscrapRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 生产线代码

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/ProductscrapRequestMainDO.java

@ -80,6 +80,7 @@ public class ProductscrapRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/RawscrapRequestDetailDO.java

@ -2,6 +2,7 @@ package com.win.module.wms.dal.dataobject.productscrapRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
@ -85,6 +86,7 @@ public class RawscrapRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 数量

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapJob/ScrapJobMainDO.java

@ -64,6 +64,7 @@ public class ScrapJobMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 状态

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestDetailDO.java

@ -108,6 +108,7 @@ public class ScrapRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/scrapRequest/ScrapRequestMainDO.java

@ -77,6 +77,7 @@ public class ScrapRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferissueJob/TransferissueJobMainDO.java

@ -108,6 +108,7 @@ public class TransferissueJobMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 状态

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferissueRequest/TransferissueRequestDetailDO.java

@ -102,6 +102,7 @@ public class TransferissueRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 从货主代码

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferissueRequest/TransferissueRequestMainDO.java

@ -89,6 +89,7 @@ public class TransferissueRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferreceiptJob/TransferreceiptJobMainDO.java

@ -88,6 +88,7 @@ public class TransferreceiptJobMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 状态

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferreceiptRequest/TransferreceiptRequestDetailDO.java

@ -102,6 +102,7 @@ public class TransferreceiptRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 到货主代码

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transferreceiptRequest/TransferreceiptRequestMainDO.java

@ -89,6 +89,7 @@ public class TransferreceiptRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedissueJob/UnplannedissueJobMainDO.java

@ -64,6 +64,7 @@ public class UnplannedissueJobMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 状态

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

@ -77,6 +77,7 @@ public class UnplannedissueRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

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

@ -64,6 +64,7 @@ public class UnplannedreceiptJobMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 状态

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/unplannedreceiptRequest/UnplannedreceiptRequestDetailDO.java

@ -122,6 +122,7 @@ public class UnplannedreceiptRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
}

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

@ -77,6 +77,7 @@ public class UnplannedreceiptRequestMainDO extends BaseDO {
/**
* 并发乐观锁
*/
@Version
private String concurrencyStamp;
/**
* 权限所属人员id

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java

@ -4,10 +4,7 @@ import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.container.vo.ContainerMainCreateReqVO;
import com.win.module.wms.controller.container.vo.ContainerMainExportReqVO;
import com.win.module.wms.controller.container.vo.ContainerMainPageReqVO;
import com.win.module.wms.controller.container.vo.ContainerMainUpdateReqVO;
import com.win.module.wms.controller.container.vo.*;
import com.win.module.wms.dal.dataobject.container.ContainerMainDO;
import com.win.framework.common.pojo.PageResult;
@ -80,4 +77,10 @@ public interface ContainerMainService {
*/
List<ContainerMainDO> getContainerMainList(ContainerMainExportReqVO exportReqVO);
/**
* 根据number获取数据
* @param number 号码
* @return
*/
ContainerMainRespVO getContainerByNumber(String number);
}

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java

@ -1,10 +1,11 @@
package com.win.module.wms.service.container;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.container.vo.ContainerMainCreateReqVO;
import com.win.module.wms.controller.container.vo.ContainerMainExportReqVO;
import com.win.module.wms.controller.container.vo.ContainerMainPageReqVO;
import com.win.module.wms.controller.container.vo.ContainerMainUpdateReqVO;
import com.win.module.wms.controller.container.vo.*;
import com.win.module.wms.convert.container.ContainerDetailConvert;
import com.win.module.wms.dal.dataobject.container.ContainerDetailDO;
import com.win.module.wms.dal.mysql.container.ContainerDetailMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -32,6 +33,9 @@ public class ContainerMainServiceImpl implements ContainerMainService {
@Resource
private ContainerMainMapper containerMainMapper;
@Resource
private ContainerDetailMapper containerDetailMapper;
@Override
public String createContainerMain(ContainerMainCreateReqVO createReqVO) {
// 插入
@ -87,4 +91,26 @@ public class ContainerMainServiceImpl implements ContainerMainService {
return containerMainMapper.selectList(exportReqVO);
}
@Override
public ContainerMainRespVO getContainerByNumber(String number) {
// 查询主表
LambdaQueryWrapper<ContainerMainDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ContainerMainDO::getNumber,number);
ContainerMainDO containerMainDO = containerMainMapper.selectOne(lambdaQueryWrapper);
ContainerMainRespVO containerMainRespVO = ContainerMainConvert.INSTANCE.convert(containerMainDO);
// 查询子表
LambdaQueryWrapper<ContainerDetailDO> lambdaQueryWrapperDetail = new LambdaQueryWrapper<>();
lambdaQueryWrapperDetail.eq(ContainerDetailDO::getContentNumber,number);
List<ContainerDetailDO> list = containerDetailMapper.selectList(lambdaQueryWrapperDetail);
List<ContainerDetailRespVO> subList = new ArrayList<>();
for(ContainerDetailDO containerDetailDO:list){
ContainerDetailRespVO containerDetailRespVO = ContainerDetailConvert.INSTANCE.convert(containerDetailDO);
subList.add(containerDetailRespVO);
}
// 主子绑定
containerMainRespVO.setSubList(subList);
return containerMainRespVO;
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java

@ -98,7 +98,7 @@ public interface LocationService {
* @param inventoryStatus 状态
* @return
*/
LocationDO inspectLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus);
LocationDO recommendLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus);
/**
* 获取总库位数

47
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java

@ -314,7 +314,7 @@ public class LocationServiceImpl implements LocationService {
}
@Override
public LocationDO inspectLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus) {
public LocationDO recommendLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus) {
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
String locationCode = jsonObject.getStr("LocationCode");
//设置了库位直接返回
@ -414,12 +414,44 @@ public class LocationServiceImpl implements LocationService {
public List<Map<String, Object>> validateLocationAndItem(List<LocationValidateVO> locationValidateVOList) {
List<Map<String, Object>> result = new ArrayList<>();
for(LocationValidateVO locationValidateVO : locationValidateVOList) {
LocationDO locationDO = locationMapper.selectByCode(locationValidateVO.getLocationCode());
List<RuleRespVO> ruleRespVOList = ruleService.getGroundingList(locationValidateVO.getItemCode(), locationValidateVO.getInventoryStatus());
boolean validateResult = false;
String msg = "";
for(RuleRespVO ruleRespVO : ruleRespVOList) {
if(ruleRespVOList.size() == 1) {
validateResult = true;
} else {
for (RuleRespVO ruleRespVO : ruleRespVOList) {
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
//增加过滤条件
QueryWrapper<LocationDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("available", "TRUE");
queryWrapper.eq("`code`", locationValidateVO.getLocationCode());
List<String> locationTypeList = new ArrayList<>();
locationTypeList.add("RAW");
locationTypeList.add("SEMI");
locationTypeList.add("FG");
queryWrapper.in("`type`", locationTypeList);
String warehouseCode = jsonObject.getStr("WarehouseCode");
if (!"".equals(warehouseCode)) {
queryWrapper.eq("warehouse_code", warehouseCode);
}
String areaCode = jsonObject.getStr("AreaCode");
if (!"".equals(areaCode)) {
queryWrapper.eq("area_code", areaCode);
}
String locationGroupCode = jsonObject.getStr("LocationGroupCode");
if (!"".equals(locationGroupCode)) {
queryWrapper.eq("location_group_code", locationGroupCode);
}
String locationCode = jsonObject.getStr("LocationCode");
if (!"".equals(locationCode)) {
queryWrapper.eq("`code`", locationCode);
}
LocationDO locationDO = locationMapper.selectOne(queryWrapper);
//查询不到库位
if (locationDO == null) {
continue;
}
String enableMixItem = jsonObject.getStr("EnableMixItem");
String enableMixLot = jsonObject.getStr("EnableMixLot");
String enableMixStatus = jsonObject.getStr("EnableMixStatus");
@ -433,26 +465,27 @@ public class LocationServiceImpl implements LocationService {
}
if ("TRUE".equals(enableMixLot) && !locationValidateVO.getBatch().equals(balanceDO.getBatch())) {
flag2 = false;
if(!msg.contains("不能混批次;")) {
if (!msg.contains("不能混批次;")) {
msg = msg + "不能混批次;";
}
}
if ("TRUE".equals(enableMixStatus) && !locationValidateVO.getInventoryStatus().equals(balanceDO.getInventoryStatus())) {
flag2 = false;
if(!msg.contains("不能混状态;")) {
if (!msg.contains("不能混状态;")) {
msg = msg + "不能混状态;";
}
}
if(flag2) {
if (flag2) {
flag1 = true;
}
}
if(flag1) {
if (flag1) {
validateResult = true;
msg = "";
break;
}
}
}
Map<String, Object> map = new HashMap<>();
map.put("itemCode", locationValidateVO.getItemCode());
map.put("batch", locationValidateVO.getBatch());

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java

@ -6,7 +6,6 @@ import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
@ -41,7 +40,6 @@ import com.win.module.wms.dal.mysql.productionreturnRecord.ProductionreturnRecor
import com.win.module.wms.dal.mysql.productionreturnRecord.ProductionreturnRecordMainMapper;
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestDetailMapper;
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestMainMapper;
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.RequestStatusState;
@ -682,7 +680,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
productionreturnRecordDetailDO.setFromLocationCode(item.getFromLocationCode());
// 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null, productionreturnRecordDetailDO.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, productionreturnRecordDetailDO.getItemCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus());
LocationDO locationDO = locationService.recommendLocation(ruleRespVO, productionreturnRecordDetailDO.getItemCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus());
productionreturnRecordDetailDO.setToLocationCode(locationDO.getCode());
// 获取库位信息 并赋值
LocationDO locationDOFrom = locationService.selectLocation(item.getFromLocationCode());
@ -799,7 +797,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
productionreturnJobDetailDO.setNumber(number);
// 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null, item.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, item.getItemCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus());
LocationDO locationDO = locationService.recommendLocation(ruleRespVO, item.getItemCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus());
productionreturnJobDetailDO.setToLocationCode(locationDO.getCode());
// 判断合格 不合格
if (!mainDO.getBusinessType().equals("ReturnToStore")) {

52
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java

@ -1,71 +1,53 @@
package com.win.module.wms.service.productputawayRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.util.StrUtil;
import com.google.common.annotations.VisibleForTesting;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.productreceiptRequest.vo.ProductreceiptRequestMainBaseVO;
import com.win.module.wms.controller.productreceiptRequest.vo.ProductreceiptRequestMainCreateReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestImportErrorVO;
import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.convert.productreceiptRequest.ProductreceiptRequestMainConvert;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestDetailConvert;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
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.productputawayJob.ProductputawayJobDetailDO;
import com.win.module.wms.dal.dataobject.productputawayJob.ProductputawayJobMainDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.productputawayJob.ProductputawayJobDetailMapper;
import com.win.module.wms.dal.mysql.productputawayJob.ProductputawayJobMainMapper;
import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestDetailMapper;
import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
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.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.service.businesstype.*;
import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import com.win.module.wms.convert.productputawayRequest.*;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.math.BigDecimal;
@ -74,12 +56,10 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import com.win.module.wms.service.location.*;
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 com.win.module.wms.service.recordsetting.*;
import com.win.module.wms.service.itembasic.*;
/**
* 制品上架申请主 Service 实现类
@ -619,7 +599,7 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
BeanUtils.copyProperties(productputawayRequestDetailDO,productputawayJobDetailDO);
// 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null, productputawayJobDetailDO.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, productputawayJobDetailDO.getItemCode(), productputawayJobDetailDO.getBatch(), productputawayJobDetailDO.getInventoryStatus());
LocationDO locationDO = locationService.recommendLocation(ruleRespVO, productputawayJobDetailDO.getItemCode(), productputawayJobDetailDO.getBatch(), productputawayJobDetailDO.getInventoryStatus());
productputawayJobDetailDO.setToLocationCode(locationDO.getCode());
productputawayJobDetailDO.setNumber(productputawayJobMainDO.getNumber());
productputawayJobDetailDO.setMasterId(productputawayJobMainDO.getId());

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java

@ -366,7 +366,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) {
PutawayJobDetailDO putawayJobDetailDO = PutawayJobDetailConvert.INSTANCE.convert(putawayRequestDetailDO);
RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null);
LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus());
LocationDO locationDO = locationService.recommendLocation(groundingRuleRespVO, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus());
putawayJobDetailDO.setToLocationCode(locationDO.getCode());
putawayJobDetailDO.setNumber(number);
putawayJobDetailDO.setMasterId(putawayJobMainDO.getId());

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java

@ -588,7 +588,8 @@ public class RuleServiceImpl implements RuleService {
for (int i = 0; i < conditionArray.size(); i++) {
JSONObject conditionObject = conditionArray.getJSONObject(i);
for (String key : paramsMap.keySet()) {
if (key.equals(conditionObject.get("ParamCode")) && conditionObject.get("ParamCode") != null) {
String conditionParamValue = conditionObject.getStr("Value");
if (conditionParamValue != null && !conditionParamValue.isEmpty() && key.equals(conditionObject.getStr("ParamCode"))) {
boolean result2 = this.checkCondition(conditionObject, key, paramsMap.get(key));
if (!result2) {
result1 = false;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java

@ -21,7 +21,7 @@ public interface ScrapRecordMainService {
* @param createReqVO 创建信息
* @return 编号
*/
Long createScrapRecordMain(@Valid ScrapRecordMainCreateReqVO createReqVO);
String createScrapRecordMain(@Valid ScrapRecordMainCreateReqVO createReqVO);
/**
* 获得用高级搜索报废出库记录主分页列表
*

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java

@ -11,10 +11,12 @@ import com.win.module.wms.controller.scrapRecord.vo.*;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert;
import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO;
import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper;
import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper;
import com.win.module.wms.service.recordsetting.RecordsettingService;
@ -60,10 +62,13 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService {
private TransactionService transactionService;
@Resource
private TrendsApi trendsApi;
@Resource
private BalanceMapper balanceMapper;
@Transactional
@Override
public Long createScrapRecordMain(ScrapRecordMainCreateReqVO createReqVO) {
public String createScrapRecordMain(ScrapRecordMainCreateReqVO createReqVO) {
ScrapRecordMainDO scrapRecordMainDO = ScrapRecordMainConvert.INSTANCE.convert(createReqVO);
String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_RECORD.getCode());
scrapRecordMainDO.setNumber(number);
@ -92,6 +97,9 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService {
recordDetailDO.setId(null);
scrapRecordDetailMapper.insert(recordDetailDO);
//查询库存余额
BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getFromLocationCode());
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);
@ -108,13 +116,17 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService {
transactionCreateReqVO.setBatch(recordDetailDO.getBatch());
transactionCreateReqVO.setWarehouseCode(scrapRecordMainDO.getFromWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setAmount(balanceDO.getAmount());
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
trendsApi.createTrends(scrapRecordMainDO.getId(), "ScrapRecord", "增加了报废出库记录", TrendsTypeEnum.CREATE);
return scrapRecordMainDO.getId();
return number;
}
@Override

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainService.java

@ -22,7 +22,7 @@ public interface UnplannedissueRecordMainService {
* @param createReqVO 创建信息
* @return 编号
*/
Long createUnplannedissueRecordMain(@Valid UnplannedissueRecordMainCreateReqVO createReqVO);
String createUnplannedissueRecordMain(@Valid UnplannedissueRecordMainCreateReqVO createReqVO);
/**
* 获得用高级搜索户分页列表
*

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java

@ -11,10 +11,12 @@ import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.unplannedissueRecord.vo.*;
import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordDetailConvert;
import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordDetailDO;
import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordDetailMapper;
import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordMainMapper;
import com.win.module.wms.service.recordsetting.RecordsettingService;
@ -60,10 +62,13 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord
private TransactionService transactionService;
@Resource
private TrendsApi trendsApi;
@Resource
private BalanceMapper balanceMapper;
@Transactional
@Override
public Long createUnplannedissueRecordMain(UnplannedissueRecordMainCreateReqVO createReqVO) {
public String createUnplannedissueRecordMain(UnplannedissueRecordMainCreateReqVO createReqVO) {
UnplannedissueRecordMainDO unplannedissueRecordMainDO = UnplannedissueRecordMainConvert.INSTANCE.convert(createReqVO);
String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_DELIVER_RECORD.getCode());
unplannedissueRecordMainDO.setNumber(number);
@ -81,6 +86,7 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord
unplannedissueRecordMainDO.setId(null);
unplannedissueRecordMainDO.setCreator(null);
unplannedissueRecordMainDO.setCreateTime(LocalDateTime.now());
unplannedissueRecordMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
unplannedissueRecordMainMapper.insert(unplannedissueRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
@ -90,8 +96,14 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord
recordDetailDO.setNumber(number);
recordDetailDO.setMasterId(unplannedissueRecordMainDO.getId());
recordDetailDO.setId(null);
recordDetailDO.setPackingNumber(unplannedissueRecordDetailCreateReqVO.getFromPackingNumber());
recordDetailDO.setBatch(unplannedissueRecordDetailCreateReqVO.getFromBatch());
recordDetailDO.setFromLocationCode(unplannedissueRecordDetailCreateReqVO.getFromLocationCode());
unplannedissueRecordDetailMapper.insert(recordDetailDO);
//查询库存余额
BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getFromLocationCode());
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);
@ -108,13 +120,17 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord
transactionCreateReqVO.setBatch(recordDetailDO.getBatch());
transactionCreateReqVO.setWarehouseCode(unplannedissueRecordMainDO.getFromWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setAmount(balanceDO.getAmount());
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
trendsApi.createTrends(unplannedissueRecordMainDO.getId(), "UnplannedDeliverRecord", "增加了计划外出库申请记录", TrendsTypeEnum.CREATE);
return unplannedissueRecordMainDO.getId();
return number;
}
@Override

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainService.java

@ -21,7 +21,7 @@ public interface UnplannedreceiptRecordMainService {
* @param createReqVO 创建信息
* @return 编号
*/
Long createUnplannedreceiptRecordMain(@Valid UnplannedreceiptRecordMainCreateReqVO createReqVO);
String createUnplannedreceiptRecordMain(@Valid UnplannedreceiptRecordMainCreateReqVO createReqVO);
/**
* 获得用高级搜索户分页列表

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java

@ -11,10 +11,12 @@ import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.unplannedreceiptRecord.vo.*;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordDetailConvert;
import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordMainMapper;
import com.win.module.wms.service.recordsetting.RecordsettingService;
@ -60,6 +62,8 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe
private TransactionService transactionService;
@Resource
private TrendsApi trendsApi;
@Resource
private BalanceMapper balanceMapper;
@Override
public PageResult<UnplannedreceiptRecordMainDO> getUnplannedreceiptRecordMainSenior(CustomConditions conditions) {
@ -68,7 +72,7 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe
@Transactional
@Override
public Long createUnplannedreceiptRecordMain(UnplannedreceiptRecordMainCreateReqVO createReqVO) {
public String createUnplannedreceiptRecordMain(UnplannedreceiptRecordMainCreateReqVO createReqVO) {
UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = UnplannedreceiptRecordMainConvert.INSTANCE.convert(createReqVO);
String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_RECORD.getCode());
unplannedreceiptRecordMainDO.setNumber(number);
@ -86,6 +90,7 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe
unplannedreceiptRecordMainDO.setId(null);
unplannedreceiptRecordMainDO.setCreator(null);
unplannedreceiptRecordMainDO.setCreateTime(LocalDateTime.now());
unplannedreceiptRecordMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
@ -94,9 +99,15 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe
UnplannedreceiptRecordDetailDO recordDetailDO = UnplannedreceiptRecordDetailConvert.INSTANCE.convert(unplannedreceiptRecordDetailCreateReqVO);
recordDetailDO.setNumber(number);
recordDetailDO.setMasterId(unplannedreceiptRecordMainDO.getId());
recordDetailDO.setPackingNumber(unplannedreceiptRecordDetailCreateReqVO.getToPackingNumber());
recordDetailDO.setToLocationCode(unplannedreceiptRecordDetailCreateReqVO.getToLocationCode());
recordDetailDO.setBatch(unplannedreceiptRecordDetailCreateReqVO.getToBatch());
recordDetailDO.setId(null);
unplannedreceiptRecordDetailMapper.insert(recordDetailDO);
//查询库存余额
BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getToLocationCode());
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);
@ -113,13 +124,17 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe
transactionCreateReqVO.setBatch(recordDetailDO.getBatch());
transactionCreateReqVO.setWarehouseCode(unplannedreceiptRecordMainDO.getToWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setAmount(balanceDO.getAmount());
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
trendsApi.createTrends(unplannedreceiptRecordMainDO.getId(), "UnplannedReceiptRecord", "增加了计划外入库申请记录", TrendsTypeEnum.CREATE);
return unplannedreceiptRecordMainDO.getId();
return number;
}
@Override

Loading…
Cancel
Save