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. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java
  38. 178
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java
  39. 15
      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.module.system.api.user.AdminUserApi;
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.CountRecordMainExportReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO;
import com.win.module.wms.controller.countRecord.vo.*;
import com.win.module.wms.convert.countRecord.CountRecordMainConvert;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
@ -51,6 +48,13 @@ public class CountRecordMainController {
@Resource
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")
@Operation(summary = "获得盘点记录主分页")
@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 org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ -21,7 +20,6 @@ public class CountRecordDetailBaseVO {
private Long id;
@Schema(description = "盘点明细号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "盘点明细号不能为空")
private String countDetailNumber;
@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;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
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")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
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.module.system.api.user.AdminUserApi;
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.InspectRecordMainExportReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainRespVO;
import com.win.module.wms.controller.inspectRecord.vo.*;
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.InspectRecordMainDO;
@ -50,6 +47,13 @@ public class InspectRecordMainController {
@Resource
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")
@Operation(summary = "获得检验记录主分页")
@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;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
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;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "任务单号")
private String jobNumber;
@Schema(description = "采购收货记录单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "采购收货记录单号不能为空")
private String purchaseReceiptRecordNumber;
@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;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
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")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
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.module.system.api.user.AdminUserApi;
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.PurchasereceiptRecordMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainPageReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainRespVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.*;
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.PurchasereceiptRecordMainDO;
@ -46,13 +43,19 @@ public class PurchasereceiptRecordMainController {
private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
@Resource
private PurchasereceiptRecordDetailService purchasereceiptRecordDetailService;
@Resource
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")
@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) {
PageResult<PurchasereceiptRecordMainDO> pageResult = purchasereceiptRecordMainService.getPurchasereceiptRecordMainSenior(conditions);
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;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "任务单号")
@ -68,7 +67,6 @@ public class PurchasereceiptRecordMainBaseVO {
private String inTransaction;
@Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "执行时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
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;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
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")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
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.module.system.api.user.AdminUserApi;
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.PutawayRecordMainExportReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainPageReqVO;
import com.win.module.wms.controller.putawayRecord.vo.PutawayRecordMainRespVO;
import com.win.module.wms.controller.putawayRecord.vo.*;
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.PutawayRecordMainDO;
@ -46,11 +43,16 @@ public class PutawayRecordMainController {
private PutawayRecordMainService putawayRecordMainService;
@Resource
private PutawayRecordDetailService putawayRecordDetailService;
@Resource
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")
@Operation(summary = "获得上架记录主分页")
@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;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
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")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
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;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
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.CountRecordDetailRespVO;
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.factory.Mappers;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import java.util.List;
/**
* 盘点记录子 Convert
@ -34,4 +33,6 @@ public interface CountRecordDetailConvert {
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;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
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.InspectRecordDetailRespVO;
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.factory.Mappers;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO;
import java.util.List;
/**
* 检验记录子 Convert
@ -34,4 +33,6 @@ public interface InspectRecordDetailConvert {
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;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
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.PurchasereceiptRecordDetailRespVO;
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.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import java.util.List;
/**
* 采购收货记录子 Convert
@ -34,4 +33,6 @@ public interface PurchasereceiptRecordDetailConvert {
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;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
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.PutawayRecordDetailRespVO;
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.factory.Mappers;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordDetailDO;
import java.util.List;
/**
* 上架记录子 Convert
@ -34,4 +33,6 @@ public interface PutawayRecordDetailConvert {
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.ItembasicPageReqVO;
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 java.util.List;
@ -23,7 +22,7 @@ import java.util.List;
public interface ItembasicMapper extends BaseMapperX<ItembasicDO> {
default ItembasicDO selectByCode(String code) {
return selectOne(ItembasicDO::getCode, code);
return selectOne(ItembasicDO::getCode, code, ItembasicDO::getAvailable, "TRUE");
}
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.module.wms.controller.location.vo.LocationExportReqVO;
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 org.apache.ibatis.annotations.Mapper;
@ -79,7 +78,10 @@ public interface LocationMapper extends BaseMapperX<LocationDO> {
.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) {
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;
import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
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.query.LambdaQueryWrapperX;
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.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 org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 供应商 Mapper
*
@ -24,7 +22,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface SupplierMapper extends BaseMapperX<SupplierDO> {
default SupplierDO selectByCode(String code) {
return selectOne(SupplierDO::getCode, code);
return selectOne(SupplierDO::getCode, code, SupplierDO::getAvailable, "TRUE");
}
default PageResult<SupplierDO> selectPage(SupplierPageReqVO reqVO) {
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.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.CountRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
@ -15,6 +16,13 @@ import java.util.List;
*/
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.system.api.serialnumber.SerialNumberApi;
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.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.CountRecordMainDO;
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.CountadjustRequestMainMapper;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@ -49,6 +55,31 @@ public class CountRecordMainServiceImpl implements CountRecordMainService {
private CountadjustRequestDetailMapper countadjustRequestDetailMapper;
@Resource
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
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);
//增加操作记录
trendsApi.createTrends(requestsettingDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE);
trendsApi.createTrends(mainDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE);
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
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.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.InspectRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO;
@ -15,6 +16,13 @@ import java.util.List;
*/
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;
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.InspectRecordMainExportReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainPageReqVO;
import com.win.module.wms.controller.inspectRecord.vo.InspectRecordMainUpdateReqVO;
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.InspectRecordDetailConvert;
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.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 static com.win.module.wms.enums.ErrorCodeConstants.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 检验记录主 Service 实现类
@ -32,6 +35,35 @@ public class InspectRecordMainServiceImpl implements InspectRecordMainService {
@Resource
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
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;
for (Object o : aplList) {
JSONObject parse = JSONUtil.parseObj(o);
BigDecimal floorQty = new BigDecimal(String.valueOf(parse.get("FloorQty")));
BigDecimal ceilingQty = new BigDecimal(String.valueOf(parse.get("CeilingQty")));
BigDecimal sampleValue = new BigDecimal(String.valueOf(parse.get("SampleValue")));
BigDecimal floorQty = new BigDecimal(parse.getStr("FloorQty"));
BigDecimal ceilingQty = new BigDecimal(parse.getStr("CeilingQty"));
BigDecimal sampleValue = new BigDecimal(parse.getStr("SampleValue"));
if (maxFloorQty.compareTo(floorQty) < 0) {
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.json.JSONObject;
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.pojo.CustomConditions;
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.expectout.vo.ExpectoutCreateReqVO;
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.convert.issueRequest.IssueRequestDetailConvert;
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.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.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
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.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.workstation.WorkstationDO;
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.enums.DictTypeConstants;
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.RequestStatusState;
import com.win.module.wms.service.balance.BalanceService;
import com.win.module.wms.service.businesstype.BusinesstypeService;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
@ -76,7 +63,6 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import javax.validation.Validator;
import javax.xml.crypto.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
@ -378,7 +364,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
} catch (Exception ex) {
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) {
message.append("未查找到该条上架策略");
} 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
public LocationDO inspectLocation(RuleRespVO ruleRespVO, String itemCode, String batch, String inventoryStatus) {
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
Object locationCode = jsonObject.get("LocationCode");
String locationCode = jsonObject.getStr("LocationCode");
//设置了库位直接返回
if (locationCode != null) {
return this.selectLocation(String.valueOf(locationCode));
@ -327,38 +327,38 @@ public class LocationServiceImpl implements LocationService {
locationTypeList.add("SEMI");
locationTypeList.add("FG");
queryWrapper.in("`type`", locationTypeList);
Object warehouseCode = jsonObject.get("WarehouseCode");
String warehouseCode = jsonObject.getStr("WarehouseCode");
if (!"".equals(warehouseCode)) {
queryWrapper.eq("warehouse_code", warehouseCode);
}
Object areaCode = jsonObject.get("AreaCode");
String areaCode = jsonObject.getStr("AreaCode");
if (!"".equals(areaCode)) {
queryWrapper.eq("area_code", areaCode);
}
Object locationGroupCode = jsonObject.get("LocationGroupCode");
String locationGroupCode = jsonObject.getStr("LocationGroupCode");
if (!"".equals(locationGroupCode)) {
queryWrapper.eq("location_group_code", locationGroupCode);
}
//排序
Object aisleOrder = jsonObject.get("AisleOrder");
String aisleOrder = jsonObject.getStr("AisleOrder");
if ("DESC".equals(aisleOrder)) {
queryWrapper.orderByDesc("aisle");
} else {
queryWrapper.orderByAsc("aisle");
}
Object shelfOrder = jsonObject.get("ShelfOrder");
String shelfOrder = jsonObject.getStr("ShelfOrder");
if ("DESC".equals(shelfOrder)) {
queryWrapper.orderByDesc("shelf");
} else {
queryWrapper.orderByAsc("shelf");
}
Object rowOrder = jsonObject.get("RowOrder");
String rowOrder = jsonObject.getStr("RowOrder");
if ("DESC".equals(rowOrder)) {
queryWrapper.orderByDesc("location_row");
} else {
queryWrapper.orderByAsc("location_row");
}
Object columOrder = jsonObject.get("ColumOrder");
String columOrder = jsonObject.getStr("ColumOrder");
if ("DESC".equals(columOrder)) {
queryWrapper.orderByDesc("location_colum");
} else {
@ -367,15 +367,15 @@ public class LocationServiceImpl implements LocationService {
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);
return locationDOList.get(0);
}
@ -394,7 +394,7 @@ public class LocationServiceImpl implements LocationService {
* @param enableMixStatus 可以混状态
* @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> notEmptyList = new ArrayList<>();
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.setToBatch(item.getBatch());
productionreturnRecordDetailDO.setFromLocationCode(item.getFromLocationCode());
ItembasicDO itembasicDO = itembasicService.selectItembasic(productionreturnRecordDetailDO.getItemCode());
// 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null,itembasicDO.getAbcClass(),itembasicDO.getType(),itembasicDO.getItemGroup(),itembasicDO.getProject(), itembasicDO.getCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, itembasicDO.getCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus());
RuleRespVO ruleRespVO = ruleService.grounding(null,null, productionreturnRecordDetailDO.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, productionreturnRecordDetailDO.getItemCode(), item.getBatch(), productionreturnRecordDetailDO.getInventoryStatus());
productionreturnRecordDetailDO.setToLocationCode(locationDO.getCode());
// 获取库位信息 并赋值
LocationDO locationDOFrom = locationService.selectLocation(item.getFromLocationCode());
@ -786,7 +785,6 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
detailDO.forEach(item -> {
ProductionreturnJobDetailDO productionreturnJobDetailDO = new ProductionreturnJobDetailDO();
ItembasicDO itembasicDO = itembasicService.selectItembasic(item.getItemCode());
BeanUtils.copyProperties(item, productionreturnJobDetailDO);
productionreturnJobDetailDO.setId(null);
productionreturnJobDetailDO.setCreateTime(null);
@ -796,8 +794,8 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
productionreturnJobDetailDO.setMasterId(productionreturnJobMainDO.getId());
productionreturnJobDetailDO.setNumber(number);
// 获取上架策略 并赋值 to库位
RuleRespVO ruleRespVO = ruleService.grounding(null,null, itembasicDO.getAbcClass(), itembasicDO.getType(), itembasicDO.getItemGroup(), itembasicDO.getProject(), productionreturnJobDetailDO.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, itembasicDO.getCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus());
RuleRespVO ruleRespVO = ruleService.grounding(null,null, item.getItemCode(),null,null,null,null,null,null);
LocationDO locationDO = locationService.inspectLocation(ruleRespVO, item.getItemCode(), productionreturnJobDetailDO.getBatch(), productionreturnJobDetailDO.getInventoryStatus());
productionreturnJobDetailDO.setToLocationCode(locationDO.getCode());
// 判断合格 不合格
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.itembasic.ItembasicService;
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.rule.RuleService;
import com.win.module.wms.service.shift.ShiftService;
@ -525,7 +524,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchasePlanMainDO.setAvailable("TRUE");
//供应商代码
purchasePlanMainDO.setSupplierCode(mainDO.getSupplierCode());
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDO.getSupplierCode(), null);
RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDO.getSupplierCode(), null);
if (ruleRespVO == null) {
throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
} 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);
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
if("EXEMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
if("EXEMPT".equals(jsonObject.getStr("InspectType"))) {
for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) {
transactionCreateReqVO.setInventoryStatus("OK");
}
@ -404,7 +404,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated");
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<>();
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) {
@ -463,7 +463,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
//移除预计入
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();
BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO);
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.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.PurchasereceiptRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
@ -16,6 +17,13 @@ import java.util.List;
*/
public interface PurchasereceiptRecordMainService {
/**
* 创建采购收货记录
* @param createReqVO 采购收货记录主
* @return id
*/
Long createPurchasereceiptRecordMain(PurchasereceiptRecordMainCreateReqVO createReqVO);
/**
* 通过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.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.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainExportReqVO;
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.PurchasereceiptRecordMainDO;
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.PurchasereceiptRecordMainMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestMainMapper;
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 javax.annotation.Resource;
@ -36,6 +46,12 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper;
@Resource
private PurchasereceiptRequestMainMapper purchasereceiptRequestMainMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
// @Resource
// private RuleService ruleService;
// @Resource
@ -45,6 +61,27 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
// @Resource
// 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
public PurchasereceiptRecordMainDO getPurchasereceiptRecordMainById(Long id) {
return purchasereceiptRecordMainMapper.selectById(id);
@ -108,7 +145,7 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
// SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated");
// 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<>();
// 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) {
supplierService.selectSupplier(mainDo.getSupplierCode());
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, mainDo.getSupplierCode(), null);
RuleRespVO ruleRespVO = ruleService.deliverGoods(mainDo.getSupplierCode(), null);
if(ruleRespVO == null) {
throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
} else {
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
mainDo.setFromWarehouseCode(String.valueOf(jsonObject.get("WarehouseCode")));
mainDo.setToDockCode(String.valueOf(jsonObject.get("DockCode")));
mainDo.setToWarehouseCode(String.valueOf(jsonObject.get("OnTheWayLocationCode")));
mainDo.setFromWarehouseCode(jsonObject.getStr("WarehouseCode"));
mainDo.setToDockCode(jsonObject.getStr("DockCode"));
mainDo.setToWarehouseCode(jsonObject.getStr("OnTheWayLocationCode"));
}
}
@ -428,23 +428,23 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
}
return;
}
RuleRespVO ruleRespVO = ruleService.deliveryGoods(null, mainDO.getSupplierCode());
RuleRespVO ruleRespVO = ruleService.deliveryGoods(mainDO.getSupplierCode());
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>();
List<PurchasereceiptJobMainCreateReqVO> purchasereceiptJobMainCreateReqVOList = new ArrayList<>();
// 获取拆分类型,如果都为FALSE则不拆分
String key;
if ("TRUE".equals(jsonObject.get("ByItem"))) {//按零件拆分
if ("TRUE".equals(jsonObject.getStr("ByItem"))) {//按零件拆分
key = "item";
} else if ("TRUE".equals(jsonObject.get("ByContainer"))) {//按器具拆分
} else if ("TRUE".equals(jsonObject.getStr("ByContainer"))) {//按器具拆分
key = "container";
} else if ("TRUE".equals(jsonObject.get("ByLocation"))) {//按库位拆分
} else if ("TRUE".equals(jsonObject.getStr("ByLocation"))) {//按库位拆分
key = "location";
} else {
key = "null";
}
// 每个任务单最多任务数
int count = Integer.parseInt(String.valueOf(jsonObject.get("JobDetailCount")));
int count = Integer.parseInt(jsonObject.getStr("JobDetailCount"));
if(count == 0) {//0表示不拆分
count = Integer.MAX_VALUE;
}
@ -625,18 +625,18 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
*/
private void validateSupplier(PurchasereceiptRequestMainDO mainDo) {
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());
for (int i = 0; i < conditionArray.size(); i++) {
JSONObject conditionObject = conditionArray.getJSONObject(i);
if ("WarehouseCode".equals(conditionObject.get("ParamCode"))) {
mainDo.setFromWarehouseCode(String.valueOf(conditionObject.get("Value")));
if ("WarehouseCode".equals(conditionObject.getStr("ParamCode"))) {
mainDo.setFromWarehouseCode(conditionObject.getStr("Value"));
}
if ("DockCode".equals(conditionObject.get("ParamCode"))) {
mainDo.setToDockCode(String.valueOf(conditionObject.get("Value")));
if ("DockCode".equals(conditionObject.getStr("ParamCode"))) {
mainDo.setToDockCode(conditionObject.getStr("Value"));
}
if ("OnTheWayLocationCode".equals(conditionObject.get("ParamCode"))) {
mainDo.setToWarehouseCode(String.valueOf(conditionObject.get("Value")));
if ("OnTheWayLocationCode".equals(conditionObject.getStr("ParamCode"))) {
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.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.PutawayRecordMainPageReqVO;
import com.win.module.wms.dal.dataobject.putawayRecord.PutawayRecordMainDO;
@ -15,6 +16,13 @@ import java.util.List;
*/
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.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.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.mysql.putawayRecord.PutawayRecordDetailMapper;
import com.win.module.wms.dal.mysql.putawayRecord.PutawayRecordMainMapper;
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 javax.annotation.Resource;
@ -23,6 +35,35 @@ public class PutawayRecordMainServiceImpl implements PutawayRecordMainService {
@Resource
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
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");
putawayRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO));
int result = putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO));
for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) {
PutawayRecordDetailCreateReqVO putawayRecordDetailCreateReqVO = new PutawayRecordDetailCreateReqVO();
BeanUtils.copyProperties(putawayRequestDetailDO, putawayRecordDetailCreateReqVO);
@ -363,11 +363,8 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
List<PutawayJobDetailDO> putawayJobDetailDOList = new ArrayList<>();
for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) {
PutawayJobDetailDO putawayJobDetailDO = PutawayJobDetailConvert.INSTANCE.convert(putawayRequestDetailDO);
ItembasicDO itembasicDO = itembasicService.selectItembasic(putawayRequestDetailDO.getItemCode());
RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, itembasicDO.getAbcClass(), itembasicDO.getType(), itembasicDO.getItemGroup(), itembasicDO.getProject(),
putawayJobDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null);
LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, itembasicDO.getCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus());
RuleRespVO groundingRuleRespVO = ruleService.grounding(putawayJobMainDO.getSupplierCode(), null, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getInventoryStatus(), null, null, null, null, null);
LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus());
putawayJobDetailDO.setToLocationCode(locationDO.getCode());
putawayJobDetailDO.setNumber(number);
putawayJobDetailDO.setMasterId(putawayJobDetailDO.getId());

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

178
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.module.wms.controller.rule.vo.*;
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.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.supplier.SupplierMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -33,6 +39,12 @@ public class RuleServiceImpl implements RuleService {
@Resource
private RuleMapper ruleMapper;
@Resource
private ItembasicMapper itembasicMapper;
@Resource
private SupplierMapper supplierMapper;
@Resource
private LocationMapper locationMapper;
@Override
public Long createRule(RuleCreateReqVO createReqVO) {
@ -76,6 +88,7 @@ public class RuleServiceImpl implements RuleService {
// 删除
ruleMapper.deleteById(id);
}
@Override
public PageResult<RuleDO> getRuleSenior(CustomConditions conditions) {
return ruleMapper.selectSenior(conditions);
@ -96,10 +109,12 @@ public class RuleServiceImpl implements RuleService {
public PageResult<RuleDO> getRulePage(RulePageReqVO pageReqVO) {
return ruleMapper.selectPage(pageReqVO);
}
@Override
public List<RuleDO> getRuleList(CustomConditions conditions) {
return ruleMapper.selectSeniorList(conditions);
}
private void validateRuleForCreateOrUpdate(Long id, String strategyCode, Integer priority) {
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
DataPermissionUtils.executeIgnore(() -> {
@ -109,6 +124,7 @@ public class RuleServiceImpl implements RuleService {
validatePriority(priority);
});
}
@VisibleForTesting
private void validateRuleExists(Long id) {
if (id == null) {
@ -125,6 +141,7 @@ public class RuleServiceImpl implements RuleService {
throw exception(RULE_STRATEGYCODE_NOT_EXISTS);
}
}
@VisibleForTesting
private void validatePriority(Integer priority) {
if (priority == null) {
@ -133,7 +150,7 @@ public class RuleServiceImpl implements RuleService {
}
@Override
public RuleRespVO deliverGoods(String supplierType, String supplierCode, String weekday) {
public RuleRespVO deliverGoods(String supplierCode, String weekday) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S001");
queryWrapper.orderByDesc("priority");
@ -146,9 +163,6 @@ public class RuleServiceImpl implements RuleService {
}
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
if(supplierType != null && !supplierType.isEmpty()) {
params.put("SupplierType", supplierType);
}
if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode);
}
@ -163,7 +177,7 @@ public class RuleServiceImpl implements RuleService {
}
@Override
public RuleRespVO deliveryGoods(String supplierType, String supplierCode) {
public RuleRespVO deliveryGoods(String supplierCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S002");
queryWrapper.orderByDesc("priority");
@ -176,9 +190,6 @@ public class RuleServiceImpl implements RuleService {
}
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
if(supplierType != null && !supplierType.isEmpty()) {
params.put("SupplierType", supplierType);
}
if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode);
}
@ -214,7 +225,7 @@ public class RuleServiceImpl implements RuleService {
}
@Override
public RuleRespVO inspectSplit(String supplierType, String itemCode) {
public RuleRespVO inspectSplit(String supplierCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S004");
queryWrapper.orderByDesc("priority");
@ -226,11 +237,8 @@ public class RuleServiceImpl implements RuleService {
}
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
if(supplierType != null && !supplierType.isEmpty()) {
params.put("SupplierType", supplierType);
}
if(itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode);
if (supplierCode != null && !supplierCode.isEmpty()) {
params.put("SupplierCode", supplierCode);
}
if (this.forEachParams(params, conditionArray)) {
return RuleConvert.INSTANCE.convert(ruleDO);
@ -240,7 +248,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S005");
queryWrapper.orderByDesc("priority");
@ -258,18 +266,6 @@ public class RuleServiceImpl implements RuleService {
if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode);
}
if(abcClass != null && !abcClass.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);
}
@ -299,7 +295,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S006");
queryWrapper.orderByDesc("priority");
@ -311,24 +307,9 @@ public class RuleServiceImpl implements RuleService {
}
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
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);
}
if(warehouseCode != null && !warehouseCode.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);
}
@ -340,7 +321,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S007");
queryWrapper.orderByDesc("priority");
@ -358,18 +339,6 @@ public class RuleServiceImpl implements RuleService {
if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode);
}
if(abcClass != null && !abcClass.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);
}
@ -390,7 +359,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S008");
queryWrapper.orderByDesc("priority");
@ -402,21 +371,9 @@ public class RuleServiceImpl implements RuleService {
}
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
if(project != null && !project.isEmpty()) {
params.put("Project", project);
}
if (itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode);
}
if(warehouseCode != null && !warehouseCode.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);
}
@ -428,7 +385,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S009");
queryWrapper.orderByDesc("priority");
@ -446,30 +403,9 @@ public class RuleServiceImpl implements RuleService {
if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode);
}
if(abcClass != null && !abcClass.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);
}
if(warehouseCode != null && !warehouseCode.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);
}
@ -487,7 +423,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S010");
queryWrapper.orderByDesc("priority");
@ -505,18 +441,6 @@ public class RuleServiceImpl implements RuleService {
if (customerCode != null && !customerCode.isEmpty()) {
params.put("CustomerCode", customerCode);
}
if(abcClass != null && !abcClass.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);
}
@ -529,7 +453,7 @@ public class RuleServiceImpl implements RuleService {
}
@Override
public RuleRespVO warehouseStorage(String warehouseCode, String areaCode, String locationGroupCode, String locationCode) {
public RuleRespVO warehouseStorage(String locationCode) {
QueryWrapper<RuleDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("strategy_code", "S011");
queryWrapper.orderByDesc("priority");
@ -541,15 +465,6 @@ public class RuleServiceImpl implements RuleService {
}
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
if(warehouseCode != null && !warehouseCode.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);
}
@ -561,7 +476,7 @@ public class RuleServiceImpl implements RuleService {
}
@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.eq("strategy_code", "S012");
queryWrapper.orderByDesc("priority");
@ -574,12 +489,6 @@ public class RuleServiceImpl implements RuleService {
JSONArray conditionArray = JSONUtil.parseArray(condition);
Map<String, String> params = new HashMap<>();
params.put("ContainerType", containerType);
if(itemGroup != null && !itemGroup.isEmpty()) {
params.put("ItemGroup", itemGroup);
}
if(projectCode != null && !projectCode.isEmpty()) {
params.put("ProjectCode", projectCode);
}
if (itemCode != null && !itemCode.isEmpty()) {
params.put("ItemCode", itemCode);
}
@ -595,8 +504,7 @@ public class RuleServiceImpl implements RuleService {
List<HashMap<String, Object>> list = new ArrayList<>();
for (String code : reqVO.getItemCodes()) {
HashMap<String, Object> map = new HashMap<>();
RuleRespVO RespVO = management(null, null, null, null, null, null, code, null, null,
null, reqVO.getLocationCode(), null, null);
RuleRespVO RespVO = management(null, null, code, reqVO.getLocationCode(), null, null);
JSONObject entries = JSONUtil.parseObj(RespVO.getConfiguration());
map.put("ManagementPrecision", entries.get("ManagementPrecision"));
map.put("itemCode", code);
@ -607,15 +515,36 @@ public class RuleServiceImpl implements RuleService {
/**
* 循环校验参数
*
* @param params 参数
* @param conditionArray 条件json数组
* @return
*/
private boolean forEachParams(Map<String, String> params, JSONArray conditionArray) {
Map<String, String> paramsMap = new HashMap<>();
boolean result1 = false;
//填充参数
for (String key : params.keySet()) {
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 : params.keySet()) {
for (String key : paramsMap.keySet()) {
if (key.equals(conditionObject.get("ParamCode")) && conditionObject.get("ParamCode") != null) {
boolean result2 = this.checkCondition(conditionObject, key, params.get(key));
if (!result2) {
@ -632,6 +561,7 @@ public class RuleServiceImpl implements RuleService {
/**
* 判断条件
*
* @param conditionObject 条件json
* @param paramCode 条件key
* @param paramValue 条件value

15
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.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.annotations.VisibleForTesting;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
@ -18,7 +17,6 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -54,10 +52,12 @@ public class SupplierServiceImpl implements SupplierService {
SupplierDO updateObj = SupplierConvert.INSTANCE.convert(updateReqVO);
supplierMapper.updateById(updateObj);
}
@Override
public PageResult<SupplierDO> getSupplierSenior(CustomConditions conditions) {
return supplierMapper.selectSenior(conditions);
}
@Override
public void deleteSupplier(Long id) {
// 校验存在
@ -75,10 +75,12 @@ public class SupplierServiceImpl implements SupplierService {
public List<SupplierDO> getSupplierList(CustomConditions conditions) {
return supplierMapper.selectSeniorList(conditions);
}
@Override
public List<SupplierDO> getSupplierList() {
return supplierMapper.selectAllList();
}
@Override
public PageResult<SupplierDO> getSupplierPage(SupplierPageReqVO pageReqVO) {
return supplierMapper.selectPage(pageReqVO);
@ -154,6 +156,7 @@ public class SupplierServiceImpl implements SupplierService {
});
}
@VisibleForTesting
private void validateSupplierExists(Long id) {
if (id == null) {
@ -184,6 +187,7 @@ public class SupplierServiceImpl implements SupplierService {
throw exception(SUPPLIER_NOT_EXISTSNO);
}
}
@VisibleForTesting
private void validateShortnameExists(String shortname) {
if (shortname.isEmpty()) {
@ -198,12 +202,11 @@ public class SupplierServiceImpl implements SupplierService {
throw exception(SUPPLIER_AVAILABLE_NOT_EXISTS);
}
}
@Override
public SupplierDO selectSupplier(String code) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("code",code);
SupplierDO supplierDO = supplierMapper.selectOne(queryWrapper);
if(supplierDO != null && supplierDO.getAvailable().equals("TRUE")){
SupplierDO supplierDO = supplierMapper.selectByCode(code);
if (supplierDO != null) {
return supplierDO;
} else {
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.system.api.serialnumber.SerialNumberApi;
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.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordMainCreateReqVO;
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.SupplierdeliverRecordMainConvert;
import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestDetailConvert;
@ -255,7 +252,7 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
//主表校验 校验供应商基础信息
private RuleRespVO validatordeliverGoods() {
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null, null);
RuleRespVO ruleRespVO = ruleService.deliverGoods(null, null);
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();
BeanUtils.copyProperties(createReqVO, balanceCreateReqVO);
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());
}
return result;
@ -82,7 +82,7 @@ public class TransactionServiceImpl implements TransactionService {
BalanceCreateReqVO balanceCreateReqVO = new BalanceCreateReqVO();
BeanUtils.copyProperties(createReqVO, balanceCreateReqVO);
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());
}
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 库位
* @return 库位存储策略信息
* @author chenfang
*/
//TODO 后期具体业务时需判断策略相关标签状态(还没写)
public RuleRespVO selectLocationStrategyRule(String warehouseCode, String areaCode, String locationGroupCode, String plocationCode) {
RuleRespVO ruleRespVO = ruleService.warehouseStorage(warehouseCode, areaCode, locationGroupCode, plocationCode);
return ruleRespVO;
public RuleRespVO selectLocationStrategyRule(String plocationCode) {
return ruleService.warehouseStorage(plocationCode);
}
/**
@ -270,7 +266,7 @@ public class JobUtils {
* @author chenfang
*/
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) {
return grounding;
} else {
@ -435,8 +431,7 @@ public class JobUtils {
* @return
*/
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,
null, locationcode, null, null);
RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode);
@ -464,8 +459,7 @@ public class JobUtils {
* @author lianhongxi
*/
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,
null, locationcode, null, null);
RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode);
@ -515,8 +509,7 @@ public class JobUtils {
* @author lianhongxi
*/
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,
null, locationcode, null, null);
RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
List<ExpectoutDO> expectoutDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
expectoutDO = expectoutService.selectNumberNew(itemcode, inventoryStatus, locationcode);
@ -574,7 +567,7 @@ public class JobUtils {
//查询储存容量
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[] StorageQty1 = StorageQty[1].split(":");
String StorageQty2 = StorageQty1[1];
@ -586,8 +579,7 @@ public class JobUtils {
//库存不应该存在
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,
null, locationcode, null, null);
RuleRespVO managementtRule = ruleService.management(null, null, itemcode, locationcode, null, null);
List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus);
@ -622,8 +614,7 @@ public class JobUtils {
* @author lianhongxi
*/
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,
null, null, null, plocationcode, null, null);
RuleRespVO management = ruleService.management(null, null, pitemcode, plocationcode, null, null);
List<ExpectoutDO> expectoutDO = null;
if (management != null) {
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 ) {
List<String> locationList = new ArrayList<>();
if (locationTypes != null && !locationTypes.equals("")) {
if (locationTypes != null && !locationTypes.isEmpty()) {
String[] locationTypesStrs = locationTypes.split(",");
for(int i=0;i<locationTypesStrs.length;i++) {
QueryWrapper qw = new QueryWrapper();
QueryWrapper<LocationDO> qw = new QueryWrapper<>();
qw.eq("type",locationTypesStrs[i]);
List<LocationDO> locationDOSList = locationMapper.selectList(qw);
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());
// 下架策略
RuleRespVO ruleRespVOOffShelf = ruleService.offShelf(null,null,null,null,null,projectCode,itemCode,inventoryStatus,null,null);
RuleRespVO ruleRespVOOffShelf = ruleService.offShelf(null,null,itemCode,inventoryStatus,null,null);
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");
if (itemCode != null && !itemCode.equals("")) {
if (itemCode != null && !itemCode.isEmpty()) {
queryWrapper.eq("item_code", itemCode);
} else {
throw exception(BALANCE_ITEM_NOT_EXISTS);
}
if (inventoryStatus != null && !inventoryStatus.equals("")) {
if (inventoryStatus != null && !inventoryStatus.isEmpty()) {
queryWrapper.eq("inventory_status", inventoryStatus);
} else {
throw exception(BALANCE_STATU_NOT_EXISTS);
@ -777,7 +766,7 @@ public class JobUtils {
throw exception(BALANCE_QTY_NOT_EXISTS);
}
// 根据库存类型 过滤 查询的库位
if (locationList != null && locationList.size() > 0) {
if (locationList != null && !locationList.isEmpty()) {
queryWrapper.in("location_code", locationList);
}
// 根据下架策略 作为查询库存余额条件

Loading…
Cancel
Save