Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
b012786d44
  1. 4
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeBaseVO.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExportReqVO.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodePageReqVO.java
  5. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java
  6. 106
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/BarbasicController.java
  7. 54
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicBaseVO.java
  8. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicCreateReqVO.java
  9. 50
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExcelVO.java
  10. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExportReqVO.java
  11. 44
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicPageReqVO.java
  12. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicRespVO.java
  13. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicUpdateReqVO.java
  14. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java
  15. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/labelBarbasic/BarbasicConvert.java
  16. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/barcode/BarcodeDO.java
  17. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java
  18. 68
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/labelBarbasic/BarbasicDO.java
  19. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/barcode/BarcodeMapper.java
  20. 51
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/labelBarbasic/BarbasicMapper.java
  21. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java
  22. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  23. 31
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java
  24. 71
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicService.java
  25. 84
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicServiceImpl.java
  26. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  27. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  28. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java
  29. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java
  30. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java
  31. 120
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

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

@ -910,5 +910,9 @@ public interface ErrorCodeConstants {
ErrorCode QTY_ERRORR = new ErrorCode(1_000_301_001, "上架数量【{}】不能大于库存数量【{}】");
ErrorCode TIME_AFTER = new ErrorCode(1_000_302_000, "申请时间【{}】小于截止时间【{}】");
ErrorCode BARBASIC_NOT_EXISTS = new ErrorCode(1_000_303_000, "条码实体基类不存在");
ErrorCode BARBASIC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_303_001, "条码实体列表不存在");
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeBaseVO.java

@ -58,4 +58,7 @@ public class BarcodeBaseVO {
@NotNull(message = "是否加密不能为空")
private String isEncypt;
@Schema(description = "条码类型")
private String labelType;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExportReqVO.java

@ -43,4 +43,7 @@ public class BarcodeExportReqVO {
@Schema(description = "是否加密")
private String isEncypt;
@Schema(description = "条码类型")
private String labelType;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodePageReqVO.java

@ -48,4 +48,7 @@ public class BarcodePageReqVO extends PageParam {
@Schema(description = "是否加密")
private String isEncypt;
@Schema(description = "条码类型")
private String labelType;
}

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java

@ -35,7 +35,6 @@ public class InspectRequestMainBaseVO {
private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
private String businessType;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@ -46,14 +45,12 @@ public class InspectRequestMainBaseVO {
private String fromAreaCodes;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空")
private String fromLocationTypes;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime;
@ -69,7 +66,6 @@ public class InspectRequestMainBaseVO {
private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private String departmentCode;
@Schema(description = "状态")
@ -98,14 +94,12 @@ public class InspectRequestMainBaseVO {
private String itemCode;
@Schema(description = "检验类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "检验类型不能为空")
private String inspectType;
@Schema(description = "下一步检验动作")
private String nextAction;
@Schema(description = "抽检方式", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "抽检方式不能为空")
private String sampleMethod;
@Schema(description = "计量单位")
@ -116,26 +110,21 @@ public class InspectRequestMainBaseVO {
private BigDecimal receiveQty;
@Schema(description = "样品数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "样品数量不能为空")
private BigDecimal sampleQty;
@Schema(description = "货主代码")
private String ownerCode;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord;
}

106
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/BarbasicController.java

@ -0,0 +1,106 @@
package com.win.module.wms.controller.labelBarbasic;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.labelBarbasic.vo.*;
import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO;
import com.win.module.wms.convert.labelBarbasic.BarbasicConvert;
import com.win.module.wms.service.labelBarbasic.BarbasicService;
@Tag(name = "管理后台 - 条码实体基类")
@RestController
@RequestMapping("/wms/barbasic")
@Validated
public class BarbasicController {
@Resource
private BarbasicService barbasicService;
@PostMapping("/create")
@Operation(summary = "创建条码实体基类")
@PreAuthorize("@ss.hasPermission('wms:barbasic:create')")
public CommonResult<Long> createBarbasic(@Valid @RequestBody BarbasicCreateReqVO createReqVO) {
return success(barbasicService.createBarbasic(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新条码实体基类")
@PreAuthorize("@ss.hasPermission('wms:barbasic:update')")
public CommonResult<Boolean> updateBarbasic(@Valid @RequestBody BarbasicUpdateReqVO updateReqVO) {
int result = barbasicService.updateBarbasic(updateReqVO);
return success(result > 0);
}
@DeleteMapping("/delete")
@Operation(summary = "删除条码实体基类")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:barbasic:delete')")
public CommonResult<Boolean> deleteBarbasic(@RequestParam("id") Long id) {
int result = barbasicService.deleteBarbasic(id);
return success(result > 0);
}
@GetMapping("/get")
@Operation(summary = "获得条码实体基类")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:barbasic:query')")
public CommonResult<BarbasicRespVO> getBarbasic(@RequestParam("id") Long id) {
BarbasicDO barbasic = barbasicService.getBarbasic(id);
return success(BarbasicConvert.INSTANCE.convert(barbasic));
}
@GetMapping("/list")
@Operation(summary = "获得条码实体基类列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:barbasic:query')")
public CommonResult<List<BarbasicRespVO>> getBarbasicList(@RequestParam("ids") Collection<Long> ids) {
List<BarbasicDO> list = barbasicService.getBarbasicList(ids);
return success(BarbasicConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得条码实体基类分页")
@PreAuthorize("@ss.hasPermission('wms:barbasic:query')")
public CommonResult<PageResult<BarbasicRespVO>> getBarbasicPage(@Valid BarbasicPageReqVO pageVO) {
PageResult<BarbasicDO> pageResult = barbasicService.getBarbasicPage(pageVO);
return success(BarbasicConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出条码实体基类 Excel")
@PreAuthorize("@ss.hasPermission('wms:barbasic:export')")
@OperateLog(type = EXPORT)
public void exportBarbasicExcel(@Valid BarbasicExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<BarbasicDO> list = barbasicService.getBarbasicList(exportReqVO);
// 导出 Excel
List<BarbasicExcelVO> datas = BarbasicConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "条码实体基类.xls", "数据", BarbasicExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入条码实体基类模板")
public void importTemplate(HttpServletResponse response) throws IOException {
List<BarbasicExcelVO> list = Arrays.asList();
// 输出
ExcelUtils.write(response, "条码实体基类基本信息导入模板.xls", "条码实体基类基本信息列表", BarbasicExcelVO.class, list);
}
}

54
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicBaseVO.java

@ -0,0 +1,54 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
/**
* 条码实体基类 Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class BarbasicBaseVO {
@Schema(description = "id", example = "id")
private Long id;
@Schema(description = "标签号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标签号不能为空")
private String number;
@Schema(description = "标签类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "标签类型不能为空")
private String type;
@Schema(description = "标签模板", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标签模板不能为空")
private String template;
@Schema(description = "标签状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "标签状态不能为空")
private String status;
@Schema(description = "关联号")
private String relateNumber;
@Schema(description = "标签条码字符串", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标签条码字符串不能为空")
private String barcodeString;
@Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "打印次数不能为空")
private Integer printTimes;
@Schema(description = "最后打印时间")
private String lastPrintTime;
@Schema(description = "最后打印人ID", example = "8732")
private String lastPrintUserId;
@Schema(description = "最后打印人用户名", example = "王五")
private String lastPrintUserName;
}

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicCreateReqVO.java

@ -0,0 +1,12 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "管理后台 - 条码实体基类创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BarbasicCreateReqVO extends BarbasicBaseVO {
}

50
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExcelVO.java

@ -0,0 +1,50 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* 条码实体基类 Excel VO
*
* @author 超级管理员
*/
@Data
public class BarbasicExcelVO {
@ExcelProperty("id")
private Long id;
@ExcelProperty("标签号")
private String number;
@ExcelProperty("标签类型")
private String type;
@ExcelProperty("标签模板")
private String template;
@ExcelProperty("标签状态")
private String status;
@ExcelProperty("关联号")
private String relateNumber;
@ExcelProperty("标签条码字符串")
private String barcodeString;
@ExcelProperty("打印次数")
private Integer printTimes;
@ExcelProperty("最后打印时间")
private String lastPrintTime;
@ExcelProperty("最后打印人ID")
private String lastPrintUserId;
@ExcelProperty("最后打印人用户名")
private String lastPrintUserName;
}

45
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExportReqVO.java

@ -0,0 +1,45 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 条码实体基类 Excel 导出 Request VO,参数和 BarbasicPageReqVO 是一致的")
@Data
public class BarbasicExportReqVO {
@Schema(description = "标签号")
private String number;
@Schema(description = "标签类型", example = "1")
private String type;
@Schema(description = "标签模板")
private String template;
@Schema(description = "标签状态", example = "2")
private String status;
@Schema(description = "关联号")
private String relateNumber;
@Schema(description = "标签条码字符串")
private String barcodeString;
@Schema(description = "打印次数")
private Integer printTimes;
@Schema(description = "最后打印时间")
private String[] lastPrintTime;
@Schema(description = "最后打印人ID", example = "8732")
private String lastPrintUserId;
@Schema(description = "最后打印人用户名", example = "王五")
private String lastPrintUserName;
}

44
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicPageReqVO.java

@ -0,0 +1,44 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
@Schema(description = "管理后台 - 条码实体基类分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BarbasicPageReqVO extends PageParam {
@Schema(description = "标签号")
private String number;
@Schema(description = "标签类型", example = "1")
private String type;
@Schema(description = "标签模板")
private String template;
@Schema(description = "标签状态", example = "2")
private String status;
@Schema(description = "关联号")
private String relateNumber;
@Schema(description = "标签条码字符串")
private String barcodeString;
@Schema(description = "打印次数")
private Integer printTimes;
@Schema(description = "最后打印时间")
private String[] lastPrintTime;
@Schema(description = "最后打印人ID", example = "8732")
private String lastPrintUserId;
@Schema(description = "最后打印人用户名", example = "王五")
private String lastPrintUserName;
}

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicRespVO.java

@ -0,0 +1,15 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@Schema(description = "管理后台 - 条码实体基类 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BarbasicRespVO extends BarbasicBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29175")
private Long id;
}

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicUpdateReqVO.java

@ -0,0 +1,18 @@
package com.win.module.wms.controller.labelBarbasic.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 条码实体基类更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BarbasicUpdateReqVO extends BarbasicBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29175")
@NotNull(message = "id不能为空")
private Long id;
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java

@ -2,15 +2,12 @@ package com.win.module.wms.controller.putawayRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
@ -23,7 +20,6 @@ public class PutawayRequestMainBaseVO {
@Schema(description = "id", example = "id")
private Long id;
@Schema(description = "供应商代码")
private String supplierCode;
@ -88,19 +84,15 @@ public class PutawayRequestMainBaseVO {
private String toAreaCodes;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord;
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/labelBarbasic/BarbasicConvert.java

@ -0,0 +1,37 @@
package com.win.module.wms.convert.labelBarbasic;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.labelBarbasic.vo.BarbasicCreateReqVO;
import com.win.module.wms.controller.labelBarbasic.vo.BarbasicExcelVO;
import com.win.module.wms.controller.labelBarbasic.vo.BarbasicRespVO;
import com.win.module.wms.controller.labelBarbasic.vo.BarbasicUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO;
/**
* 条码实体基类 Convert
*
* @author 超级管理员
*/
@Mapper
public interface BarbasicConvert {
BarbasicConvert INSTANCE = Mappers.getMapper(BarbasicConvert.class);
BarbasicDO convert(BarbasicCreateReqVO bean);
BarbasicDO convert(BarbasicUpdateReqVO bean);
BarbasicRespVO convert(BarbasicDO bean);
List<BarbasicRespVO> convertList(List<BarbasicDO> list);
PageResult<BarbasicRespVO> convertPage(PageResult<BarbasicDO> page);
List<BarbasicExcelVO> convertList02(List<BarbasicDO> list);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/barcode/BarcodeDO.java

@ -75,4 +75,9 @@ public class BarcodeDO extends BaseDO {
*/
private String isEncypt;
/**
* 条码类型
*/
private String labelType;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java

@ -21,7 +21,8 @@ import com.win.framework.mybatis.core.dataobject.BaseDO;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InventoryinitRequestMainDO extends BaseDO {
public class
InventoryinitRequestMainDO extends BaseDO {
/**
* id

68
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/labelBarbasic/BarbasicDO.java

@ -0,0 +1,68 @@
package com.win.module.wms.dal.dataobject.labelBarbasic;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 条码实体基类 DO
*
* @author 超级管理员
*/
@TableName("label_barbasic")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BarbasicDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 标签号
*/
private String number;
/**
* 标签类型
*/
private String type;
/**
* 标签模板
*/
private String template;
/**
* 标签状态
*/
private String status;
/**
* 关联号
*/
private String relateNumber;
/**
* 标签条码字符串
*/
private String barcodeString;
/**
* 打印次数
*/
private Integer printTimes;
/**
* 最后打印时间
*/
private String lastPrintTime;
/**
* 最后打印人ID
*/
private String lastPrintUserId;
/**
* 最后打印人用户名
*/
private String lastPrintUserName;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/barcode/BarcodeMapper.java

@ -35,6 +35,7 @@ public interface BarcodeMapper extends BaseMapperX<BarcodeDO> {
.eqIfPresent(BarcodeDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(BarcodeDO::getTrimEnd, reqVO.getTrimEnd())
.eqIfPresent(BarcodeDO::getIsEncypt, reqVO.getIsEncypt())
.eqIfPresent(BarcodeDO::getLabelType,reqVO.getLabelType())
.orderByDesc(BarcodeDO::getId));
}
@ -55,6 +56,7 @@ public interface BarcodeMapper extends BaseMapperX<BarcodeDO> {
.eqIfPresent(BarcodeDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(BarcodeDO::getTrimEnd, reqVO.getTrimEnd())
.eqIfPresent(BarcodeDO::getIsEncypt, reqVO.getIsEncypt())
.eqIfPresent(BarcodeDO::getLabelType,reqVO.getLabelType())
.orderByDesc(BarcodeDO::getId));
}

51
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/labelBarbasic/BarbasicMapper.java

@ -0,0 +1,51 @@
package com.win.module.wms.dal.mysql.labelBarbasic;
import java.util.*;
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.module.wms.controller.labelBarbasic.vo.BarbasicExportReqVO;
import com.win.module.wms.controller.labelBarbasic.vo.BarbasicPageReqVO;
import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 条码实体基类 Mapper
*
* @author 超级管理员
*/
@Mapper
public interface BarbasicMapper extends BaseMapperX<BarbasicDO> {
default PageResult<BarbasicDO> selectPage(BarbasicPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BarbasicDO>()
.eqIfPresent(BarbasicDO::getNumber, reqVO.getNumber())
.eqIfPresent(BarbasicDO::getType, reqVO.getType())
.eqIfPresent(BarbasicDO::getTemplate, reqVO.getTemplate())
.eqIfPresent(BarbasicDO::getStatus, reqVO.getStatus())
.eqIfPresent(BarbasicDO::getRelateNumber, reqVO.getRelateNumber())
.eqIfPresent(BarbasicDO::getBarcodeString, reqVO.getBarcodeString())
.eqIfPresent(BarbasicDO::getPrintTimes, reqVO.getPrintTimes())
.betweenIfPresent(BarbasicDO::getLastPrintTime, reqVO.getLastPrintTime())
.eqIfPresent(BarbasicDO::getLastPrintUserId, reqVO.getLastPrintUserId())
.likeIfPresent(BarbasicDO::getLastPrintUserName, reqVO.getLastPrintUserName())
.orderByDesc(BarbasicDO::getId));
}
default List<BarbasicDO> selectList(BarbasicExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BarbasicDO>()
.eqIfPresent(BarbasicDO::getNumber, reqVO.getNumber())
.eqIfPresent(BarbasicDO::getType, reqVO.getType())
.eqIfPresent(BarbasicDO::getTemplate, reqVO.getTemplate())
.eqIfPresent(BarbasicDO::getStatus, reqVO.getStatus())
.eqIfPresent(BarbasicDO::getRelateNumber, reqVO.getRelateNumber())
.eqIfPresent(BarbasicDO::getBarcodeString, reqVO.getBarcodeString())
.eqIfPresent(BarbasicDO::getPrintTimes, reqVO.getPrintTimes())
.betweenIfPresent(BarbasicDO::getLastPrintTime, reqVO.getLastPrintTime())
.eqIfPresent(BarbasicDO::getLastPrintUserId, reqVO.getLastPrintUserId())
.likeIfPresent(BarbasicDO::getLastPrintUserName, reqVO.getLastPrintUserName())
.orderByDesc(BarbasicDO::getId));
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java

@ -287,7 +287,7 @@ public class DocumentsettingServiceImpl implements DocumentsettingService {
}
@Override
public DocumentsettingDO selectDocumentsettingExist(String pcode){
QueryWrapper queryWrapper = new QueryWrapper();
QueryWrapper<DocumentsettingDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code",pcode);
DocumentsettingDO documentsettingDO = documentsettingMapper.selectOne(queryWrapper);
if(documentsettingDO != null && "TRUE".equals(documentsettingDO.getAvailable())){

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

@ -467,12 +467,11 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
if (inspect == null) {
throw new UtilException("未找到该策略");
}
JSONArray condition = JSONUtil.parseArray(inspect.getCondition());
JSONObject configuration = JSONUtil.parseObj(inspect.getConfiguration());
HashMap<String, String> mapRule = new HashMap<>();
for (Object o : condition) {
JSONObject entries = JSONUtil.parseObj(o);
mapRule.put(entries.get("ParamCode").toString(), entries.get("Value").toString());
}
mapRule.put("InspectType", configuration.get("InspectType").toString());
mapRule.put("SampleMethod", configuration.get("SampleMethod").toString());
mapRule.put("AqList", configuration.get("AqList").toString());
String aqlList = mapRule.get("AqlList");
if (aqlList != null) {
JSONArray objects = JSONUtil.parseArray(aqlList);
@ -495,6 +494,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
mainDO.setSampleQty(selectInspectType(mainDO.getReceiveQty(), rule));
}
private InspectRequestMainDO validateInspectRequestMainExists(Long id) {
InspectRequestMainDO mainDO = inspectRequestMainMapper.selectById(id);
if (mainDO == null) {

31
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java

@ -11,7 +11,8 @@ import com.win.module.wms.controller.inventoryinitRecord.vo.InventoryinitRecordD
import com.win.module.wms.controller.inventoryinitRecord.vo.InventoryinitRecordMainCreateReqVO;
import com.win.module.wms.convert.inventoryinitRecord.InventoryinitRecordDetailConvert;
import com.win.module.wms.convert.inventoryinitRecord.InventoryinitRecordMainConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.inventoryinitRecord.InventoryinitRecordDetailDO;
import com.win.module.wms.dal.dataobject.inventoryinitRecord.InventoryinitRecordMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
@ -118,7 +119,6 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
detailDO.setNumber(number);
}
inventoryinitRequestDetailMapper.insertBatch(subDOList);
trendsApi.createTrends(requestsettingDO.getId(), "inventoryinitRequestMain", "增加了库存初始化申请", TrendsTypeEnum.CREATE);
// 返回
return mainDO.getId();
@ -189,7 +189,6 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
}
InventoryinitRequestMainDO inventoryinitRequestMainDO = inventoryinitRequestMainMapper.selectById(id);
if (inventoryinitRequestMainDO == null) {
throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS);
}
}
@ -257,27 +256,32 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
InventoryinitRecordMainCreateReqVO inventoryinitRecordMainCreateReqVO = new InventoryinitRecordMainCreateReqVO();
BeanUtils.copyProperties(mainDO, inventoryinitRecordMainCreateReqVO);
inventoryinitRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.INVENTORY_INITIAL_RECORD.getCode());
inventoryinitRecordMainCreateReqVO.setNumber(number);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord");
inventoryinitRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
inventoryinitRecordMainMapper.insert(InventoryinitRecordMainConvert.INSTANCE.convert(inventoryinitRecordMainCreateReqVO));
InventoryinitRecordMainDO inventoryinitRecordMainDO = InventoryinitRecordMainConvert.INSTANCE.convert(inventoryinitRecordMainCreateReqVO);
inventoryinitRecordMainDO.setId(null);
inventoryinitRecordMainDO.setCreator(null);
inventoryinitRecordMainDO.setCreateTime(null);
inventoryinitRecordMainDO.setUpdater(null);
inventoryinitRecordMainDO.setUpdateTime(null);
inventoryinitRecordMainMapper.insert(inventoryinitRecordMainDO);
for(InventoryinitRequestDetailDO inventoryinitRequestDetailDO : detailDOList) {
InventoryinitRecordDetailCreateReqVO inventoryinitRecordDetailCreateReqVO = new InventoryinitRecordDetailCreateReqVO();
BeanUtils.copyProperties(inventoryinitRequestDetailDO, inventoryinitRecordDetailCreateReqVO);
inventoryinitRecordDetailCreateReqVO.setNumber(number);
inventoryinitRecordDetailMapper.insert(InventoryinitRecordDetailConvert.INSTANCE.convert(inventoryinitRecordDetailCreateReqVO));
InventoryinitRecordDetailDO inventoryinitRecordDetailDO = InventoryinitRecordDetailConvert.INSTANCE.convert(inventoryinitRecordDetailCreateReqVO);
inventoryinitRecordDetailDO.setId(null);
inventoryinitRecordDetailDO.setCreateTime(null);
inventoryinitRecordDetailDO.setCreator(null);
inventoryinitRecordDetailDO.setUpdater(null);
inventoryinitRecordDetailDO.setUpdateTime(null);
inventoryinitRecordDetailMapper.insert(inventoryinitRecordDetailDO);
}
}
}
private InventoryinitRequestDetailDO validitempackaging(InventoryinitRequestDetailDO detailDo){
ItempackagingDO itempackaging = itempackagingService.selectItemPackagingExist(detailDo.getItemCode());
detailDo.setStdPackUnit(itempackaging.getStdPackUnit());
@ -423,7 +427,6 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
public Integer reAddInventoryinitRequestMain(Long id) {
// 校验存在存在下级单据
InventoryinitRequestMainDO mainDO = valiteInventoryinitRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reAdd();
if(!flag) {

71
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicService.java

@ -0,0 +1,71 @@
package com.win.module.wms.service.labelBarbasic;
import java.util.*;
import javax.validation.*;
import com.win.module.wms.controller.labelBarbasic.vo.*;
import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO;
import com.win.framework.common.pojo.PageResult;
/**
* 条码实体基类 Service 接口
*
* @author 超级管理员
*/
public interface BarbasicService {
/**
* 创建条码实体基类
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createBarbasic(@Valid BarbasicCreateReqVO createReqVO);
/**
* 更新条码实体基类
*
* @param updateReqVO 更新信息
*/
Integer updateBarbasic(@Valid BarbasicUpdateReqVO updateReqVO);
/**
* 删除条码实体基类
*
* @param id 编号
*/
Integer deleteBarbasic(Long id);
/**
* 获得条码实体基类
*
* @param id 编号
* @return 条码实体基类
*/
BarbasicDO getBarbasic(Long id);
/**
* 获得条码实体基类列表
*
* @param ids 编号
* @return 条码实体基类列表
*/
List<BarbasicDO> getBarbasicList(Collection<Long> ids);
/**
* 获得条码实体基类分页
*
* @param pageReqVO 分页查询
* @return 条码实体基类分页
*/
PageResult<BarbasicDO> getBarbasicPage(BarbasicPageReqVO pageReqVO);
/**
* 获得条码实体基类列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 条码实体基类列表
*/
List<BarbasicDO> getBarbasicList(BarbasicExportReqVO exportReqVO);
}

84
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicServiceImpl.java

@ -0,0 +1,84 @@
package com.win.module.wms.service.labelBarbasic;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.controller.labelBarbasic.vo.*;
import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.labelBarbasic.BarbasicConvert;
import com.win.module.wms.dal.mysql.labelBarbasic.BarbasicMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
/**
* 条码实体基类 Service 实现类
*
* @author 超级管理员
*/
@Service
@Validated
public class BarbasicServiceImpl implements BarbasicService {
@Resource
private BarbasicMapper barbasicMapper;
@Override
public Long createBarbasic(BarbasicCreateReqVO createReqVO) {
// 插入
BarbasicDO barbasic = BarbasicConvert.INSTANCE.convert(createReqVO);
barbasicMapper.insert(barbasic);
// 返回
return barbasic.getId();
}
@Override
public Integer updateBarbasic(BarbasicUpdateReqVO updateReqVO) {
// 校验存在
validateBarbasicExists(updateReqVO.getId());
// 更新
BarbasicDO updateObj = BarbasicConvert.INSTANCE.convert(updateReqVO);
return barbasicMapper.updateById(updateObj);
}
@Override
public Integer deleteBarbasic(Long id) {
// 校验存在
validateBarbasicExists(id);
// 删除
return barbasicMapper.deleteById(id);
}
private void validateBarbasicExists(Long id) {
if (barbasicMapper.selectById(id) == null) {
throw exception(BARBASIC_NOT_EXISTS);
}
}
@Override
public BarbasicDO getBarbasic(Long id) {
return barbasicMapper.selectById(id);
}
@Override
public List<BarbasicDO> getBarbasicList(Collection<Long> ids) {
return barbasicMapper.selectBatchIds(ids);
}
@Override
public PageResult<BarbasicDO> getBarbasicPage(BarbasicPageReqVO pageReqVO) {
return barbasicMapper.selectPage(pageReqVO);
}
@Override
public List<BarbasicDO> getBarbasicList(BarbasicExportReqVO exportReqVO) {
return barbasicMapper.selectList(exportReqVO);
}
}

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

@ -191,9 +191,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
if (purchaseMainDO != null && "TRUE".equals(purchaseMainDO.getAvailable())) {
if (!"CLOSED".equals(purchaseMainDO.getStatus())) {
QueryWrapper<PurchaseDetailDO> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("master_id", purchaseMainDO.getId());
queryWrapper1.eq("number", pnumber);
queryWrapper1.eq("po_line", poLine);
queryWrapper1.eq("line_number", poLine);
queryWrapper1.eq("item_code", pitemCode);
PurchaseDetailDO purchaseDetailDO = purchaseDetailMapper.selectOne(queryWrapper1);
if (purchaseDetailDO != null && "TRUE".equals(purchaseDetailDO.getAvailable())) {
@ -626,8 +625,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) {
QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper<>();
purchaseDetailDOQueryWrapper.eq("number", poNumber);
purchaseDetailDOQueryWrapper.eq("line_number", poNumber);
purchaseDetailDOQueryWrapper.eq("item_code", poNumber);
purchaseDetailDOQueryWrapper.eq("line_number", poLine);
purchaseDetailDOQueryWrapper.eq("item_code", itemCode);
purchaseDetailDOQueryWrapper.eq("available", "TRUE");
List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper);
boolean res = false;

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

@ -18,6 +18,8 @@ import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDet
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
@ -47,6 +49,8 @@ import com.win.module.wms.service.inspectRequest.InspectRequestMainService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.purchase.PurchaseDetailService;
import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.putawayRequest.PutawayRequestMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService;
import com.win.module.wms.service.transaction.TransactionService;
@ -57,6 +61,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
@ -113,6 +118,10 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
private LocationService locationService;
@Resource
private PurchaseDetailService purchaseDetailService;
@Resource
private PutawayRequestMainService putawayRequestMainService;
@Resource
private RequestsettingService requestsettingService;
@Override
public PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions) {
@ -408,7 +417,8 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
inspectRequestMainCreateReqVO.setPoNumber(recordDetailDO.getPoNumber());
inspectRequestMainCreateReqVO.setPoLine(recordDetailDO.getPoLine());
inspectRequestMainCreateReqVO.setUom(recordDetailDO.getUom());
inspectRequestMainCreateReqVO.setReceiveQty(recordDetailDO.getQty());
inspectRequestMainCreateReqVO.setReceiveQty(BigDecimal.ZERO);
inspectRequestMainCreateReqVO.setFromWarehouseCode(purchasereceiptRecordMainDO.getToWarehouseCode());
//创建子表信息
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList1) {
InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO();
@ -429,20 +439,47 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO);
}
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList);
//创建检验申请
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO);
}
}
//采购收货记录 生成后免检物品 创建 上架申请
if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
InspectRequestMainCreateReqVO inspectRequestMainCreateReqVO = new InspectRequestMainCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordMainDO, inspectRequestMainCreateReqVO);
inspectRequestMainCreateReqVO.setId(null);
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList);
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO);
if("EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) {
transactionCreateReqVO.setInventoryStatus("OK");
}
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
//移除预计入
expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber());
//采购收货记录 生成后免检物品 创建 上架申请
if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO);
List<PutawayRequestDetailCreateReqVO> putawayRequestDetailCreateReqVOList = new ArrayList<>();
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) {
PutawayRequestDetailCreateReqVO putawayRequestDetailCreateReqVO = new PutawayRequestDetailCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordDetailDO, putawayRequestDetailCreateReqVO);
putawayRequestDetailCreateReqVO.setPackingNumber(purchasereceiptRecordDetailDO.getToPackingNumber());
putawayRequestDetailCreateReqVO.setContainerNumber(purchasereceiptRecordDetailDO.getToContainerNumber());
putawayRequestDetailCreateReqVO.setBatch(purchasereceiptRecordDetailDO.getToBatch());
putawayRequestDetailCreateReqVO.setFromLocationCode(purchasereceiptRecordDetailDO.getToLocationCode());
putawayRequestDetailCreateReqVO.setInventoryStatus("OK");
putawayRequestDetailCreateReqVO.setId(null);
putawayRequestDetailCreateReqVO.setCreateTime(null);
putawayRequestDetailCreateReqVO.setCreator(null);
putawayRequestDetailCreateReqVO.setUpdateTime(null);
putawayRequestDetailCreateReqVO.setUpdater(null);
putawayRequestDetailCreateReqVOList.add(putawayRequestDetailCreateReqVO);
}
putawayRequestMainCreateReqVO.setId(null);
putawayRequestMainCreateReqVO.setCreateTime(null);
putawayRequestMainCreateReqVO.setCreator(null);
putawayRequestMainCreateReqVO.setUpdateTime(null);
putawayRequestMainCreateReqVO.setUpdater(null);
putawayRequestMainCreateReqVO.setSubList(putawayRequestDetailCreateReqVOList);
putawayRequestMainService.createPutawayRequestMain(putawayRequestMainCreateReqVO);
}
//变更记录
trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE);
return number;

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

@ -55,7 +55,9 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
public PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber,String psupplierCode,String pNumber,String ppoLine,String pitemCode){
QueryWrapper<PurchasereceiptRecordMainDO> queryWrapperMain = new QueryWrapper<>();
queryWrapperMain.eq("number",pNumber);
queryWrapperMain.eq("supplier_code",psupplierCode);
if(psupplierCode != null && !psupplierCode.isEmpty()) {
queryWrapperMain.eq("supplier_code", psupplierCode);
}
queryWrapperMain.eq("available","TRUE");
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapperMain);
if(purchasereceiptRecordMainDO != null) {

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

@ -109,12 +109,12 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
@Override
@Transactional
public Long createPutawayRequestMain(PutawayRequestMainCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest");
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest");
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasePutawayRequest");
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRequest");
PutawayRequestMainDO putawayRequestMainDO = validatorToCreate(createReqVO, businesstypeDO, requestsettingDO);
//调用自动执行方法
if (RequestStatusEnum.HANDLING.getCode().equals(putawayRequestMainDO.getStatus())) {
this.generateJob(putawayRequestMainDO, putawayRequestDetailMapper.selectList(putawayRequestMainDO.getId()));
}
trendsApi.createTrends(requestsettingDO.getId(), "PutawayRequest", "增加了上架申请", TrendsTypeEnum.CREATE);
return putawayRequestMainDO.getId();
@ -413,7 +413,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO);
validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO);
ArrayList<String> inventoryStatus = new ArrayList<>();
inventoryStatus.set(0, detailDo.getInventoryStatus());
inventoryStatus.add(detailDo.getInventoryStatus());
validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
}
@ -538,7 +538,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
}
private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(fromLocationCode, businesstypeDO);
jobUtils.ifInFromLocationType(fromLocationCode, businesstypeDO);
}
private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List<String> inventoryStatus) {

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java

@ -244,7 +244,7 @@ public class RequestsettingServiceImpl implements RequestsettingService {
}
@Override
public RequestsettingDO selectRequestsettingExist(String pcode){
QueryWrapper<RequestsettingDO> queryWrapper = new QueryWrapper();
QueryWrapper<RequestsettingDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code",pcode);
queryWrapper.eq("available","TRUE");
RequestsettingDO requestsettingDO = requestsettingMapper.selectOne(queryWrapper);

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

@ -2,7 +2,6 @@ package com.win.module.wms.util;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
@ -130,13 +129,13 @@ public class JobUtils {
if ("TRUE".equals(allowBiggerQty)) {
result = true;
} else {
throw exception(QTY_EXCEPTION,"实际数量" + handleQty + " 不允许大于推荐数量" + recommendQty);
throw exception(QTY_EXCEPTION, "实际数量" + handleQty + " 不允许大于推荐数量" + recommendQty);
}
} else if (handleQty.compareTo(recommendQty) == -1) {
if ("TRUE".equals(allowSmallerQty)) {
result = true;
} else {
throw exception(QTY_EXCEPTION,"实际数量" + handleQty + " 不允许小于推荐数量" + recommendQty);
throw exception(QTY_EXCEPTION, "实际数量" + handleQty + " 不允许小于推荐数量" + recommendQty);
}
} else if (handleQty.compareTo(recommendQty) == 0) {
result = true;
@ -157,13 +156,13 @@ public class JobUtils {
if ("TRUE".equals(allowModifyBatch)) {
result = true;
} else {
throw exception(QTY_EXCEPTION,"实际数量" + jobDetailBatch + " 不允许大于推荐数量" + recordDetailBatch);
throw exception(QTY_EXCEPTION, "实际数量" + jobDetailBatch + " 不允许大于推荐数量" + recordDetailBatch);
}
} else if (jobDetailBatch.compareTo(recordDetailBatch) == -1) {
if ("TRUE".equals(allowModifyBatch)) {
result = true;
} else {
throw exception(QTY_EXCEPTION,"实际数量" + jobDetailBatch + " 不允许小于推荐数量" + recordDetailBatch);
throw exception(QTY_EXCEPTION, "实际数量" + jobDetailBatch + " 不允许小于推荐数量" + recordDetailBatch);
}
}
if (jobDetailBatch.compareTo(recordDetailBatch) == 0) {
@ -172,7 +171,7 @@ public class JobUtils {
if ("TRUE".equals(allowModifyBatch)) {
result = true;
} else {
throw exception(BATCH_EXCEPTION,"实际批次" + jobDetailBatch + " 与任务推荐批次" + recordDetailBatch + "不一致");
throw exception(BATCH_EXCEPTION, "实际批次" + jobDetailBatch + " 与任务推荐批次" + recordDetailBatch + "不一致");
}
}
return result;
@ -288,8 +287,8 @@ public class JobUtils {
if (ifInType) {
return true;
} else {
throw exception(ITEMBASIC_EXCEPTION,"物料类型" + pitemCode + "的类型" + itembasicDO.getType() + " 与业务类型" + businesstypeDO.getName()
+ "的物料类型" + businesstypeDO.getItemTypes() +"不一致");
throw exception(ITEMBASIC_EXCEPTION, "物料类型" + pitemCode + "的类型" + itembasicDO.getType() + " 与业务类型" + businesstypeDO.getName()
+ "的物料类型" + businesstypeDO.getItemTypes() + "不一致");
}
}
@ -306,9 +305,10 @@ public class JobUtils {
if (ifInType) {
return true;
} else {
throw exception(ITEMBASIC_EXCEPTION,"物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() +"不一致");
throw exception(ITEMBASIC_EXCEPTION, "物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() + "不一致");
}
}
//DBT---DBT2---IS 物料状态检验是否一致
public boolean ifInStatus(String pitemCode, BusinesstypeDO businesstypeDO) {
ItembasicDO itembasicDO = itembasicService.selectItembasic(pitemCode);
@ -320,13 +320,13 @@ public class JobUtils {
ifInStatus = true;
}
}
}else {
throw exception(ITEMBASIC_EXCEPTION,"物料代码" + pitemCode + "无效");
} else {
throw exception(ITEMBASIC_EXCEPTION, "物料代码" + pitemCode + "无效");
}
if (ifInStatus == true) {
if (ifInStatus) {
return true;
} else {
throw exception(ITEMBASIC_EXCEPTION,"物料" + pitemCode + "的状态" + itembasicDO.getStatus() + "与业务类型" +
throw exception(ITEMBASIC_EXCEPTION, "物料" + pitemCode + "的状态" + itembasicDO.getStatus() + "与业务类型" +
businesstypeDO.getName() + "的物料状态" + businesstypeDO.getItemStatuses() + "不一致");
}
}
@ -342,14 +342,13 @@ public class JobUtils {
ifInLocationType = true;
}
}
} else {
throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效");
}
else {
throw exception(LOCATION_EXCEPTION,"库位" + plocationCode + "无效");
}
if (ifInLocationType == true) {
if (ifInLocationType) {
return true;
} else {
throw exception(LOCATION_EXCEPTION,"入库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" +
throw exception(LOCATION_EXCEPTION, "入库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" +
businesstypeDO.getName() + "的入库库位类型" + businesstypeDO.getInLocationTypes() + "不一致");
}
}
@ -365,14 +364,13 @@ public class JobUtils {
ifOutLocationType = true;
}
}
} else {
throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效");
}
else {
throw exception(LOCATION_EXCEPTION,"库位" + plocationCode + "无效");
}
if (ifOutLocationType == true) {
if (ifOutLocationType) {
return true;
} else {
throw exception(LOCATION_EXCEPTION,"出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" +
throw exception(LOCATION_EXCEPTION, "出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" +
businesstypeDO.getName() + "的出库库位类型" + businesstypeDO.getOutLocationTypes() + "不一致");
}
}
@ -387,14 +385,13 @@ public class JobUtils {
ifInInventoryStatuses = true;
}
}
} else {
throw exception(WAREHOUSE_STOCK_EXCEPTION, "入库库存状态" + pinventoryStatus + "为空");
}
else {
throw exception(WAREHOUSE_STOCK_EXCEPTION,"入库库存状态" + pinventoryStatus + "为空");
}
if (ifInInventoryStatuses == true) {
if (ifInInventoryStatuses) {
return true;
} else {
throw exception(LOCATION_INVENTORY_EXCEPTION,"入库库存状态" + pinventoryStatus + "与业务类型" +
throw exception(LOCATION_INVENTORY_EXCEPTION, "入库库存状态" + pinventoryStatus + "与业务类型" +
businesstypeDO.getName() + "的入库库存状态" + businesstypeDO.getInInventoryStatuses() + "不一致");
}
}
@ -409,14 +406,13 @@ public class JobUtils {
ifOutInventoryStatuses = true;
}
}
} else {
throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "为空");
}
else {
throw exception(LOCATION_INVENTORY_EXCEPTION,"出库库存状态" + pinventoryStatus + "为空");
}
if (ifOutInventoryStatuses == true) {
if (ifOutInventoryStatuses) {
return true;
} else {
throw exception(LOCATION_INVENTORY_EXCEPTION,"出库库存状态" + pinventoryStatus + "与业务类型" +
throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "与业务类型" +
businesstypeDO.getName() + "的出库库存状态" + businesstypeDO.getOutInventoryStatuses() + "不一致");
}
}
@ -424,6 +420,7 @@ public class JobUtils {
/**
* TB------TB4
* 先获取管理模式再根据管理模式查询库存余额返回查询结果
*
* @param itemcode 零件号
* @param packingnumber 包装号
* @param batch 批次
@ -437,19 +434,21 @@ public class JobUtils {
List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode);
}else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) {
} else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectBatch(itemcode, batch, inventoryStatus, locationcode);
}else if("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) {
} else if ("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectPackaging(itemcode, packingnumber, batch, inventoryStatus, locationcode);
}else if("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
} else if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus);
}
return balanceDO;
}
/**
* TB-------TB1
* 查询库存返回管理精度
* 先获取管理模式再根据管理模式查询库存余额返回校验结果
*
* @param itemcode 零件号
* @param packingnumber 包装号
* @param batch 批次
@ -464,30 +463,30 @@ public class JobUtils {
List<BalanceDO> balanceDO = null;
if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode);
if(balanceDO == null){
if (balanceDO == null) {
throw exception(MANAGEMENTPRECISION_EXCEPTION, "物品代码" + itemcode + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录");
}else {
} else {
return balanceDO;
}
}else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) {
} else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectBatch(itemcode, batch, inventoryStatus, locationcode);
if(balanceDO == null){
if (balanceDO == null) {
throw exception(MANAGEMENTPRECISION_EXCEPTION, "物品代码" + itemcode + "批次" + batch + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录");
}else {
} else {
return balanceDO;
}
}else if("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) {
} else if ("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectPackaging(itemcode, packingnumber, batch, inventoryStatus, locationcode);
if(balanceDO == null){
throw exception(MANAGEMENTPRECISION_EXCEPTION,"物品代码" + itemcode + "箱码" + packingnumber + "批次" + batch + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录");
}else {
if (balanceDO == null) {
throw exception(MANAGEMENTPRECISION_EXCEPTION, "物品代码" + itemcode + "箱码" + packingnumber + "批次" + batch + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录");
} else {
return balanceDO;
}
}else if("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
} else if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus);
if(balanceDO == null){
if (balanceDO == null) {
throw exception(MANAGEMENTPRECISION_EXCEPTION, "唯一码" + packingnumber + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录");
}else {
} else {
return balanceDO;
}
}
@ -587,7 +586,7 @@ public class JobUtils {
if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus);
return balanceDO;
}else {
} else {
return null;
}
}
@ -600,7 +599,7 @@ public class JobUtils {
if (locationService.selectLocation(fromlocationcode) != null) {
return warehouseStockExist(itemcode, packingnumber, batch, fromlocationcode, inventoryStatus, requstqty);
} else {
throw exception(LOCATION_NOT_CUST,fromlocationcode);
throw exception(LOCATION_NOT_CUST, fromlocationcode);
}
}
@ -670,20 +669,20 @@ public class JobUtils {
* @return
*/
public List<BalanceDO> fromInventoryEffective(String itemCode, String packingNumber, String batch, String locationCode, List<String> inventoryStatus) {
List<BalanceDO> balanceDOList = selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, locationCode, inventoryStatus);
return balanceDOList;
return selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, locationCode, inventoryStatus);
}
/**
* DBT3
* 根据单据设置查询业务类型
* @author chenfang
*
* @param pcode
* @return
* @author chenfang
*/
public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode){
public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode) {
DocumentsettingDO documentsettingDO = documentsettingService.selectDocumentsettingExist(pcode);
if(documentsettingDO == null || documentsettingDO.getBusinessType() == null) {
if (documentsettingDO == null || documentsettingDO.getBusinessType() == null) {
return null;
}
return businesstypeService.selectBusinesstypeExist(documentsettingDO.getBusinessType());
@ -692,13 +691,14 @@ public class JobUtils {
/**
* DBT4
* 根据单据设置查询业务类型
* @author chenfang
*
* @param pcode
* @return
* @author chenfang
*/
public TransactiontypeDO selectDocumentFromTransactionType(String pcode){
public TransactiontypeDO selectDocumentFromTransactionType(String pcode) {
TransactiontypeDO transactionType = transactiontypeService.selectTransactiontype(pcode);
if(transactionType == null || transactionType.getCode() == null) {
if (transactionType == null || transactionType.getCode() == null) {
return null;
}
return transactionType;
@ -717,9 +717,9 @@ public class JobUtils {
*/
public Boolean fromInventoryEffectiveCustomer(String locationCode, String itemCode, String packingNumber, String batch, List<String> inventoryStatus) {
Boolean returnRes = false;
if (locationService.selectLocation(locationCode) != null) {
if (locationService.selectLocation(locationCode) != null) {
fromInventoryEffective(itemCode, packingNumber, batch, locationCode, inventoryStatus);
} else{
} else {
return returnRes;
}
return true;

Loading…
Cancel
Save