Browse Source

策略修改。

master
刘忱 2 years ago
parent
commit
46a3d5ca75
  1. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java
  3. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainCreateReqVO.java
  4. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/InspectRecordMainController.java
  5. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordDetailBaseVO.java
  6. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainBaseVO.java
  7. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainCreateReqVO.java
  8. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/PurchasereceiptRecordMainController.java
  9. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainBaseVO.java
  10. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainCreateReqVO.java
  11. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/PutawayRecordMainController.java
  12. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainCreateReqVO.java
  13. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordDetailConvert.java
  14. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRecord/InspectRecordDetailConvert.java
  15. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRecord/PurchasereceiptRecordDetailConvert.java
  16. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRecord/PutawayRecordDetailConvert.java
  17. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java
  18. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java
  19. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java
  20. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java
  21. 31
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java
  22. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java
  23. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainService.java
  24. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainServiceImpl.java
  25. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  26. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
  27. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java
  28. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java
  29. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  30. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  31. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java
  32. 39
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java
  33. 32
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java
  34. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainService.java
  35. 41
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java
  36. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java
  37. 75
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java
  38. 382
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java
  39. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java
  40. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java
  41. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transaction/TransactionServiceImpl.java
  42. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java

@ -8,10 +8,7 @@ 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.countRecord.vo.CountRecordMainExcelVO; import com.win.module.wms.controller.countRecord.vo.*;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO;
import com.win.module.wms.convert.countRecord.CountRecordMainConvert; import com.win.module.wms.convert.countRecord.CountRecordMainConvert;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
@ -51,6 +48,13 @@ public class CountRecordMainController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建盘点记录")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:create')")
public CommonResult<Long> createCountRecordMain(@Valid @RequestBody CountRecordMainCreateReqVO createReqVO) {
return success(countRecordMainService.createCountRecordMain(createReqVO));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得盘点记录主分页") @Operation(summary = "获得盘点记录主分页")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')")

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java

@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -21,7 +20,6 @@ public class CountRecordDetailBaseVO {
private Long id; private Long id;
@Schema(description = "盘点明细号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "盘点明细号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "盘点明细号不能为空")
private String countDetailNumber; private String countDetailNumber;
@Schema(description = "货主代码") @Schema(description = "货主代码")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.countRecord.vo; package com.win.module.wms.controller.countRecord.vo;
import lombok.*; import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 盘点记录主创建 Request VO") @Schema(description = "管理后台 - 盘点记录主创建 Request VO")
@Data @Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true) @ToString(callSuper = true)
public class CountRecordMainCreateReqVO extends CountRecordMainBaseVO { public class CountRecordMainCreateReqVO extends CountRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<CountRecordDetailCreateReqVO> subList;
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/InspectRecordMainController.java

@ -8,10 +8,7 @@ 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.inspectRecord.vo.InspectRecordMainExcelVO; import com.win.module.wms.controller.inspectRecord.vo.*;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainRespVO;
import com.win.module.wms.convert.inspectRecord.InspectRecordMainConvert; import com.win.module.wms.convert.inspectRecord.InspectRecordMainConvert;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO;
@ -50,6 +47,13 @@ public class InspectRecordMainController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建检验记录")
@PreAuthorize("@ss.hasPermission('wms:inspect-record-main:create')")
public CommonResult<Long> createInspectRecordMain(@Valid @RequestBody InspectRecordMainCreateReqVO createReqVO) {
return success(inspectRecordMainService.createInspectRecordMain(createReqVO));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得检验记录主分页") @Operation(summary = "获得检验记录主分页")
@PreAuthorize("@ss.hasPermission('wms:inspect-record-main:query')") @PreAuthorize("@ss.hasPermission('wms:inspect-record-main:query')")

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordDetailBaseVO.java

@ -90,7 +90,6 @@ public class InspectRecordDetailBaseVO {
private String remark; private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime; private LocalDateTime createTime;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainBaseVO.java

@ -30,14 +30,12 @@ public class InspectRecordMainBaseVO {
private Long id; private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber; private String requestNumber;
@Schema(description = "任务单号") @Schema(description = "任务单号")
private String jobNumber; private String jobNumber;
@Schema(description = "采购收货记录单号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "采购收货记录单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "采购收货记录单号不能为空")
private String purchaseReceiptRecordNumber; private String purchaseReceiptRecordNumber;
@Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED)

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRecord/vo/InspectRecordMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.inspectRecord.vo; package com.win.module.wms.controller.inspectRecord.vo;
import lombok.*; import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 检验记录主创建 Request VO") @Schema(description = "管理后台 - 检验记录主创建 Request VO")
@Data @Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true) @ToString(callSuper = true)
public class InspectRecordMainCreateReqVO extends InspectRecordMainBaseVO { public class InspectRecordMainCreateReqVO extends InspectRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<InspectRecordDetailCreateReqVO> subList;
} }

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/PurchasereceiptRecordMainController.java

@ -8,10 +8,7 @@ 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.purchasereceiptRecord.vo.PurchasereceiptRecordMainExcelVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.*;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainRespVO;
import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert; import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO;
@ -46,13 +43,19 @@ public class PurchasereceiptRecordMainController {
private PurchasereceiptRecordMainService purchasereceiptRecordMainService; private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
@Resource @Resource
private PurchasereceiptRecordDetailService purchasereceiptRecordDetailService; private PurchasereceiptRecordDetailService purchasereceiptRecordDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建采购收货记录")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-record-main:create')")
public CommonResult<Long> createPurchasereceiptRecordMain(@Valid @RequestBody PurchasereceiptRecordMainCreateReqVO createReqVO) {
return success(purchasereceiptRecordMainService.createPurchasereceiptRecordMain(createReqVO));
}
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得采购收货记录主信息分页") @Operation(summary = "高级搜索获得采购收货记录主信息分页")
@PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRecordMain:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-record-main:query')")
public CommonResult<PageResult<PurchasereceiptRecordMainRespVO>> getPurchasereceiptRecordMainSenior(@Valid @RequestBody CustomConditions conditions) { public CommonResult<PageResult<PurchasereceiptRecordMainRespVO>> getPurchasereceiptRecordMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereceiptRecordMainDO> pageResult = purchasereceiptRecordMainService.getPurchasereceiptRecordMainSenior(conditions); PageResult<PurchasereceiptRecordMainDO> pageResult = purchasereceiptRecordMainService.getPurchasereceiptRecordMainSenior(conditions);
PageResult<PurchasereceiptRecordMainRespVO> result = PurchasereceiptRecordMainConvert.INSTANCE.convertPage(pageResult); PageResult<PurchasereceiptRecordMainRespVO> result = PurchasereceiptRecordMainConvert.INSTANCE.convertPage(pageResult);

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainBaseVO.java

@ -24,7 +24,6 @@ public class PurchasereceiptRecordMainBaseVO {
private Long id; private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber; private String requestNumber;
@Schema(description = "任务单号") @Schema(description = "任务单号")
@ -68,7 +67,6 @@ public class PurchasereceiptRecordMainBaseVO {
private String inTransaction; private String inTransaction;
@Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "执行时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime executeTime; private LocalDateTime executeTime;

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo; package com.win.module.wms.controller.purchasereceiptRecord.vo;
import lombok.*; import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 采购收货记录主创建 Request VO") @Schema(description = "管理后台 - 采购收货记录主创建 Request VO")
@Data @Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true) @ToString(callSuper = true)
public class PurchasereceiptRecordMainCreateReqVO extends PurchasereceiptRecordMainBaseVO { public class PurchasereceiptRecordMainCreateReqVO extends PurchasereceiptRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PurchasereceiptRecordDetailCreateReqVO> subList;
} }

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/PutawayRecordMainController.java

@ -8,10 +8,7 @@ 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.putawayRecord.vo.PutawayRecordMainExcelVO; import com.win.module.wms.controller.putawayRecord.vo.*;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainRespVO;
import com.win.module.wms.convert.putawayRecord.PutawayRecordMainConvert; import com.win.module.wms.convert.putawayRecord.PutawayRecordMainConvert;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO;
@ -46,11 +43,16 @@ public class PutawayRecordMainController {
private PutawayRecordMainService putawayRecordMainService; private PutawayRecordMainService putawayRecordMainService;
@Resource @Resource
private PutawayRecordDetailService putawayRecordDetailService; private PutawayRecordDetailService putawayRecordDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建上架记录")
@PreAuthorize("@ss.hasPermission('wms:putaway-record-main:create')")
public CommonResult<Long> createPutawayRecordMain(@Valid @RequestBody PutawayRecordMainCreateReqVO createReqVO) {
return success(putawayRecordMainService.createPutawayRecordMain(createReqVO));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得上架记录主分页") @Operation(summary = "获得上架记录主分页")
@PreAuthorize("@ss.hasPermission('wms:putaway-record-main:query')") @PreAuthorize("@ss.hasPermission('wms:putaway-record-main:query')")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.putawayRecord.vo; package com.win.module.wms.controller.putawayRecord.vo;
import lombok.*; import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 上架记录主创建 Request VO") @Schema(description = "管理后台 - 上架记录主创建 Request VO")
@Data @Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true) @ToString(callSuper = true)
public class PutawayRecordMainCreateReqVO extends PutawayRecordMainBaseVO { public class PutawayRecordMainCreateReqVO extends PutawayRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PutawayRecordDetailCreateReqVO> subList;
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.countRecord; package com.win.module.wms.convert.countRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExcelVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExcelVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailRespVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailRespVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
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.countRecord.CountRecordDetailDO;
import java.util.List;
/** /**
* 盘点记录子 Convert * 盘点记录子 Convert
@ -34,4 +33,6 @@ public interface CountRecordDetailConvert {
List<CountRecordDetailExcelVO> convertList02(List<CountRecordDetailDO> list); List<CountRecordDetailExcelVO> convertList02(List<CountRecordDetailDO> list);
List<CountRecordDetailDO> convertList03(List<CountRecordDetailCreateReqVO> list);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inspectRecord/InspectRecordDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.inspectRecord; package com.win.module.wms.convert.inspectRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailCreateReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailCreateReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailExcelVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailExcelVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailRespVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailRespVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailUpdateReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO;
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.inspectRecord.InspectRecordDetailDO;
import java.util.List;
/** /**
* 检验记录子 Convert * 检验记录子 Convert
@ -34,4 +33,6 @@ public interface InspectRecordDetailConvert {
List<InspectRecordDetailExcelVO> convertList02(List<InspectRecordDetailDO> list); List<InspectRecordDetailExcelVO> convertList02(List<InspectRecordDetailDO> list);
List<InspectRecordDetailDO> convertList03(List<InspectRecordDetailCreateReqVO> list);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRecord/PurchasereceiptRecordDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.purchasereceiptRecord; package com.win.module.wms.convert.purchasereceiptRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailCreateReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailExcelVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailExcelVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailRespVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailRespVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailUpdateReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
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.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import java.util.List;
/** /**
* 采购收货记录子 Convert * 采购收货记录子 Convert
@ -34,4 +33,6 @@ public interface PurchasereceiptRecordDetailConvert {
List<PurchasereceiptRecordDetailExcelVO> convertList02(List<PurchasereceiptRecordDetailDO> list); List<PurchasereceiptRecordDetailExcelVO> convertList02(List<PurchasereceiptRecordDetailDO> list);
List<PurchasereceiptRecordDetailDO> convertList03(List<PurchasereceiptRecordDetailCreateReqVO> list);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/putawayRecord/PutawayRecordDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.putawayRecord; package com.win.module.wms.convert.putawayRecord;
import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailCreateReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailCreateReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailExcelVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailExcelVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailRespVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailRespVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailUpdateReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO;
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.putawayRecord.PutawayRecordDetailDO;
import java.util.List;
/** /**
* 上架记录子 Convert * 上架记录子 Convert
@ -34,4 +33,6 @@ public interface PutawayRecordDetailConvert {
List<PutawayRecordDetailExcelVO> convertList02(List<PutawayRecordDetailDO> list); List<PutawayRecordDetailExcelVO> convertList02(List<PutawayRecordDetailDO> list);
List<PutawayRecordDetailDO> convertList03(List<PutawayRecordDetailCreateReqVO> list);
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java

@ -9,7 +9,6 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO; import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO;
import com.win.module.wms.controller.itembasic.vo.ItembasicPageReqVO; import com.win.module.wms.controller.itembasic.vo.ItembasicPageReqVO;
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.owner.OwnerDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -23,7 +22,7 @@ import java.util.List;
public interface ItembasicMapper extends BaseMapperX<ItembasicDO> { public interface ItembasicMapper extends BaseMapperX<ItembasicDO> {
default ItembasicDO selectByCode(String code) { default ItembasicDO selectByCode(String code) {
return selectOne(ItembasicDO::getCode, code); return selectOne(ItembasicDO::getCode, code, ItembasicDO::getAvailable, "TRUE");
} }
default PageResult<ItembasicDO> selectPage(ItembasicPageReqVO reqVO) { default PageResult<ItembasicDO> selectPage(ItembasicPageReqVO reqVO) {

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java

@ -7,7 +7,6 @@ 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.location.vo.LocationExportReqVO; import com.win.module.wms.controller.location.vo.LocationExportReqVO;
import com.win.module.wms.controller.location.vo.LocationPageReqVO; import com.win.module.wms.controller.location.vo.LocationPageReqVO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.location.LocationDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -79,7 +78,10 @@ public interface LocationMapper extends BaseMapperX<LocationDO> {
.orderByDesc(LocationDO::getId)); .orderByDesc(LocationDO::getId));
} }
default LocationDO selectByCode(String code){return selectOne(LocationDO::getCode,code);}; default LocationDO selectByCode(String code){
return selectOne(LocationDO::getCode,code, LocationDO::getAvailable, "TRUE");
}
default List<LocationDO> selectSeniorList(CustomConditions conditions) { default List<LocationDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions)); return selectList(QueryWrapperUtils.structure(conditions));
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java

@ -1,20 +1,18 @@
package com.win.module.wms.dal.mysql.supplier; package com.win.module.wms.dal.mysql.supplier;
import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.supplier.vo.SupplierExportReqVO; import com.win.module.wms.controller.supplier.vo.SupplierExportReqVO;
import com.win.module.wms.controller.supplier.vo.SupplierPageReqVO; import com.win.module.wms.controller.supplier.vo.SupplierPageReqVO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.owner.OwnerDO;
import com.win.module.wms.dal.dataobject.supplier.SupplierDO; import com.win.module.wms.dal.dataobject.supplier.SupplierDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 供应商 Mapper * 供应商 Mapper
* *
@ -24,7 +22,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface SupplierMapper extends BaseMapperX<SupplierDO> { public interface SupplierMapper extends BaseMapperX<SupplierDO> {
default SupplierDO selectByCode(String code) { default SupplierDO selectByCode(String code) {
return selectOne(SupplierDO::getCode, code); return selectOne(SupplierDO::getCode, code, SupplierDO::getAvailable, "TRUE");
} }
default PageResult<SupplierDO> selectPage(SupplierPageReqVO reqVO) { default PageResult<SupplierDO> selectPage(SupplierPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<SupplierDO>() return selectPage(reqVO, new LambdaQueryWrapperX<SupplierDO>()

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.countRecord;
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.countRecord.vo.CountRecordMainCreateReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
@ -15,6 +16,13 @@ import java.util.List;
*/ */
public interface CountRecordMainService { public interface CountRecordMainService {
/**
* 创建盘点记录
* @param createReqVO 盘点记录主
* @return id
*/
Long createCountRecordMain(CountRecordMainCreateReqVO createReqVO);
/** /**
* 获得盘点记录主分页 * 获得盘点记录主分页
* *

31
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java

@ -7,8 +7,12 @@ 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.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import com.win.module.wms.convert.countRecord.CountRecordDetailConvert;
import com.win.module.wms.convert.countRecord.CountRecordMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO; import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO;
@ -18,8 +22,10 @@ import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
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;
@ -49,6 +55,31 @@ public class CountRecordMainServiceImpl implements CountRecordMainService {
private CountadjustRequestDetailMapper countadjustRequestDetailMapper; private CountadjustRequestDetailMapper countadjustRequestDetailMapper;
@Resource @Resource
private TrendsApi trendsApi; private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Override
@Transactional
public Long createCountRecordMain(CountRecordMainCreateReqVO createReqVO) {
CountRecordMainDO mainDO = CountRecordMainConvert.INSTANCE.convert(createReqVO);
List<CountRecordDetailDO> subDOList = CountRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
String number = serialNumberApi.generateCode(RuleCodeEnum.COUNT_RECORD.getCode());
mainDO.setNumber(number);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRecord");
mainDO.setBusinessType(businesstypeDO.getCode());
countRecordMainMapper.insert(mainDO);
for (int i = 0; i < subDOList.size(); i++) {
CountRecordDetailDO detailDO = subDOList.get(i);
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
detailDO.setCountDetailNumber(String.valueOf(i+1));
}
countRecordDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(mainDO.getId(), "countRecordMain", "增加了盘点记录", TrendsTypeEnum.CREATE);
// 返回
return mainDO.getId();
}
@Override @Override
public PageResult<CountRecordMainDO> getCountRecordMainPage(CountRecordMainPageReqVO pageReqVO) { public PageResult<CountRecordMainDO> getCountRecordMainPage(CountRecordMainPageReqVO pageReqVO) {

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java

@ -131,7 +131,7 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
} }
countRequestDetailMapper.insertBatch(subDOList); countRequestDetailMapper.insertBatch(subDOList);
//增加操作记录 //增加操作记录
trendsApi.createTrends(requestsettingDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(mainDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE);
//调用自动执行方法 //调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, subDOList); this.generateJob(mainDO, subDOList);

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainService.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.inspectRecord;
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.inspectRecord.vo.InspectRecordMainCreateReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO;
@ -15,6 +16,13 @@ import java.util.List;
*/ */
public interface InspectRecordMainService { public interface InspectRecordMainService {
/**
* 创建检验记录
* @param createReqVO 检验记录主
* @return id
*/
Long createInspectRecordMain(InspectRecordMainCreateReqVO createReqVO);
/** /**
* 获得检验记录主分页 * 获得检验记录主分页
* *

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRecord/InspectRecordMainServiceImpl.java

@ -1,25 +1,28 @@
package com.win.module.wms.service.inspectRecord; package com.win.module.wms.service.inspectRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainCreateReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainCreateReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainExportReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO; import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainUpdateReqVO; import com.win.module.wms.convert.inspectRecord.InspectRecordDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO;
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.inspectRecord.InspectRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.inspectRecord.InspectRecordMainConvert; import com.win.module.wms.convert.inspectRecord.InspectRecordMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO;
import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordDetailMapper;
import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordMainMapper; import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordMainMapper;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import javax.annotation.Resource;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import java.util.List;
/** /**
* 检验记录主 Service 实现类 * 检验记录主 Service 实现类
@ -32,6 +35,35 @@ public class InspectRecordMainServiceImpl implements InspectRecordMainService {
@Resource @Resource
private InspectRecordMainMapper inspectRecordMainMapper; private InspectRecordMainMapper inspectRecordMainMapper;
@Resource
private InspectRecordDetailMapper inspectRecordDetailMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
@Override
@Transactional
public Long createInspectRecordMain(InspectRecordMainCreateReqVO createReqVO) {
InspectRecordMainDO mainDO = InspectRecordMainConvert.INSTANCE.convert(createReqVO);
List<InspectRecordDetailDO> subDOList = InspectRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode());
mainDO.setNumber(number);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord");
mainDO.setBusinessType(businesstypeDO.getCode());
inspectRecordMainMapper.insert(mainDO);
for (InspectRecordDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
inspectRecordDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(mainDO.getId(), "inspectRecordMain", "增加了检验记录", TrendsTypeEnum.CREATE);
// 返回
return mainDO.getId();
}
@Override @Override
public PageResult<InspectRecordMainDO> getInspectRecordMainPage(InspectRecordMainPageReqVO pageReqVO) { public PageResult<InspectRecordMainDO> getInspectRecordMainPage(InspectRecordMainPageReqVO pageReqVO) {

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

@ -473,9 +473,9 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
BigDecimal result = BigDecimal.ZERO; BigDecimal result = BigDecimal.ZERO;
for (Object o : aplList) { for (Object o : aplList) {
JSONObject parse = JSONUtil.parseObj(o); JSONObject parse = JSONUtil.parseObj(o);
BigDecimal floorQty = new BigDecimal(String.valueOf(parse.get("FloorQty"))); BigDecimal floorQty = new BigDecimal(parse.getStr("FloorQty"));
BigDecimal ceilingQty = new BigDecimal(String.valueOf(parse.get("CeilingQty"))); BigDecimal ceilingQty = new BigDecimal(parse.getStr("CeilingQty"));
BigDecimal sampleValue = new BigDecimal(String.valueOf(parse.get("SampleValue"))); BigDecimal sampleValue = new BigDecimal(parse.getStr("SampleValue"));
if (maxFloorQty.compareTo(floorQty) < 0) { if (maxFloorQty.compareTo(floorQty) < 0) {
maxFloorQty = floorQty; maxFloorQty = floorQty;
} }

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java

@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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;
@ -19,29 +18,19 @@ import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO; import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO; import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*; import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert; import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert; import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordDetailConvert;
import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO; 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.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO;
import com.win.module.wms.dal.dataobject.expectout.ExpectoutDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO; import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO; import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO; 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.issueRequest.IssueRequestMainDO;
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.itempackaging.ItempackagingDO;
import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO;
import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobDetailDO;
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.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.balance.BalanceMapper;
@ -52,10 +41,8 @@ import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper;
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestMainMapper; import com.win.module.wms.dal.mysql.issueRequest.IssueRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
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.balance.BalanceService;
import com.win.module.wms.service.businesstype.BusinesstypeService; import com.win.module.wms.service.businesstype.BusinesstypeService;
import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService; import com.win.module.wms.service.expectout.ExpectoutService;
@ -76,7 +63,6 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Validator; import javax.validation.Validator;
import javax.xml.crypto.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@ -378,7 +364,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, detailDo.getItemCode(), null, null, null, null, null, null); RuleRespVO grounding = ruleService.grounding(null, null, detailDo.getItemCode(), null, null, null, null, null, null);
if (grounding == null) { if (grounding == null) {
message.append("未查找到该条上架策略"); message.append("未查找到该条上架策略");
} else { } else {

28
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 @Override
public LocationDO inspectLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus) { public LocationDO inspectLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus) {
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
Object locationCode = jsonObject.get("LocationCode"); String locationCode = jsonObject.getStr("LocationCode");
//设置了库位直接返回 //设置了库位直接返回
if (locationCode != null) { if (locationCode != null) {
return this.selectLocation(String.valueOf(locationCode)); return this.selectLocation(String.valueOf(locationCode));
@ -327,38 +327,38 @@ public class LocationServiceImpl implements LocationService {
locationTypeList.add("SEMI"); locationTypeList.add("SEMI");
locationTypeList.add("FG"); locationTypeList.add("FG");
queryWrapper.in("`type`", locationTypeList); queryWrapper.in("`type`", locationTypeList);
Object warehouseCode = jsonObject.get("WarehouseCode"); String warehouseCode = jsonObject.getStr("WarehouseCode");
if (!"".equals(warehouseCode)) { if (!"".equals(warehouseCode)) {
queryWrapper.eq("warehouse_code", warehouseCode); queryWrapper.eq("warehouse_code", warehouseCode);
} }
Object areaCode = jsonObject.get("AreaCode"); String areaCode = jsonObject.getStr("AreaCode");
if (!"".equals(areaCode)) { if (!"".equals(areaCode)) {
queryWrapper.eq("area_code", areaCode); queryWrapper.eq("area_code", areaCode);
} }
Object locationGroupCode = jsonObject.get("LocationGroupCode"); String locationGroupCode = jsonObject.getStr("LocationGroupCode");
if (!"".equals(locationGroupCode)) { if (!"".equals(locationGroupCode)) {
queryWrapper.eq("location_group_code", locationGroupCode); queryWrapper.eq("location_group_code", locationGroupCode);
} }
//排序 //排序
Object aisleOrder = jsonObject.get("AisleOrder"); String aisleOrder = jsonObject.getStr("AisleOrder");
if ("DESC".equals(aisleOrder)) { if ("DESC".equals(aisleOrder)) {
queryWrapper.orderByDesc("aisle"); queryWrapper.orderByDesc("aisle");
} else { } else {
queryWrapper.orderByAsc("aisle"); queryWrapper.orderByAsc("aisle");
} }
Object shelfOrder = jsonObject.get("ShelfOrder"); String shelfOrder = jsonObject.getStr("ShelfOrder");
if ("DESC".equals(shelfOrder)) { if ("DESC".equals(shelfOrder)) {
queryWrapper.orderByDesc("shelf"); queryWrapper.orderByDesc("shelf");
} else { } else {
queryWrapper.orderByAsc("shelf"); queryWrapper.orderByAsc("shelf");
} }
Object rowOrder = jsonObject.get("RowOrder"); String rowOrder = jsonObject.getStr("RowOrder");
if ("DESC".equals(rowOrder)) { if ("DESC".equals(rowOrder)) {
queryWrapper.orderByDesc("location_row"); queryWrapper.orderByDesc("location_row");
} else { } else {
queryWrapper.orderByAsc("location_row"); queryWrapper.orderByAsc("location_row");
} }
Object columOrder = jsonObject.get("ColumOrder"); String columOrder = jsonObject.getStr("ColumOrder");
if ("DESC".equals(columOrder)) { if ("DESC".equals(columOrder)) {
queryWrapper.orderByDesc("location_colum"); queryWrapper.orderByDesc("location_colum");
} else { } else {
@ -367,15 +367,15 @@ public class LocationServiceImpl implements LocationService {
List<LocationDO> locationDOList = locationMapper.selectList(queryWrapper); List<LocationDO> locationDOList = locationMapper.selectList(queryWrapper);
//查询符合条件的库位之后过滤 //查询符合条件的库位之后过滤
//优先空库位 //优先空库位
Object emptyLocationFirst = jsonObject.get("EmptyLocationFirst"); String emptyLocationFirst = jsonObject.getStr("EmptyLocationFirst");
//优先非空库位 //优先非空库位
Object notEmptyLocationFirst = jsonObject.get("NotEmptyLocationFirst"); String notEmptyLocationFirst = jsonObject.getStr("NotEmptyLocationFirst");
//可以混物品 //可以混物品
Object enableMixItem = jsonObject.get("EnableMixItem"); String enableMixItem = jsonObject.getStr("EnableMixItem");
//可以混批次 //可以混批次
Object enableMixLot = jsonObject.get("EnableMixLot"); String enableMixLot = jsonObject.getStr("EnableMixLot");
//可以混状态 //可以混状态
Object enableMixStatus = jsonObject.get("EnableMixStatus"); String enableMixStatus = jsonObject.getStr("EnableMixStatus");
locationDOList = this.locationFirst(locationDOList, emptyLocationFirst, notEmptyLocationFirst, itemCode, batch, inventoryStatus, enableMixItem, enableMixLot, enableMixStatus); locationDOList = this.locationFirst(locationDOList, emptyLocationFirst, notEmptyLocationFirst, itemCode, batch, inventoryStatus, enableMixItem, enableMixLot, enableMixStatus);
return locationDOList.get(0); return locationDOList.get(0);
} }
@ -394,7 +394,7 @@ public class LocationServiceImpl implements LocationService {
* @param enableMixStatus 可以混状态 * @param enableMixStatus 可以混状态
* @return 过滤之后的库位list * @return 过滤之后的库位list
*/ */
private List<LocationDO> locationFirst(List<LocationDO> locationDOList, Object emptyLocationFirst, Object notEmptyLocationFirst, String itemCode, String batch, String inventoryStatus, Object enableMixItem, Object enableMixLot, Object enableMixStatus) { private List<LocationDO> locationFirst(List<LocationDO> locationDOList, Object emptyLocationFirst, Object notEmptyLocationFirst, String itemCode, String batch, String inventoryStatus, String enableMixItem, String enableMixLot, String enableMixStatus) {
List<LocationDO> emptyList = new ArrayList<>(); List<LocationDO> emptyList = new ArrayList<>();
List<LocationDO> notEmptyList = new ArrayList<>(); List<LocationDO> notEmptyList = new ArrayList<>();
for (LocationDO locationDO : locationDOList) { for (LocationDO locationDO : locationDOList) {

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

@ -676,10 +676,9 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
productionreturnRecordDetailDO.setFromBatch(item.getBatch()); productionreturnRecordDetailDO.setFromBatch(item.getBatch());
productionreturnRecordDetailDO.setToBatch(item.getBatch()); productionreturnRecordDetailDO.setToBatch(item.getBatch());
productionreturnRecordDetailDO.setFromLocationCode(item.getFromLocationCode()); productionreturnRecordDetailDO.setFromLocationCode(item.getFromLocationCode());
ItembasicDO itembasicDO = itembasicService.selectItembasic(productionreturnRecordDetailDO.getItemCode());
// 获取上架策略 并赋值 to库位 // 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null,itembasicDO.getAbcClass(),itembasicDO.getType(),itembasicDO.getItemGroup(),itembasicDO.getProject(), itembasicDO.getCode(),null,null,null,null,null,null); RuleRespVO ruleRespVO = ruleService.grounding(null,null, productionreturnRecordDetailDO.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, itembasicDO.getCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus()); LocationDO locationDO = locationService.inspectLocation(ruleRespVO, productionreturnRecordDetailDO.getItemCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus());
productionreturnRecordDetailDO.setToLocationCode(locationDO.getCode()); productionreturnRecordDetailDO.setToLocationCode(locationDO.getCode());
// 获取库位信息 并赋值 // 获取库位信息 并赋值
LocationDO locationDOFrom = locationService.selectLocation(item.getFromLocationCode()); LocationDO locationDOFrom = locationService.selectLocation(item.getFromLocationCode());
@ -786,7 +785,6 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>(); List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
detailDO.forEach(item -> { detailDO.forEach(item -> {
ProductionreturnJobDetailDO productionreturnJobDetailDO = new ProductionreturnJobDetailDO(); ProductionreturnJobDetailDO productionreturnJobDetailDO = new ProductionreturnJobDetailDO();
ItembasicDO itembasicDO = itembasicService.selectItembasic(item.getItemCode());
BeanUtils.copyProperties(item, productionreturnJobDetailDO); BeanUtils.copyProperties(item, productionreturnJobDetailDO);
productionreturnJobDetailDO.setId(null); productionreturnJobDetailDO.setId(null);
productionreturnJobDetailDO.setCreateTime(null); productionreturnJobDetailDO.setCreateTime(null);
@ -796,8 +794,8 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
productionreturnJobDetailDO.setMasterId(productionreturnJobMainDO.getId()); productionreturnJobDetailDO.setMasterId(productionreturnJobMainDO.getId());
productionreturnJobDetailDO.setNumber(number); productionreturnJobDetailDO.setNumber(number);
// 获取上架策略 并赋值 to库位 // 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null, itembasicDO.getAbcClass(), itembasicDO.getType(), itembasicDO.getItemGroup(), itembasicDO.getProject(), productionreturnJobDetailDO.getItemCode(),null,null,null,null,null,null); RuleRespVO ruleRespVO = ruleService.grounding(null,null, item.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, itembasicDO.getCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus()); LocationDO locationDO = locationService.inspectLocation(ruleRespVO, item.getItemCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus());
productionreturnJobDetailDO.setToLocationCode(locationDO.getCode()); productionreturnJobDetailDO.setToLocationCode(locationDO.getCode());
// 判断合格 不合格 // 判断合格 不合格
if (!mainDO.getBusinessType().equals("ReturnToStore")) { if (!mainDO.getBusinessType().equals("ReturnToStore")) {

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -45,7 +45,6 @@ import com.win.module.wms.service.currencyexchange.CurrencyexchangeService;
import com.win.module.wms.service.documentSwitch.SwitchService; import com.win.module.wms.service.documentSwitch.SwitchService;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService; import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.shift.ShiftService; import com.win.module.wms.service.shift.ShiftService;
@ -525,7 +524,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchasePlanMainDO.setAvailable("TRUE"); purchasePlanMainDO.setAvailable("TRUE");
//供应商代码 //供应商代码
purchasePlanMainDO.setSupplierCode(mainDO.getSupplierCode()); purchasePlanMainDO.setSupplierCode(mainDO.getSupplierCode());
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDO.getSupplierCode(), null); RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDO.getSupplierCode(), null);
if (ruleRespVO == null) { if (ruleRespVO == null) {
throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
} else { } else {

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

@ -380,7 +380,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
} }
RuleRespVO ruleRespVO = ruleService.inspect(purchasereceiptRecordMainDO.getSupplierCode(), null); RuleRespVO ruleRespVO = ruleService.inspect(purchasereceiptRecordMainDO.getSupplierCode(), null);
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
if("EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { if("EXEMPT".equals(jsonObject.getStr("InspectType"))) {
for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) { for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) {
transactionCreateReqVO.setInventoryStatus("OK"); transactionCreateReqVO.setInventoryStatus("OK");
} }
@ -404,7 +404,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated"); SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated");
SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated"); SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated");
//采购收货记录 生成后 创建 到货检验申请 //采购收货记录 生成后 创建 到货检验申请
if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXEMPT".equals(jsonObject.getStr("InspectType"))) {
//按零件号和批次分组 //按零件号和批次分组
Map<String, List<PurchasereceiptRecordDetailDO>> listMap = new HashMap<>(); Map<String, List<PurchasereceiptRecordDetailDO>> listMap = new HashMap<>();
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) { for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) {
@ -463,7 +463,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
//移除预计入 //移除预计入
expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber()); expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber());
//采购收货记录 生成后免检物品 创建 上架申请 //采购收货记录 生成后免检物品 创建 上架申请
if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXEMPT".equals(jsonObject.getStr("InspectType"))) {
PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO(); PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO); BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO);
List<PutawayRequestDetailCreateReqVO> putawayRequestDetailCreateReqVOList = new ArrayList<>(); List<PutawayRequestDetailCreateReqVO> putawayRequestDetailCreateReqVOList = new ArrayList<>();

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.purchasereceiptRecord;
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.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
@ -16,6 +17,13 @@ import java.util.List;
*/ */
public interface PurchasereceiptRecordMainService { public interface PurchasereceiptRecordMainService {
/**
* 创建采购收货记录
* @param createReqVO 采购收货记录主
* @return id
*/
Long createPurchasereceiptRecordMain(PurchasereceiptRecordMainCreateReqVO createReqVO);
/** /**
* 通过id获取采购收货记录主 * 通过id获取采购收货记录主
* *

39
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java

@ -4,15 +4,25 @@ import cn.hutool.core.exceptions.UtilException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO;
import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordDetailConvert;
import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO;
import com.win.module.wms.dal.mysql.purchasereceiptJob.PurchasereceiptJobMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptJob.PurchasereceiptJobMainMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestMainMapper; import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestMainMapper;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
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;
@ -36,6 +46,12 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper; private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper;
@Resource @Resource
private PurchasereceiptRequestMainMapper purchasereceiptRequestMainMapper; private PurchasereceiptRequestMainMapper purchasereceiptRequestMainMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
// @Resource // @Resource
// private RuleService ruleService; // private RuleService ruleService;
// @Resource // @Resource
@ -45,6 +61,27 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
// @Resource // @Resource
// private InspectRequestMainService inspectRequestMainService; // private InspectRequestMainService inspectRequestMainService;
@Override
@Transactional
public Long createPurchasereceiptRecordMain(PurchasereceiptRecordMainCreateReqVO createReqVO) {
PurchasereceiptRecordMainDO mainDO = PurchasereceiptRecordMainConvert.INSTANCE.convert(createReqVO);
List<PurchasereceiptRecordDetailDO> subDOList = PurchasereceiptRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode());
mainDO.setNumber(number);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord");
mainDO.setBusinessType(businesstypeDO.getCode());
purchasereceiptRecordMainMapper.insert(mainDO);
for (PurchasereceiptRecordDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
purchasereceiptRecordDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(mainDO.getId(), "purchasereceiptRecordMain", "增加了采购收货记录", TrendsTypeEnum.CREATE);
// 返回
return mainDO.getId();
}
@Override @Override
public PurchasereceiptRecordMainDO getPurchasereceiptRecordMainById(Long id) { public PurchasereceiptRecordMainDO getPurchasereceiptRecordMainById(Long id) {
return purchasereceiptRecordMainMapper.selectById(id); return purchasereceiptRecordMainMapper.selectById(id);
@ -108,7 +145,7 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
// SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated"); // SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated");
// SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated"); // SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated");
// //采购收货记录 生成后 创建 到货检验申请 // //采购收货记录 生成后 创建 到货检验申请
// if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { // if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXAMPT".equals(jsonObject.getStr("InspectType"))) {
// //按零件号和批次分组 // //按零件号和批次分组
// Map<String, List<PurchasereceiptRecordDetailDO>> listMap = new HashMap<>(); // Map<String, List<PurchasereceiptRecordDetailDO>> listMap = new HashMap<>();
// for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : detailDOList) { // for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : detailDOList) {

32
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

@ -392,14 +392,14 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
*/ */
private void validatePurchasereceiptRequestMainCreate(PurchasereceiptRequestMainDO mainDo) { private void validatePurchasereceiptRequestMainCreate(PurchasereceiptRequestMainDO mainDo) {
supplierService.selectSupplier(mainDo.getSupplierCode()); supplierService.selectSupplier(mainDo.getSupplierCode());
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null); RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDo.getSupplierCode(), null);
if(ruleRespVO == null) { if(ruleRespVO == null) {
throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
} else { } else {
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
mainDo.setFromWarehouseCode(String.valueOf(jsonObject.get("WarehouseCode"))); mainDo.setFromWarehouseCode(jsonObject.getStr("WarehouseCode"));
mainDo.setToDockCode(String.valueOf(jsonObject.get("DockCode"))); mainDo.setToDockCode(jsonObject.getStr("DockCode"));
mainDo.setToWarehouseCode(String.valueOf(jsonObject.get("OnTheWayLocationCode"))); mainDo.setToWarehouseCode(jsonObject.getStr("OnTheWayLocationCode"));
} }
} }
@ -428,23 +428,23 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
} }
return; return;
} }
RuleRespVO ruleRespVO = ruleService.deliveryGoods(null, mainDO.getSupplierCode()); RuleRespVO ruleRespVO = ruleService.deliveryGoods(mainDO.getSupplierCode());
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>(); Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>();
List<PurchasereceiptJobMainCreateReqVO> purchasereceiptJobMainCreateReqVOList = new ArrayList<>(); List<PurchasereceiptJobMainCreateReqVO> purchasereceiptJobMainCreateReqVOList = new ArrayList<>();
// 获取拆分类型,如果都为FALSE则不拆分 // 获取拆分类型,如果都为FALSE则不拆分
String key; String key;
if ("TRUE".equals(jsonObject.get("ByItem"))) {//按零件拆分 if ("TRUE".equals(jsonObject.getStr("ByItem"))) {//按零件拆分
key = "item"; key = "item";
} else if ("TRUE".equals(jsonObject.get("ByContainer"))) {//按器具拆分 } else if ("TRUE".equals(jsonObject.getStr("ByContainer"))) {//按器具拆分
key = "container"; key = "container";
} else if ("TRUE".equals(jsonObject.get("ByLocation"))) {//按库位拆分 } else if ("TRUE".equals(jsonObject.getStr("ByLocation"))) {//按库位拆分
key = "location"; key = "location";
} else { } else {
key = "null"; key = "null";
} }
// 每个任务单最多任务数 // 每个任务单最多任务数
int count = Integer.parseInt(String.valueOf(jsonObject.get("JobDetailCount"))); int count = Integer.parseInt(jsonObject.getStr("JobDetailCount"));
if(count == 0) {//0表示不拆分 if(count == 0) {//0表示不拆分
count = Integer.MAX_VALUE; count = Integer.MAX_VALUE;
} }
@ -625,18 +625,18 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
*/ */
private void validateSupplier(PurchasereceiptRequestMainDO mainDo) { private void validateSupplier(PurchasereceiptRequestMainDO mainDo) {
supplierService.selectSupplier(mainDo.getSupplierCode()); supplierService.selectSupplier(mainDo.getSupplierCode());
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null); RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDo.getSupplierCode(), null);
JSONArray conditionArray = JSONUtil.parseArray(ruleRespVO.getCondition()); JSONArray conditionArray = JSONUtil.parseArray(ruleRespVO.getCondition());
for (int i = 0; i < conditionArray.size(); i++) { for (int i = 0; i < conditionArray.size(); i++) {
JSONObject conditionObject = conditionArray.getJSONObject(i); JSONObject conditionObject = conditionArray.getJSONObject(i);
if ("WarehouseCode".equals(conditionObject.get("ParamCode"))) { if ("WarehouseCode".equals(conditionObject.getStr("ParamCode"))) {
mainDo.setFromWarehouseCode(String.valueOf(conditionObject.get("Value"))); mainDo.setFromWarehouseCode(conditionObject.getStr("Value"));
} }
if ("DockCode".equals(conditionObject.get("ParamCode"))) { if ("DockCode".equals(conditionObject.getStr("ParamCode"))) {
mainDo.setToDockCode(String.valueOf(conditionObject.get("Value"))); mainDo.setToDockCode(conditionObject.getStr("Value"));
} }
if ("OnTheWayLocationCode".equals(conditionObject.get("ParamCode"))) { if ("OnTheWayLocationCode".equals(conditionObject.getStr("ParamCode"))) {
mainDo.setToWarehouseCode(String.valueOf(conditionObject.get("Value"))); mainDo.setToWarehouseCode(conditionObject.getStr("Value"));
} }
} }
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainService.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.putawayRecord;
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.putawayRecord.vo.PutawayRecordMainCreateReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO;
@ -15,6 +16,13 @@ import java.util.List;
*/ */
public interface PutawayRecordMainService { public interface PutawayRecordMainService {
/**
* 创建上架记录
* @param createReqVO 上架记录主
* @return id
*/
Long createPutawayRecordMain(PutawayRecordMainCreateReqVO createReqVO);
/** /**
* 获得上架记录主分页 * 获得上架记录主分页
* *

41
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java

@ -2,11 +2,23 @@ package com.win.module.wms.service.putawayRecord;
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.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainCreateReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainExportReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO; import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO;
import com.win.module.wms.convert.putawayRecord.PutawayRecordDetailConvert;
import com.win.module.wms.convert.putawayRecord.PutawayRecordMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO; import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO;
import com.win.module.wms.dal.mysql.putawayRecord.PutawayRecordDetailMapper;
import com.win.module.wms.dal.mysql.putawayRecord.PutawayRecordMainMapper; import com.win.module.wms.dal.mysql.putawayRecord.PutawayRecordMainMapper;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
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;
@ -23,6 +35,35 @@ public class PutawayRecordMainServiceImpl implements PutawayRecordMainService {
@Resource @Resource
private PutawayRecordMainMapper putawayRecordMainMapper; private PutawayRecordMainMapper putawayRecordMainMapper;
@Resource
private PutawayRecordDetailMapper putawayRecordDetailMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
@Override
@Transactional
public Long createPutawayRecordMain(PutawayRecordMainCreateReqVO createReqVO) {
PutawayRecordMainDO mainDO = PutawayRecordMainConvert.INSTANCE.convert(createReqVO);
List<PutawayRecordDetailDO> subDOList = PutawayRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDO.setNumber(number);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRecord");
mainDO.setBusinessType(businesstypeDO.getCode());
putawayRecordMainMapper.insert(mainDO);
for (PutawayRecordDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
putawayRecordDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(mainDO.getId(), "putawayRecordMain", "增加了检验记录", TrendsTypeEnum.CREATE);
// 返回
return mainDO.getId();
}
@Override @Override
public PageResult<PutawayRecordMainDO> getPutawayRecordMainPage(PutawayRecordMainPageReqVO pageReqVO) { public PageResult<PutawayRecordMainDO> getPutawayRecordMainPage(PutawayRecordMainPageReqVO pageReqVO) {

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

@ -329,7 +329,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
//增加业务类型 //增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord");
putawayRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); putawayRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO)); int result = putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO));
for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) {
PutawayRecordDetailCreateReqVO putawayRecordDetailCreateReqVO = new PutawayRecordDetailCreateReqVO(); PutawayRecordDetailCreateReqVO putawayRecordDetailCreateReqVO = new PutawayRecordDetailCreateReqVO();
BeanUtils.copyProperties(putawayRequestDetailDO, putawayRecordDetailCreateReqVO); BeanUtils.copyProperties(putawayRequestDetailDO, putawayRecordDetailCreateReqVO);
@ -363,11 +363,8 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
List<PutawayJobDetailDO> putawayJobDetailDOList = new ArrayList<>(); List<PutawayJobDetailDO> putawayJobDetailDOList = new ArrayList<>();
for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) {
PutawayJobDetailDO putawayJobDetailDO = PutawayJobDetailConvert.INSTANCE.convert(putawayRequestDetailDO); PutawayJobDetailDO putawayJobDetailDO = PutawayJobDetailConvert.INSTANCE.convert(putawayRequestDetailDO);
ItembasicDO itembasicDO = itembasicService.selectItembasic(putawayRequestDetailDO.getItemCode()); RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null);
RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, itembasicDO.getAbcClass(), itembasicDO.getType(), itembasicDO.getItemGroup(), itembasicDO.getProject(), LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus());
putawayJobDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null);
LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, itembasicDO.getCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus());
putawayJobDetailDO.setToLocationCode(locationDO.getCode()); putawayJobDetailDO.setToLocationCode(locationDO.getCode());
putawayJobDetailDO.setNumber(number); putawayJobDetailDO.setNumber(number);
putawayJobDetailDO.setMasterId(putawayJobDetailDO.getId()); putawayJobDetailDO.setMasterId(putawayJobDetailDO.getId());

75
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java

@ -2,16 +2,12 @@ package com.win.module.wms.service.rule;
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.itembasic.vo.ItembasicExportReqVO;
import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.controller.rule.vo.*;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.rule.RuleDO; import com.win.module.wms.dal.dataobject.rule.RuleDO;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 规则 Service 接口 * 规则 Service 接口
@ -27,6 +23,7 @@ public interface RuleService {
* @return 编号 * @return 编号
*/ */
Long createRule(@Valid RuleCreateReqVO createReqVO); Long createRule(@Valid RuleCreateReqVO createReqVO);
/** /**
* 获得用高级搜索规则分页列表 * 获得用高级搜索规则分页列表
* *
@ -41,6 +38,7 @@ public interface RuleService {
* @param updateReqVO 更新信息 * @param updateReqVO 更新信息
*/ */
void updateRule(@Valid RuleUpdateReqVO updateReqVO); void updateRule(@Valid RuleUpdateReqVO updateReqVO);
/** /**
* 获得物品基本信息列表 * 获得物品基本信息列表
* *
@ -85,21 +83,19 @@ public interface RuleService {
/** /**
* 采购默认策略 * 采购默认策略
* *
* @param supplierType 供应商类型
* @param supplierCode 供应商代码 * @param supplierCode 供应商代码
* @param weekday 星期几 * @param weekday 星期几
* @return * @return
*/ */
RuleRespVO deliverGoods(String supplierType, String supplierCode, String weekday); RuleRespVO deliverGoods(String supplierCode, String weekday);
/** /**
* 获取采购收货任务拆分策略 * 获取采购收货任务拆分策略
* *
* @param supplierType 供应商类型
* @param supplierCode 供应商代码 * @param supplierCode 供应商代码
* @return * @return
*/ */
RuleRespVO deliveryGoods(String supplierType, String supplierCode); RuleRespVO deliveryGoods(String supplierCode);
/** /**
* 获取检验策略 * 获取检验策略
@ -113,21 +109,16 @@ public interface RuleService {
/** /**
* 获取到货检验任务拆分策略 * 获取到货检验任务拆分策略
* *
* @param supplierType 供应商类型 * @param supplierCode 供应商代码
* @param itemCode 物品代码
* @return * @return
*/ */
RuleRespVO inspectSplit(String supplierType, String itemCode); RuleRespVO inspectSplit(String supplierCode);
/** /**
* 获取上架策略 * 获取上架策略
* *
* @param supplierCode 供应商 * @param supplierCode 供应商
* @param customerCode 客户 * @param customerCode 客户
* @param abcClass ABC类
* @param itemType 物品类型
* @param itemGroup 物品分组
* @param project 项目
* @param itemCode 物品代码 * @param itemCode 物品代码
* @param inventoryStatus 库存状态 * @param inventoryStatus 库存状态
* @param storageType 存储类型 * @param storageType 存储类型
@ -137,120 +128,86 @@ public interface RuleService {
* @param volume 体积 * @param volume 体积
* @return * @return
*/ */
RuleRespVO grounding(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, RuleRespVO grounding(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, String area, String volume);
String itemCode, String inventoryStatus, String storageType, String transactionType, String weight,
String area, String volume);
/** /**
* 获取存储容量策略 * 获取存储容量策略
* *
* @param itemGroup 物品分组
* @param project 项目
* @param itemCode 物品代码 * @param itemCode 物品代码
* @param warehouseCode 仓库代码
* @param areaCode 库区代码
* @param locationGroupCode 库位组代码
* @param locationCode 库位代码 * @param locationCode 库位代码
* @return * @return
*/ */
RuleRespVO storageCapacity(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, RuleRespVO storageCapacity(String itemCode, String locationCode);
String locationCode);
/** /**
* 获取下架策略 * 获取下架策略
* *
* @param supplierCode 供应商 * @param supplierCode 供应商
* @param customerCode 客户 * @param customerCode 客户
* @param abcClass ABC
* @param itemType 物品类型
* @param itemGroup 物品分组
* @param project 项目
* @param itemCode 物品代码 * @param itemCode 物品代码
* @param inventoryStatus 库存状态 * @param inventoryStatus 库存状态
* @param storageType 存储类型 * @param storageType 存储类型
* @param transactionType 库存事务 * @param transactionType 库存事务
* @return * @return
*/ */
RuleRespVO offShelf(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, RuleRespVO offShelf(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType);
String itemCode, String inventoryStatus, String storageType, String transactionType);
/** /**
* 获取补料策略 * 获取补料策略
* *
* @param itemGroup 物品分组
* @param project 项目
* @param itemCode 物品代码 * @param itemCode 物品代码
* @param warehouseCode 仓库代码
* @param areaCode 库区代码
* @param locationGroupCode 库位组代码
* @param locationCode 库位代码 * @param locationCode 库位代码
* @return * @return
*/ */
RuleRespVO replenishment(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode); RuleRespVO replenishment(String itemCode, String locationCode);
/** /**
* 获取管理精度策略 * 获取管理精度策略
* *
* @param supplierCode 供应商 * @param supplierCode 供应商
* @param customerCode 客户 * @param customerCode 客户
* @param abcClass ABC
* @param itemType 物品类型
* @param itemGroup 物品分组
* @param project 项目
* @param itemCode 物品代码 * @param itemCode 物品代码
* @param warehouseCode 仓库代码
* @param areaCode 库区代码
* @param locationGroupCode 库位组代码
* @param locationCode 库位代码 * @param locationCode 库位代码
* @param ignoreListOfItem 物品忽略名单 * @param ignoreListOfItem 物品忽略名单
* @param ignoreListOfLocation 库位忽略名单 * @param ignoreListOfLocation 库位忽略名单
* @return * @return
*/ */
RuleRespVO management(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, RuleRespVO management(String supplierCode, String customerCode, String itemCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation);
String warehouseCode, String areaCode, String locationGroupCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation);
/** /**
* 获取批次策略 * 获取批次策略
* *
* @param supplierCode 供应商 * @param supplierCode 供应商
* @param customerCode 客户 * @param customerCode 客户
* @param abcClass ABC
* @param itemType 物品类型
* @param itemGroup 物品分组
* @param project 项目
* @param itemCode 物品代码 * @param itemCode 物品代码
* @return * @return
*/ */
RuleRespVO batch(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode); RuleRespVO batch(String supplierCode, String customerCode, String itemCode);
/** /**
* SQ----WS * SQ----WS
* 获取库位存储策略 * 获取库位存储策略
* *
* @param warehouseCode 仓库代码
* @param areaCode 库区代码
* @param locationGroupCode 库位组代码
* @param locationCode 库位代码 * @param locationCode 库位代码
* @return * @return
*/ */
RuleRespVO warehouseStorage(String warehouseCode, String areaCode, String locationGroupCode, String locationCode); RuleRespVO warehouseStorage(String locationCode);
/** /**
* 获取器具容量策略 * 获取器具容量策略
* *
* @param containerType 器具类型 * @param containerType 器具类型
* @param itemGroup 物品分组
* @param projectCode 项目代码
* @param itemCode 物品代码 * @param itemCode 物品代码
* @return * @return
*/ */
RuleRespVO applianceCapacity(String containerType, String itemGroup, String projectCode, String itemCode); RuleRespVO applianceCapacity(String containerType, String itemCode);
/** /**
* 获取根据物品代码List以及库位代码管理精度策略 * 获取根据物品代码List以及库位代码管理精度策略
*
* @param reqVO * @param reqVO
* @return * @return
*/ */
List<HashMap<String,Object>> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO); List<HashMap<String, Object>> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO);
} }

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

@ -10,8 +10,14 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils; import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.controller.rule.vo.*;
import com.win.module.wms.convert.rule.RuleConvert; import com.win.module.wms.convert.rule.RuleConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.rule.RuleDO; import com.win.module.wms.dal.dataobject.rule.RuleDO;
import com.win.module.wms.dal.dataobject.supplier.SupplierDO;
import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper;
import com.win.module.wms.dal.mysql.location.LocationMapper;
import com.win.module.wms.dal.mysql.rule.RuleMapper; import com.win.module.wms.dal.mysql.rule.RuleMapper;
import com.win.module.wms.dal.mysql.supplier.SupplierMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -33,10 +39,16 @@ public class RuleServiceImpl implements RuleService {
@Resource @Resource
private RuleMapper ruleMapper; private RuleMapper ruleMapper;
@Resource
private ItembasicMapper itembasicMapper;
@Resource
private SupplierMapper supplierMapper;
@Resource
private LocationMapper locationMapper;
@Override @Override
public Long createRule(RuleCreateReqVO createReqVO) { public Long createRule(RuleCreateReqVO createReqVO) {
validateRuleForCreateOrUpdate(createReqVO.getId(),createReqVO.getStrategyCode(),createReqVO.getPriority()); validateRuleForCreateOrUpdate(createReqVO.getId(), createReqVO.getStrategyCode(), createReqVO.getPriority());
// 插入 // 插入
RuleDO rule = RuleConvert.INSTANCE.convert(createReqVO); RuleDO rule = RuleConvert.INSTANCE.convert(createReqVO);
validateRule(rule); validateRule(rule);
@ -46,24 +58,24 @@ public class RuleServiceImpl implements RuleService {
} }
public void validateRule(RuleDO rule){ public void validateRule(RuleDO rule) {
RuleDO RuleDO = existRuleDO(rule); RuleDO RuleDO = existRuleDO(rule);
if(RuleDO!=null){ if (RuleDO != null) {
throw exception(RULE_PRIORITY_EXISTS); throw exception(RULE_PRIORITY_EXISTS);
} }
} }
public RuleDO existRuleDO(RuleDO rule){ public RuleDO existRuleDO(RuleDO rule) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", rule.getStrategyCode()); queryWrapper.eq("strategy_code", rule.getStrategyCode());
queryWrapper.eq("priority",rule.getPriority()); queryWrapper.eq("priority", rule.getPriority());
return ruleMapper.selectOne(queryWrapper); return ruleMapper.selectOne(queryWrapper);
} }
@Override @Override
public void updateRule(RuleUpdateReqVO updateReqVO) { public void updateRule(RuleUpdateReqVO updateReqVO) {
// 校验存在 // 校验存在
validateRuleForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getStrategyCode(),updateReqVO.getPriority()); validateRuleForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getStrategyCode(), updateReqVO.getPriority());
// 更新 // 更新
RuleDO updateObj = RuleConvert.INSTANCE.convert(updateReqVO); RuleDO updateObj = RuleConvert.INSTANCE.convert(updateReqVO);
ruleMapper.updateById(updateObj); ruleMapper.updateById(updateObj);
@ -76,6 +88,7 @@ public class RuleServiceImpl implements RuleService {
// 删除 // 删除
ruleMapper.deleteById(id); ruleMapper.deleteById(id);
} }
@Override @Override
public PageResult<RuleDO> getRuleSenior(CustomConditions conditions) { public PageResult<RuleDO> getRuleSenior(CustomConditions conditions) {
return ruleMapper.selectSenior(conditions); return ruleMapper.selectSenior(conditions);
@ -96,11 +109,13 @@ public class RuleServiceImpl implements RuleService {
public PageResult<RuleDO> getRulePage(RulePageReqVO pageReqVO) { public PageResult<RuleDO> getRulePage(RulePageReqVO pageReqVO) {
return ruleMapper.selectPage(pageReqVO); return ruleMapper.selectPage(pageReqVO);
} }
@Override @Override
public List<RuleDO> getRuleList(CustomConditions conditions) { public List<RuleDO> getRuleList(CustomConditions conditions) {
return ruleMapper.selectSeniorList(conditions); return ruleMapper.selectSeniorList(conditions);
} }
private void validateRuleForCreateOrUpdate(Long id, String strategyCode,Integer priority) {
private void validateRuleForCreateOrUpdate(Long id, String strategyCode, Integer priority) {
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
DataPermissionUtils.executeIgnore(() -> { DataPermissionUtils.executeIgnore(() -> {
validateRuleExists(id); validateRuleExists(id);
@ -109,6 +124,7 @@ public class RuleServiceImpl implements RuleService {
validatePriority(priority); validatePriority(priority);
}); });
} }
@VisibleForTesting @VisibleForTesting
private void validateRuleExists(Long id) { private void validateRuleExists(Long id) {
if (id == null) { if (id == null) {
@ -125,6 +141,7 @@ public class RuleServiceImpl implements RuleService {
throw exception(RULE_STRATEGYCODE_NOT_EXISTS); throw exception(RULE_STRATEGYCODE_NOT_EXISTS);
} }
} }
@VisibleForTesting @VisibleForTesting
private void validatePriority(Integer priority) { private void validatePriority(Integer priority) {
if (priority == null) { if (priority == null) {
@ -133,29 +150,26 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO deliverGoods(String supplierType, String supplierCode, String weekday) { public RuleRespVO deliverGoods(String supplierCode, String weekday) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S001"); queryWrapper.eq("strategy_code", "S001");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
//condition为空是默认规则,直接返回 //condition为空是默认规则,直接返回
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierType != null && !supplierType.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierType", supplierType);
}
if(supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode); params.put("SupplierCode", supplierCode);
} }
if(weekday != null && !weekday.isEmpty()) { if (weekday != null && !weekday.isEmpty()) {
params.put("Weekday", weekday); params.put("Weekday", weekday);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -163,26 +177,23 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO deliveryGoods(String supplierType, String supplierCode) { public RuleRespVO deliveryGoods(String supplierCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S002"); queryWrapper.eq("strategy_code", "S002");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
//condition为空是默认规则,直接返回 //condition为空是默认规则,直接返回
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierType != null && !supplierType.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierType", supplierType);
}
if(supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode); params.put("SupplierCode", supplierCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -195,18 +206,18 @@ public class RuleServiceImpl implements RuleService {
queryWrapper.eq("strategy_code", "S003"); queryWrapper.eq("strategy_code", "S003");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("SupplierCode", supplierCode); params.put("SupplierCode", supplierCode);
if(itemCode != null && !itemCode.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -214,25 +225,22 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO inspectSplit(String supplierType, String itemCode) { public RuleRespVO inspectSplit(String supplierCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S004"); queryWrapper.eq("strategy_code", "S004");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierType != null && !supplierType.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierType", supplierType); params.put("SupplierCode", supplierCode);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -240,58 +248,46 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO grounding(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, String area, String volume) { public RuleRespVO grounding(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType, String weight, String area, String volume) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S005"); queryWrapper.eq("strategy_code", "S005");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierCode != null && !supplierCode.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierType", supplierCode); params.put("SupplierType", supplierCode);
} }
if(customerCode != null && !customerCode.isEmpty()) { if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode); params.put("CustomerCode", customerCode);
} }
if(abcClass != null && !abcClass.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("AbcClass", abcClass);
}
if(itemType != null && !itemType.isEmpty()) {
params.put("ItemType", itemType);
}
if(itemGroup != null && !itemGroup.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(project != null && !project.isEmpty()) {
params.put("Project", project);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(inventoryStatus != null && !inventoryStatus.isEmpty()) { if (inventoryStatus != null && !inventoryStatus.isEmpty()) {
params.put("InventoryStatus", inventoryStatus); params.put("InventoryStatus", inventoryStatus);
} }
if(storageType != null && !storageType.isEmpty()) { if (storageType != null && !storageType.isEmpty()) {
params.put("StorageType", storageType); params.put("StorageType", storageType);
} }
if(transactionType != null && !transactionType.isEmpty()) { if (transactionType != null && !transactionType.isEmpty()) {
params.put("TransactionType", transactionType); params.put("TransactionType", transactionType);
} }
if(weight != null && !weight.isEmpty()) { if (weight != null && !weight.isEmpty()) {
params.put("Weight", weight); params.put("Weight", weight);
} }
if(area != null && !area.isEmpty()) { if (area != null && !area.isEmpty()) {
params.put("Area", area); params.put("Area", area);
} }
if(volume != null && !volume.isEmpty()) { if (volume != null && !volume.isEmpty()) {
params.put("Volume", volume); params.put("Volume", volume);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -299,40 +295,25 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO storageCapacity(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode) { public RuleRespVO storageCapacity(String itemCode, String locationCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S006"); queryWrapper.eq("strategy_code", "S006");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(itemGroup != null && !itemGroup.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(project != null && !project.isEmpty()) {
params.put("Project", project);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(warehouseCode != null && !warehouseCode.isEmpty()) { if (locationCode != null && !locationCode.isEmpty()) {
params.put("WarehouseCode", warehouseCode);
}
if(areaCode != null && !areaCode.isEmpty()) {
params.put("AreaCode", areaCode);
}
if(locationGroupCode != null && !locationGroupCode.isEmpty()) {
params.put("LocationGroupCode", locationGroupCode);
}
if(locationCode != null && !locationCode.isEmpty()) {
params.put("LocationCode", locationCode); params.put("LocationCode", locationCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -340,49 +321,37 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO offShelf(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, String inventoryStatus, String storageType, String transactionType) { public RuleRespVO offShelf(String supplierCode, String customerCode, String itemCode, String inventoryStatus, String storageType, String transactionType) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S007"); queryWrapper.eq("strategy_code", "S007");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierCode != null && !supplierCode.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode); params.put("SupplierCode", supplierCode);
} }
if(customerCode != null && !customerCode.isEmpty()) { if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode); params.put("CustomerCode", customerCode);
} }
if(abcClass != null && !abcClass.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("AbcClass", abcClass);
}
if(itemType != null && !itemType.isEmpty()) {
params.put("ItemType", itemType);
}
if(itemGroup != null && !itemGroup.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(project != null && !project.isEmpty()) {
params.put("Project", project);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(inventoryStatus != null && !inventoryStatus.isEmpty()) { if (inventoryStatus != null && !inventoryStatus.isEmpty()) {
params.put("InventoryStatus", inventoryStatus); params.put("InventoryStatus", inventoryStatus);
} }
if(storageType != null && !storageType.isEmpty()) { if (storageType != null && !storageType.isEmpty()) {
params.put("StorageType", storageType); params.put("StorageType", storageType);
} }
if(transactionType != null && !transactionType.isEmpty()) { if (transactionType != null && !transactionType.isEmpty()) {
params.put("TransactionType", transactionType); params.put("TransactionType", transactionType);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -390,37 +359,25 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO replenishment(String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode) { public RuleRespVO replenishment(String itemCode, String locationCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S008"); queryWrapper.eq("strategy_code", "S008");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(project != null && !project.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("Project", project);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(warehouseCode != null && !warehouseCode.isEmpty()) { if (locationCode != null && !locationCode.isEmpty()) {
params.put("WarehouseCode", warehouseCode);
}
if(areaCode != null && !areaCode.isEmpty()) {
params.put("AreaCode", areaCode);
}
if(locationGroupCode != null && !locationGroupCode.isEmpty()) {
params.put("LocationGroupCode", locationGroupCode);
}
if(locationCode != null && !locationCode.isEmpty()) {
params.put("LocationCode", locationCode); params.put("LocationCode", locationCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -428,58 +385,37 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO management(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode, String warehouseCode, String areaCode, String locationGroupCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation) { public RuleRespVO management(String supplierCode, String customerCode, String itemCode, String locationCode, String ignoreListOfItem, String ignoreListOfLocation) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S009"); queryWrapper.eq("strategy_code", "S009");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierCode != null && !supplierCode.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode); params.put("SupplierCode", supplierCode);
} }
if(customerCode != null && !customerCode.isEmpty()) { if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode); params.put("CustomerCode", customerCode);
} }
if(abcClass != null && !abcClass.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("AbcClass", abcClass);
}
if(itemType != null && !itemType.isEmpty()) {
params.put("ItemType", itemType);
}
if(itemGroup != null && !itemGroup.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(project != null && !project.isEmpty()) {
params.put("Project", project);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(warehouseCode != null && !warehouseCode.isEmpty()) { if (locationCode != null && !locationCode.isEmpty()) {
params.put("WarehouseCode", warehouseCode);
}
if(areaCode != null && !areaCode.isEmpty()) {
params.put("AreaCode", areaCode);
}
if(locationGroupCode != null && !locationGroupCode.isEmpty()) {
params.put("LocationGroupCode", locationGroupCode);
}
if(locationCode != null && !locationCode.isEmpty()) {
params.put("LocationCode", locationCode); params.put("LocationCode", locationCode);
} }
if(ignoreListOfItem != null && !ignoreListOfItem.isEmpty()) { if (ignoreListOfItem != null && !ignoreListOfItem.isEmpty()) {
params.put("IgnoreListOfItem", ignoreListOfItem); params.put("IgnoreListOfItem", ignoreListOfItem);
} }
if(ignoreListOfLocation != null && !ignoreListOfLocation.isEmpty()) { if (ignoreListOfLocation != null && !ignoreListOfLocation.isEmpty()) {
params.put("IgnoreListOfLocation", ignoreListOfLocation); params.put("IgnoreListOfLocation", ignoreListOfLocation);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -487,40 +423,28 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO batch(String supplierCode, String customerCode, String abcClass, String itemType, String itemGroup, String project, String itemCode) { public RuleRespVO batch(String supplierCode, String customerCode, String itemCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S010"); queryWrapper.eq("strategy_code", "S010");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(supplierCode != null && !supplierCode.isEmpty()) { if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode); params.put("SupplierCode", supplierCode);
} }
if(customerCode != null && !customerCode.isEmpty()) { if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode); params.put("CustomerCode", customerCode);
} }
if(abcClass != null && !abcClass.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("AbcClass", abcClass);
}
if(itemType != null && !itemType.isEmpty()) {
params.put("ItemType", itemType);
}
if(itemGroup != null && !itemGroup.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(project != null && !project.isEmpty()) {
params.put("Project", project);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -529,31 +453,22 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO warehouseStorage(String warehouseCode, String areaCode, String locationGroupCode, String locationCode) { public RuleRespVO warehouseStorage(String locationCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S011"); queryWrapper.eq("strategy_code", "S011");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
if(warehouseCode != null && !warehouseCode.isEmpty()) { if (locationCode != null && !locationCode.isEmpty()) {
params.put("WarehouseCode", warehouseCode);
}
if(areaCode != null && !areaCode.isEmpty()) {
params.put("AreaCode", areaCode);
}
if(locationGroupCode != null && !locationGroupCode.isEmpty()) {
params.put("LocationGroupCode", locationGroupCode);
}
if(locationCode != null && !locationCode.isEmpty()) {
params.put("LocationCode", locationCode); params.put("LocationCode", locationCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -561,29 +476,23 @@ public class RuleServiceImpl implements RuleService {
} }
@Override @Override
public RuleRespVO applianceCapacity(String containerType, String itemGroup, String projectCode, String itemCode) { public RuleRespVO applianceCapacity(String containerType, String itemCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S012"); queryWrapper.eq("strategy_code", "S012");
queryWrapper.orderByDesc("priority"); queryWrapper.orderByDesc("priority");
List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper); List<RuleDO> ruleDOList = ruleMapper.selectList(queryWrapper);
for(RuleDO ruleDO : ruleDOList) { for (RuleDO ruleDO : ruleDOList) {
String condition = ruleDO.getCondition(); String condition = ruleDO.getCondition();
if(condition == null || condition.isEmpty()) { if (condition == null || condition.isEmpty()) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
JSONArray conditionArray = JSONUtil.parseArray(condition); JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("ContainerType", containerType); params.put("ContainerType", containerType);
if(itemGroup != null && !itemGroup.isEmpty()) { if (itemCode != null && !itemCode.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(projectCode != null && !projectCode.isEmpty()) {
params.put("ProjectCode", projectCode);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode); params.put("ItemCode", itemCode);
} }
if(this.forEachParams(params, conditionArray)) { if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO); return RuleConvert.INSTANCE.convert(ruleDO);
} }
} }
@ -592,14 +501,13 @@ public class RuleServiceImpl implements RuleService {
@Override @Override
public List<HashMap<String, Object>> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO) { public List<HashMap<String, Object>> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO) {
List<HashMap<String,Object>> list = new ArrayList<>(); List<HashMap<String, Object>> list = new ArrayList<>();
for (String code:reqVO.getItemCodes()){ for (String code : reqVO.getItemCodes()) {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
RuleRespVO RespVO = management(null, null, null, null, null, null, code, null, null, RuleRespVO RespVO = management(null, null, code, reqVO.getLocationCode(), null, null);
null, reqVO.getLocationCode(), null, null);
JSONObject entries = JSONUtil.parseObj(RespVO.getConfiguration()); JSONObject entries = JSONUtil.parseObj(RespVO.getConfiguration());
map.put("ManagementPrecision",entries.get("ManagementPrecision")); map.put("ManagementPrecision", entries.get("ManagementPrecision"));
map.put("itemCode",code); map.put("itemCode", code);
list.add(map); list.add(map);
} }
return list; return list;
@ -607,18 +515,39 @@ public class RuleServiceImpl implements RuleService {
/** /**
* 循环校验参数 * 循环校验参数
*
* @param params 参数 * @param params 参数
* @param conditionArray 条件json数组 * @param conditionArray 条件json数组
* @return * @return
*/ */
private boolean forEachParams(Map<String, String> params, JSONArray conditionArray) { private boolean forEachParams(Map<String, String> params, JSONArray conditionArray) {
Map<String, String> paramsMap = new HashMap<>();
boolean result1 = false; boolean result1 = false;
for(int i = 0; i < conditionArray.size(); i++) { //填充参数
JSONObject conditionObject = conditionArray.getJSONObject(i);
for (String key : params.keySet()) { for (String key : params.keySet()) {
if(key.equals(conditionObject.get("ParamCode")) && conditionObject.get("ParamCode") != null) { if ("SupplierCode".equals(key)) {
SupplierDO supplierDO = supplierMapper.selectByCode(params.get(key));
paramsMap.put("SupplierType", supplierDO.getType());
} else if ("ItemCode".equals(key)) {
ItembasicDO itembasicDO = itembasicMapper.selectByCode(params.get(key));
paramsMap.put("AbcClass", itembasicDO.getAbcClass());
paramsMap.put("ItemType", itembasicDO.getType());
paramsMap.put("ItemGroup", itembasicDO.getItemGroup());
paramsMap.put("Project", itembasicDO.getProject());
} else if ("LocationCode".equals(key)) {
LocationDO locationDO = locationMapper.selectByCode(params.get(key));
paramsMap.put("WarehouseCode", locationDO.getWarehouseCode());
paramsMap.put("AreaCode", locationDO.getAreaCode());
paramsMap.put("LocationGroupCode", locationDO.getLocationGroupCode());
}
paramsMap.put(key, params.get(key));
}
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) {
boolean result2 = this.checkCondition(conditionObject, key, params.get(key)); boolean result2 = this.checkCondition(conditionObject, key, params.get(key));
if(!result2) { if (!result2) {
result1 = false; result1 = false;
break; break;
} else { } else {
@ -632,56 +561,57 @@ public class RuleServiceImpl implements RuleService {
/** /**
* 判断条件 * 判断条件
*
* @param conditionObject 条件json * @param conditionObject 条件json
* @param paramCode 条件key * @param paramCode 条件key
* @param paramValue 条件value * @param paramValue 条件value
* @return * @return
*/ */
private boolean checkCondition(JSONObject conditionObject, String paramCode, String paramValue) { private boolean checkCondition(JSONObject conditionObject, String paramCode, String paramValue) {
if(conditionObject.get("ParamCode").equals(paramCode)) { if (conditionObject.get("ParamCode").equals(paramCode)) {
String operator = conditionObject.get("Operator").toString(); String operator = conditionObject.get("Operator").toString();
String value = conditionObject.get("Value").toString(); String value = conditionObject.get("Value").toString();
if(paramValue != null && !paramValue.isEmpty()) { if (paramValue != null && !paramValue.isEmpty()) {
if(operator.equals("==")) { if (operator.equals("==")) {
if(value.equals(paramValue)) { if (value.equals(paramValue)) {
return true; return true;
} }
} else if(operator.equals("!=")) { } else if (operator.equals("!=")) {
if(!value.equals(paramValue)) { if (!value.equals(paramValue)) {
return true; return true;
} }
} else if(operator.equals(">")) { } else if (operator.equals(">")) {
BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value1 = new BigDecimal(paramValue);
BigDecimal value2 = new BigDecimal(value); BigDecimal value2 = new BigDecimal(value);
if(value1.compareTo(value2) > 0) { if (value1.compareTo(value2) > 0) {
return true; return true;
} }
} else if(operator.equals("<")) { } else if (operator.equals("<")) {
BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value1 = new BigDecimal(paramValue);
BigDecimal value2 = new BigDecimal(value); BigDecimal value2 = new BigDecimal(value);
if(value1.compareTo(value2) < 0) { if (value1.compareTo(value2) < 0) {
return true; return true;
} }
} else if(operator.equals(">=")) { } else if (operator.equals(">=")) {
BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value1 = new BigDecimal(paramValue);
BigDecimal value2 = new BigDecimal(value); BigDecimal value2 = new BigDecimal(value);
if(value1.compareTo(value2) >= 0) { if (value1.compareTo(value2) >= 0) {
return true; return true;
} }
} else if(operator.equals("<=")) { } else if (operator.equals("<=")) {
BigDecimal value1 = new BigDecimal(paramValue); BigDecimal value1 = new BigDecimal(paramValue);
BigDecimal value2 = new BigDecimal(value); BigDecimal value2 = new BigDecimal(value);
if(value1.compareTo(value2) <= 0) { if (value1.compareTo(value2) <= 0) {
return true; return true;
} }
} else if(operator.equals("IN")) { } else if (operator.equals("IN")) {
List<String> valueList = Arrays.asList(value.split(",")); List<String> valueList = Arrays.asList(value.split(","));
if(valueList.contains(paramValue)) { if (valueList.contains(paramValue)) {
return true; return true;
} }
} else if(operator.equals("NOT IN")) { } else if (operator.equals("NOT IN")) {
List<String> valueList = Arrays.asList(value.split(",")); List<String> valueList = Arrays.asList(value.split(","));
if(!valueList.contains(paramValue)) { if (!valueList.contains(paramValue)) {
return true; return true;
} }
} }

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java

@ -2,7 +2,6 @@ package com.win.module.wms.service.supplier;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
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;
@ -18,7 +17,6 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
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;
@ -38,7 +36,7 @@ public class SupplierServiceImpl implements SupplierService {
@Override @Override
public Long createSupplier(SupplierCreateReqVO createReqVO) { public Long createSupplier(SupplierCreateReqVO createReqVO) {
validateSupplierForCreateOrUpdate(createReqVO.getId(),createReqVO.getCode(),createReqVO.getShortName(),createReqVO.getAvailable()); validateSupplierForCreateOrUpdate(createReqVO.getId(), createReqVO.getCode(), createReqVO.getShortName(), createReqVO.getAvailable());
// 插入 // 插入
SupplierDO supplier = SupplierConvert.INSTANCE.convert(createReqVO); SupplierDO supplier = SupplierConvert.INSTANCE.convert(createReqVO);
supplierMapper.insert(supplier); supplierMapper.insert(supplier);
@ -49,15 +47,17 @@ public class SupplierServiceImpl implements SupplierService {
@Override @Override
public void updateSupplier(SupplierUpdateReqVO updateReqVO) { public void updateSupplier(SupplierUpdateReqVO updateReqVO) {
// 校验存在 // 校验存在
validateSupplierForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getCode(),updateReqVO.getShortName(),updateReqVO.getAvailable()); validateSupplierForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getCode(), updateReqVO.getShortName(), updateReqVO.getAvailable());
// 更新 // 更新
SupplierDO updateObj = SupplierConvert.INSTANCE.convert(updateReqVO); SupplierDO updateObj = SupplierConvert.INSTANCE.convert(updateReqVO);
supplierMapper.updateById(updateObj); supplierMapper.updateById(updateObj);
} }
@Override @Override
public PageResult<SupplierDO> getSupplierSenior(CustomConditions conditions) { public PageResult<SupplierDO> getSupplierSenior(CustomConditions conditions) {
return supplierMapper.selectSenior(conditions); return supplierMapper.selectSenior(conditions);
} }
@Override @Override
public void deleteSupplier(Long id) { public void deleteSupplier(Long id) {
// 校验存在 // 校验存在
@ -75,10 +75,12 @@ public class SupplierServiceImpl implements SupplierService {
public List<SupplierDO> getSupplierList(CustomConditions conditions) { public List<SupplierDO> getSupplierList(CustomConditions conditions) {
return supplierMapper.selectSeniorList(conditions); return supplierMapper.selectSeniorList(conditions);
} }
@Override @Override
public List<SupplierDO> getSupplierList() { public List<SupplierDO> getSupplierList() {
return supplierMapper.selectAllList(); return supplierMapper.selectAllList();
} }
@Override @Override
public PageResult<SupplierDO> getSupplierPage(SupplierPageReqVO pageReqVO) { public PageResult<SupplierDO> getSupplierPage(SupplierPageReqVO pageReqVO) {
return supplierMapper.selectPage(pageReqVO); return supplierMapper.selectPage(pageReqVO);
@ -137,7 +139,7 @@ public class SupplierServiceImpl implements SupplierService {
} }
}); });
//错误不为空并非部分更新,手工回滚 //错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) { if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} }
return errorList; return errorList;
@ -148,12 +150,13 @@ public class SupplierServiceImpl implements SupplierService {
DataPermissionUtils.executeIgnore(() -> { DataPermissionUtils.executeIgnore(() -> {
validateSupplierExists(id); validateSupplierExists(id);
// 校验code唯一 // 校验code唯一
validateCodeExists(id,code); validateCodeExists(id, code);
validateShortnameExists(shortname); validateShortnameExists(shortname);
validateAvailableExists(available); validateAvailableExists(available);
}); });
} }
@VisibleForTesting @VisibleForTesting
private void validateSupplierExists(Long id) { private void validateSupplierExists(Long id) {
if (id == null) { if (id == null) {
@ -165,7 +168,7 @@ public class SupplierServiceImpl implements SupplierService {
} }
@VisibleForTesting @VisibleForTesting
private void validateCodeExists(Long id,String code) { private void validateCodeExists(Long id, String code) {
if (code.isEmpty()) { if (code.isEmpty()) {
throw exception(SUPPLIER_MOUBLE_EXISTSNO); throw exception(SUPPLIER_MOUBLE_EXISTSNO);
} }
@ -184,6 +187,7 @@ public class SupplierServiceImpl implements SupplierService {
throw exception(SUPPLIER_NOT_EXISTSNO); throw exception(SUPPLIER_NOT_EXISTSNO);
} }
} }
@VisibleForTesting @VisibleForTesting
private void validateShortnameExists(String shortname) { private void validateShortnameExists(String shortname) {
if (shortname.isEmpty()) { if (shortname.isEmpty()) {
@ -198,14 +202,13 @@ public class SupplierServiceImpl implements SupplierService {
throw exception(SUPPLIER_AVAILABLE_NOT_EXISTS); throw exception(SUPPLIER_AVAILABLE_NOT_EXISTS);
} }
} }
@Override @Override
public SupplierDO selectSupplier(String code) { public SupplierDO selectSupplier(String code) {
QueryWrapper queryWrapper = new QueryWrapper(); SupplierDO supplierDO = supplierMapper.selectByCode(code);
queryWrapper.eq("code",code); if (supplierDO != null) {
SupplierDO supplierDO = supplierMapper.selectOne(queryWrapper);
if(supplierDO != null && supplierDO.getAvailable().equals("TRUE")){
return supplierDO; return supplierDO;
}else { } else {
throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
} }
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java

@ -12,13 +12,10 @@ 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.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordMainCreateReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordMainCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.*; import com.win.module.wms.controller.supplierdeliverRequest.vo.*;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordDetailConvert; import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordDetailConvert;
import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordMainConvert; import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordMainConvert;
import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestDetailConvert; import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestDetailConvert;
@ -255,7 +252,7 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
//主表校验 校验供应商基础信息 //主表校验 校验供应商基础信息
private RuleRespVO validatordeliverGoods() { private RuleRespVO validatordeliverGoods() {
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null, null); RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null);
return ruleRespVO; return ruleRespVO;
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transaction/TransactionServiceImpl.java

@ -63,7 +63,7 @@ public class TransactionServiceImpl implements TransactionService {
BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO(); BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO();
BeanUtils.copyProperties(createReqVO, balanceCreateReqVO); BeanUtils.copyProperties(createReqVO, balanceCreateReqVO);
balanceCreateReqVO.setLastTransNumber(number); balanceCreateReqVO.setLastTransNumber(number);
RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getWarehouseCode(), createReqVO.getAreaCode(), createReqVO.getLocationGroupCode(), createReqVO.getLocationCode()); RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getLocationCode());
balanceMapper.updateBalanceQty(balanceCreateReqVO, ruleRespVO, createReqVO.getInventoryAction()); balanceMapper.updateBalanceQty(balanceCreateReqVO, ruleRespVO, createReqVO.getInventoryAction());
} }
return result; return result;
@ -82,7 +82,7 @@ public class TransactionServiceImpl implements TransactionService {
BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO(); BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO();
BeanUtils.copyProperties(createReqVO, balanceCreateReqVO); BeanUtils.copyProperties(createReqVO, balanceCreateReqVO);
balanceCreateReqVO.setLastTransNumber(number); balanceCreateReqVO.setLastTransNumber(number);
RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getWarehouseCode(), createReqVO.getAreaCode(), createReqVO.getLocationGroupCode(), createReqVO.getLocationCode()); RuleRespVO ruleRespVO = ruleService.warehouseStorage(createReqVO.getLocationCode());
balanceMapper.updateBalanceQty(balanceCreateReqVO, ruleRespVO, createReqVO.getInventoryAction()); balanceMapper.updateBalanceQty(balanceCreateReqVO, ruleRespVO, createReqVO.getInventoryAction());
} }
for(TransferlogCreateReqVO transferlogCreateReqVO : transferlogCreateReqVOList) { for(TransferlogCreateReqVO transferlogCreateReqVO : transferlogCreateReqVOList) {

45
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

@ -248,17 +248,13 @@ public class JobUtils {
/** /**
* 获取当前库位采用的获取库位存储策略信息 * 获取当前库位采用的获取库位存储策略信息
* *
* @param warehouseCode 仓库代码
* @param areaCode 区域代码
* @param locationGroupCode 库位组code
* @param plocationCode 库位 * @param plocationCode 库位
* @return 库位存储策略信息 * @return 库位存储策略信息
* @author chenfang * @author chenfang
*/ */
//TODO 后期具体业务时需判断策略相关标签状态(还没写) //TODO 后期具体业务时需判断策略相关标签状态(还没写)
public RuleRespVO selectLocationStrategyRule(String warehouseCode, String areaCode, String locationGroupCode, String plocationCode) { public RuleRespVO selectLocationStrategyRule(String plocationCode) {
RuleRespVO ruleRespVO = ruleService.warehouseStorage(warehouseCode, areaCode, locationGroupCode, plocationCode); return ruleService.warehouseStorage(plocationCode);
return ruleRespVO;
} }
/** /**
@ -270,7 +266,7 @@ public class JobUtils {
* @author chenfang * @author chenfang
*/ */
public RuleRespVO selectLocationAndModRelation(String pitemCode) { public RuleRespVO selectLocationAndModRelation(String pitemCode) {
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, pitemCode, null, null, null, null, null, null); RuleRespVO grounding = ruleService.grounding(null, null, pitemCode, null, null, null, null, null, null);
if (grounding != null) { if (grounding != null) {
return grounding; return grounding;
} else { } else {
@ -435,8 +431,7 @@ public class JobUtils {
* @return * @return
*/ */
public List<BalanceDO> selectlocationReturnManagementAccuracyToBalance(String itemcode, String packingnumber, String batch, String locationcode, List<String> inventoryStatus) { public List<BalanceDO> selectlocationReturnManagementAccuracyToBalance(String itemcode, String packingnumber, String batch, String locationcode, List<String> inventoryStatus) {
RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
null, locationcode, null, null);
List<BalanceDO> balanceDO = null; List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode); balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode);
@ -464,8 +459,7 @@ public class JobUtils {
* @author lianhongxi * @author lianhongxi
*/ */
public List<BalanceDO> selectlocationReturnManagementAccuracy(String itemcode, String packingnumber, String batch, String locationcode, List<String> inventoryStatus) { public List<BalanceDO> selectlocationReturnManagementAccuracy(String itemcode, String packingnumber, String batch, String locationcode, List<String> inventoryStatus) {
RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
null, locationcode, null, null);
List<BalanceDO> balanceDO = null; List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode); balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode);
@ -515,8 +509,7 @@ public class JobUtils {
* @author lianhongxi * @author lianhongxi
*/ */
public List<ExpectoutDO> selectLocatioNew(String itemcode, String packingnumber, String batch, String locationcode, List<String> inventoryStatus) { public List<ExpectoutDO> selectLocatioNew(String itemcode, String packingnumber, String batch, String locationcode, List<String> inventoryStatus) {
RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
null, locationcode, null, null);
List<ExpectoutDO> expectoutDO = null; List<ExpectoutDO> expectoutDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
expectoutDO = expectoutService.selectNumberNew(itemcode, inventoryStatus, locationcode); expectoutDO = expectoutService.selectNumberNew(itemcode, inventoryStatus, locationcode);
@ -574,7 +567,7 @@ public class JobUtils {
//查询储存容量 //查询储存容量
public String selectlocationstrategy(String itemcode, String locationcode) { public String selectlocationstrategy(String itemcode, String locationcode) {
RuleRespVO storagecapacityrule = ruleService.storageCapacity(null, null, itemcode, null, null, null, locationcode); RuleRespVO storagecapacityrule = ruleService.storageCapacity(itemcode, locationcode);
String[] StorageQty = storagecapacityrule.getConfiguration().split(","); String[] StorageQty = storagecapacityrule.getConfiguration().split(",");
String[] StorageQty1 = StorageQty[1].split(":"); String[] StorageQty1 = StorageQty[1].split(":");
String StorageQty2 = StorageQty1[1]; String StorageQty2 = StorageQty1[1];
@ -586,8 +579,7 @@ public class JobUtils {
//库存不应该存在 //库存不应该存在
public List<BalanceDO> warehouseStocknNotExist(String itemcode, String packingnumber, String locationcode, List<String> inventoryStatus) { public List<BalanceDO> warehouseStocknNotExist(String itemcode, String packingnumber, String locationcode, List<String> inventoryStatus) {
RuleRespVO managementtRule = ruleService.management(null, null, null, null, null, null, itemcode, null, null, RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
null, locationcode, null, null);
List<BalanceDO> balanceDO = null; List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus); balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus);
@ -622,8 +614,7 @@ public class JobUtils {
* @author lianhongxi * @author lianhongxi
*/ */
public List<ExpectoutDO> selectExpectort(String pitemcode, String ppackingnumber, String pbatch, List<String> pinventoryStatus, String plocationcode) { public List<ExpectoutDO> selectExpectort(String pitemcode, String ppackingnumber, String pbatch, List<String> pinventoryStatus, String plocationcode) {
RuleRespVO management = ruleService.management(null, null, null, null, null, null, pitemcode, RuleRespVO management = ruleService.management(null, null, pitemcode, plocationcode, null, null);
null, null, null, plocationcode, null, null);
List<ExpectoutDO> expectoutDO = null; List<ExpectoutDO> expectoutDO = null;
if (management != null) { if (management != null) {
String[] splits = management.getConfiguration().split("\""); String[] splits = management.getConfiguration().split("\"");
@ -742,10 +733,10 @@ public class JobUtils {
*/ */
public List<BalanceDO> getBalanceByBatchOffShelf(String itemCode, String inventoryStatus, String projectCode, BigDecimal qty, String locationTypes ) { public List<BalanceDO> getBalanceByBatchOffShelf(String itemCode, String inventoryStatus, String projectCode, BigDecimal qty, String locationTypes ) {
List<String> locationList = new ArrayList<>(); List<String> locationList = new ArrayList<>();
if (locationTypes != null && !locationTypes.equals("")) { if (locationTypes != null && !locationTypes.isEmpty()) {
String[] locationTypesStrs = locationTypes.split(","); String[] locationTypesStrs = locationTypes.split(",");
for(int i=0;i<locationTypesStrs.length;i++) { for(int i=0;i<locationTypesStrs.length;i++) {
QueryWrapper qw = new QueryWrapper(); QueryWrapper<LocationDO> qw = new QueryWrapper<>();
qw.eq("type",locationTypesStrs[i]); qw.eq("type",locationTypesStrs[i]);
List<LocationDO> locationDOSList = locationMapper.selectList(qw); List<LocationDO> locationDOSList = locationMapper.selectList(qw);
locationDOSList.forEach(itemLocation -> { locationDOSList.forEach(itemLocation -> {
@ -753,22 +744,20 @@ public class JobUtils {
}); });
} }
} }
// 批次策略 // 批次策略
RuleRespVO ruleRespVOBatch = ruleService.batch(null, null,null,null,null,projectCode,itemCode); RuleRespVO ruleRespVOBatch = ruleService.batch(null, null,itemCode);
JSONObject jsonObjectBatch = JSONUtil.parseObj(ruleRespVOBatch.getConfiguration()); JSONObject jsonObjectBatch = JSONUtil.parseObj(ruleRespVOBatch.getConfiguration());
// 下架策略 RuleRespVO ruleRespVOOffShelf = ruleService.offShelf(null,null,itemCode,inventoryStatus,null,null);
RuleRespVO ruleRespVOOffShelf = ruleService.offShelf(null,null,null,null,null,projectCode,itemCode,inventoryStatus,null,null);
JSONObject jsonObjectOffShelf = JSONUtil.parseObj(ruleRespVOOffShelf.getConfiguration()); JSONObject jsonObjectOffShelf = JSONUtil.parseObj(ruleRespVOOffShelf.getConfiguration());
// 查询库存余额 // 查询库存余额
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.select("item_code", "batch", "SUM(qty) as qty", "inventory_status","warehouse_code", "area_code", "location_group_code", "location_code", "produce_date", "arrive_date"); queryWrapper.select("item_code", "batch", "SUM(qty) as qty", "inventory_status","warehouse_code", "area_code", "location_group_code", "location_code", "produce_date", "arrive_date");
if (itemCode != null && !itemCode.equals("")) { if (itemCode != null && !itemCode.isEmpty()) {
queryWrapper.eq("item_code", itemCode); queryWrapper.eq("item_code", itemCode);
} else { } else {
throw exception(BALANCE_ITEM_NOT_EXISTS); throw exception(BALANCE_ITEM_NOT_EXISTS);
} }
if (inventoryStatus != null && !inventoryStatus.equals("")) { if (inventoryStatus != null && !inventoryStatus.isEmpty()) {
queryWrapper.eq("inventory_status", inventoryStatus); queryWrapper.eq("inventory_status", inventoryStatus);
} else { } else {
throw exception(BALANCE_STATU_NOT_EXISTS); throw exception(BALANCE_STATU_NOT_EXISTS);
@ -777,7 +766,7 @@ public class JobUtils {
throw exception(BALANCE_QTY_NOT_EXISTS); throw exception(BALANCE_QTY_NOT_EXISTS);
} }
// 根据库存类型 过滤 查询的库位 // 根据库存类型 过滤 查询的库位
if (locationList != null && locationList.size() > 0) { if (locationList != null && !locationList.isEmpty()) {
queryWrapper.in("location_code", locationList); queryWrapper.in("location_code", locationList);
} }
// 根据下架策略 作为查询库存余额条件 // 根据下架策略 作为查询库存余额条件

Loading…
Cancel
Save