Browse Source

制品返修开发完成代码提交

master
赵雪冰 2 years ago
parent
commit
d2a77ed0c0
  1. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/ProductrepairRecordMainController.java
  2. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ConsumeRecordDetailbBaseVO.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ConsumeRecordDetailbExportReqVO.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ConsumeRecordDetailbPageReqVO.java
  5. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java
  6. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestBomRespVO.java
  7. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaExportReqVO.java
  8. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaPageReqVO.java
  9. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailbBaseVO.java
  10. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailbExportReqVO.java
  11. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailbPageReqVO.java
  12. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainBaseVO.java
  13. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportErrorVO.java
  14. 85
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java
  15. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java
  16. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordDetailExportReqVO.java
  17. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainRespVO.java
  18. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestDetailbConvert.java
  19. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRecord/ConsumeRecordDetailbDO.java
  20. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java
  21. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRecord/ConsumeRecordDetailbMapper.java
  22. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailaMapper.java
  23. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailbMapper.java
  24. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRecord/ProductrepairRecordMainService.java
  25. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRecord/ProductrepairRecordMainServiceImpl.java
  26. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java
  27. 92
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java
  28. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java
  29. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java
  30. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/ProductrepairRecordMainController.java

@ -8,6 +8,8 @@ import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productrepairRecord.vo.*; import com.win.module.wms.controller.productrepairRecord.vo.*;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestBomRespVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailaPageReqVO;
import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert; import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO; import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
import com.win.module.wms.service.productrepairRecord.ProductrepairRecordMainService; import com.win.module.wms.service.productrepairRecord.ProductrepairRecordMainService;
@ -119,4 +121,12 @@ public class ProductrepairRecordMainController {
return success(result); return success(result);
} }
@GetMapping("/bomPage")
@Operation(summary = "获取BOM接口")
@PreAuthorize("@ss.hasPermission('wms:productrepair-record-main:query')")
public CommonResult<PageResult<ConsumeRecordDetailbRespVO>> getBomInfoPage(ConsumeRecordDetailbPageReqVO pageVO) {
PageResult<ConsumeRecordDetailbRespVO> pageResult = productrepairRecordMainService.getBomInfoPage(pageVO);
return success(pageResult);
}
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ConsumeRecordDetailbBaseVO.java

@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -73,4 +74,6 @@ public class ConsumeRecordDetailbBaseVO {
@Schema(description = "接口类型") @Schema(description = "接口类型")
private String interfaceType; private String interfaceType;
@Schema(description = "数量")
private BigDecimal qty;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ConsumeRecordDetailbExportReqVO.java

@ -67,4 +67,7 @@ public class ConsumeRecordDetailbExportReqVO {
@Schema(description = "接口类型") @Schema(description = "接口类型")
private String interfaceType; private String interfaceType;
@Schema(description = "主键ID")
private Long masterId;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ConsumeRecordDetailbPageReqVO.java

@ -72,4 +72,7 @@ public class ConsumeRecordDetailbPageReqVO extends PageParam {
@Schema(description = "接口类型") @Schema(description = "接口类型")
private String interfaceType; private String interfaceType;
@Schema(description = "主键ID")
private Long masterId;
} }

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java

@ -3,27 +3,36 @@ package com.win.module.wms.controller.productrepairRequest;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productrepairRequest.vo.*; import com.win.module.wms.controller.productrepairRequest.vo.*;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainCreateReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainImportErrorVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainImportVO;
import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert; import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert;
import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO; import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productrepairRequest.ProductrepairRequestMainService; import com.win.module.wms.service.productrepairRequest.ProductrepairRequestMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.time.LocalDateTime;
import java.util.List; import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -90,6 +99,20 @@ public class ProductrepairRequestMainController {
return success(ProductrepairRequestMainConvert.INSTANCE.convertPage(pageResult)); return success(ProductrepairRequestMainConvert.INSTANCE.convertPage(pageResult));
} }
@PostMapping("/senior")
@Operation(summary = "高级搜索获得制品返修申请主分页")
@PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:query')")
public CommonResult<PageResult<ProductrepairRequestMainRespVO>> getProductrepairRequestMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<ProductrepairRequestMainDO> pageResult = productrepairRequestMainService.getProductrepairRequestMainSenior(conditions);
PageResult<ProductrepairRequestMainRespVO> result = ProductrepairRequestMainConvert.INSTANCE.convertPage(pageResult);
for(ProductrepairRequestMainRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出制品返修申请主 Excel") @Operation(summary = "导出制品返修申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:export')")
@ -107,18 +130,41 @@ public class ProductrepairRequestMainController {
ExcelUtils.write(response, "制品返修申请主.xls", "数据", ProductrepairRequestMainExcelVO.class, datas); ExcelUtils.write(response, "制品返修申请主.xls", "数据", ProductrepairRequestMainExcelVO.class, datas);
} }
@PostMapping("/senior") @GetMapping("/get-import-template")
@Operation(summary = "高级搜索获得制品返修申请主分页") @Operation(summary = "获得导入制品返修申请信息模板")
@PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:query')") public void importTemplate(HttpServletResponse response) throws IOException {
public CommonResult<PageResult<ProductrepairRequestMainRespVO>> getProductrepairRequestMainSenior(@Valid @RequestBody CustomConditions conditions) { // 手动创建导出 demo
PageResult<ProductrepairRequestMainDO> pageResult = productrepairRequestMainService.getProductrepairRequestMainSenior(conditions); List<ProductrepairRequestMainImportVO> list = new ArrayList<>();
PageResult<ProductrepairRequestMainRespVO> result = ProductrepairRequestMainConvert.INSTANCE.convertPage(pageResult); Map<Integer, String[]> mapDropDown = new HashMap<>();
for(ProductrepairRequestMainRespVO vo : result.getList()) { // String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); // mapDropDown.put(2, transferMode);
//后端创建个字段作为前端展示的虚拟字段 // String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
vo.setCreator(user.getNickname()); // mapDropDown.put(10, inventoryStatus);
// 输出
ExcelUtils.write(response, "制品返修申请信息导入模板.xlsx", "制品返修申请信息列表", ProductrepairRequestMainImportVO.class, list, mapDropDown);
}
@PostMapping("/import")
@Operation(summary = "导入制品返修申请")
@Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
})
@PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,@RequestParam("file") MultipartFile file, @RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<ProductrepairRequestMainImportVO> list = ExcelUtils.read(file, ProductrepairRequestMainImportVO.class);
ConvertUtil<ProductrepairRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductrepairRequestMainCreateReqVO.class);
List<ProductrepairRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<TransferissueRequestMainImportErrorVO> errorList = productrepairRequestMainService.importProductrepairRequestMainList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if (!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("制品返修申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url);
} }
return success(result); return success(returnMap);
} }
@PutMapping("/close") @PutMapping("/close")

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestBomRespVO.java

@ -6,10 +6,10 @@ import lombok.ToString;
import java.math.BigDecimal; import java.math.BigDecimal;
@Schema(description = "管理后台 - 制品返修二级子表 Response VO") @Schema(description = "管理后台 - 制品返修二级子表 Response VO")
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
public class ProductrepairRequestBomRespVO { public class ProductrepairRequestBomRespVO extends ProductrepairRequestDetailbBaseVO{
private String itemCode; private String itemCode;
private String uom; private String uom;

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

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

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

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

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

@ -5,6 +5,7 @@ import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -75,4 +76,6 @@ public class ProductrepairRequestDetailbBaseVO {
@Schema(description = "最后更新者用户名") @Schema(description = "最后更新者用户名")
private String updater; private String updater;
@Schema(description = "数量")
private BigDecimal qty;
} }

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

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

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

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

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

@ -32,22 +32,18 @@ public class ProductrepairRequestMainBaseVO {
private String shift; private String shift;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从仓库代码不能为空")
private String fromWarehouseCode; private String fromWarehouseCode;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空")
private String number; private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
private String businessType; private String businessType;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime; private LocalDateTime createTime;
@ -63,7 +59,6 @@ public class ProductrepairRequestMainBaseVO {
private LocalDateTime dueTime; private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private String departmentCode; private String departmentCode;
@Schema(description = "状态") @Schema(description = "状态")
@ -77,27 +72,21 @@ public class ProductrepairRequestMainBaseVO {
private String updater; private String updater;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空")
private String fromLocationTypes; private String fromLocationTypes;
@Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库区代码范围不能为空")
private String fromAreaCodes; private String fromAreaCodes;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
private String autoCommit; private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
private String autoAgree; private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
private String autoExecute; private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord; private String directCreateRecord;
} }

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportErrorVO.java

@ -0,0 +1,18 @@
package com.win.module.wms.controller.productrepairRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ProductrepairRequestMainImportErrorVO extends ProductrepairRequestMainImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

85
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java

@ -0,0 +1,85 @@
package com.win.module.wms.controller.productrepairRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductrepairRequestMainImportVO {
@ExcelProperty("车间代码")
private String workshopCode;
@ExcelProperty("班组")
private String team;
@ExcelProperty("班次")
private String shift;
@ExcelProperty("从仓库代码")
private String fromWarehouseCode;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间")
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
private LocalDateTime dueTime;
@ExcelProperty("部门")
private String departmentCode;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String fromLocationTypes;
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ExcelProperty("自动提交")
private String autoCommit;
@ExcelProperty("自动通过")
private String autoAgree;
@ExcelProperty("自动执行")
private String autoExecute;
@ExcelProperty("直接生成记录")
private String directCreateRecord;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java

@ -118,7 +118,6 @@ public class TransferissueRecordMainController {
ExcelUtils.write(response, "调拨出库记录主.xls", "数据", TransferissueRecordMainExcelVO.class, datas); ExcelUtils.write(response, "调拨出库记录主.xls", "数据", TransferissueRecordMainExcelVO.class, datas);
} }
@PostMapping("/pdaCreate") @PostMapping("/pdaCreate")
@Operation(summary = "PDA创建调拨出库记录") @Operation(summary = "PDA创建调拨出库记录")
@PreAuthorize("@ss.hasPermission('wms:transferissue-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:transferissue-record-main:create')")
@ -126,4 +125,13 @@ public class TransferissueRecordMainController {
Long id = transferissueRecordMainService.pdaCreateTransferissueRecord(createReqVO); Long id = transferissueRecordMainService.pdaCreateTransferissueRecord(createReqVO);
return success(id); return success(id);
} }
@GetMapping("/getDetailInfoById")
@Operation(summary = "获取记录根据ID")
@PreAuthorize("@ss.hasPermission('wms:transferissue-record-main:query')")
public CommonResult<TransferissueRecordMainRespVO> getDetailInfoById(@RequestParam("id") Long id) {
TransferissueRecordMainRespVO transferissueRecordMainRespVO = transferissueRecordMainService.getDetailInfoById(id);
return success(transferissueRecordMainRespVO);
}
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordDetailExportReqVO.java

@ -104,6 +104,6 @@ public class TransferissueRecordDetailExportReqVO {
private String toBatch; private String toBatch;
@Schema(description = "主键Id") @Schema(description = "主键Id")
private String masterId; private Long masterId;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainRespVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.transferissueRecord.vo; package com.win.module.wms.controller.transferissueRecord.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 调拨出库记录主 Response VO") @Schema(description = "管理后台 - 调拨出库记录主 Response VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class TransferissueRecordMainRespVO extends TransferissueRecordMainBaseVO { public class TransferissueRecordMainRespVO extends TransferissueRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<TransferissueRecordDetailRespVO> subList;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestDetailbConvert.java

@ -1,10 +1,7 @@
package com.win.module.wms.convert.productrepairRequest; package com.win.module.wms.convert.productrepairRequest;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbCreateReqVO; import com.win.module.wms.controller.productrepairRequest.vo.*;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbExcelVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbRespVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbUpdateReqVO;
import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestDetailbDO; import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestDetailbDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -33,4 +30,5 @@ public interface ProductrepairRequestDetailbConvert {
List<ProductrepairRequestDetailbExcelVO> convertList02(List<ProductrepairRequestDetailbDO> list); List<ProductrepairRequestDetailbExcelVO> convertList02(List<ProductrepairRequestDetailbDO> list);
ProductrepairRequestBomRespVO convertRespVO(ProductrepairRequestDetailbDO productrepairRequestDetailbDO);
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRecord/ConsumeRecordDetailbDO.java

@ -6,6 +6,8 @@ import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO; import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
/** /**
* 制品返修记录子 DO * 制品返修记录子 DO
* *
@ -103,5 +105,9 @@ public class ConsumeRecordDetailbDO extends BaseDO {
* 枚举 {@link TODO interface_type 对应的类} * 枚举 {@link TODO interface_type 对应的类}
*/ */
private String interfaceType; private String interfaceType;
/**
* 数量
*/
private BigDecimal qty;
} }

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

@ -7,6 +7,8 @@ import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO; import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
/** /**
* 制品返修申请子 DO * 制品返修申请子 DO
* *
@ -88,5 +90,9 @@ public class ProductrepairRequestDetailbDO extends BaseDO {
* 并发乐观锁 * 并发乐观锁
*/ */
private String concurrencyStamp; private String concurrencyStamp;
/**
* 数量
*/
private BigDecimal qty;
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRecord/ConsumeRecordDetailbMapper.java

@ -40,6 +40,7 @@ public interface ConsumeRecordDetailbMapper extends BaseMapperX<ConsumeRecordDet
.eqIfPresent(ConsumeRecordDetailbDO::getUom, reqVO.getUom()) .eqIfPresent(ConsumeRecordDetailbDO::getUom, reqVO.getUom())
.eqIfPresent(ConsumeRecordDetailbDO::getCode, reqVO.getCode()) .eqIfPresent(ConsumeRecordDetailbDO::getCode, reqVO.getCode())
.eqIfPresent(ConsumeRecordDetailbDO::getInterfaceType, reqVO.getInterfaceType()) .eqIfPresent(ConsumeRecordDetailbDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(ConsumeRecordDetailbDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ConsumeRecordDetailbDO::getId)); .orderByDesc(ConsumeRecordDetailbDO::getId));
} }
@ -67,6 +68,7 @@ public interface ConsumeRecordDetailbMapper extends BaseMapperX<ConsumeRecordDet
.eqIfPresent(ConsumeRecordDetailbDO::getUom, reqVO.getUom()) .eqIfPresent(ConsumeRecordDetailbDO::getUom, reqVO.getUom())
.eqIfPresent(ConsumeRecordDetailbDO::getCode, reqVO.getCode()) .eqIfPresent(ConsumeRecordDetailbDO::getCode, reqVO.getCode())
.eqIfPresent(ConsumeRecordDetailbDO::getInterfaceType, reqVO.getInterfaceType()) .eqIfPresent(ConsumeRecordDetailbDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(ConsumeRecordDetailbDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ConsumeRecordDetailbDO::getId)); .orderByDesc(ConsumeRecordDetailbDO::getId));
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailaMapper.java

@ -44,6 +44,7 @@ public interface ProductrepairRequestDetailaMapper extends BaseMapperX<Productre
.eqIfPresent(ProductrepairRequestDetailaDO::getUom, reqVO.getUom()) .eqIfPresent(ProductrepairRequestDetailaDO::getUom, reqVO.getUom())
.betweenIfPresent(ProductrepairRequestDetailaDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(ProductrepairRequestDetailaDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailaDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(ProductrepairRequestDetailaDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailaDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductrepairRequestDetailaDO::getId)); .orderByDesc(ProductrepairRequestDetailaDO::getId));
} }
default PageResult<ProductrepairRequestDetailaDO> selectSenior(CustomConditions conditions) { default PageResult<ProductrepairRequestDetailaDO> selectSenior(CustomConditions conditions) {
@ -74,6 +75,7 @@ public interface ProductrepairRequestDetailaMapper extends BaseMapperX<Productre
.eqIfPresent(ProductrepairRequestDetailaDO::getUom, reqVO.getUom()) .eqIfPresent(ProductrepairRequestDetailaDO::getUom, reqVO.getUom())
.betweenIfPresent(ProductrepairRequestDetailaDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(ProductrepairRequestDetailaDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailaDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(ProductrepairRequestDetailaDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailaDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductrepairRequestDetailaDO::getId)); .orderByDesc(ProductrepairRequestDetailaDO::getId));
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailbMapper.java

@ -38,6 +38,7 @@ public interface ProductrepairRequestDetailbMapper extends BaseMapperX<Productre
.eqIfPresent(ProductrepairRequestDetailbDO::getUom, reqVO.getUom()) .eqIfPresent(ProductrepairRequestDetailbDO::getUom, reqVO.getUom())
.betweenIfPresent(ProductrepairRequestDetailbDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(ProductrepairRequestDetailbDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailbDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(ProductrepairRequestDetailbDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailbDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductrepairRequestDetailbDO::getId)); .orderByDesc(ProductrepairRequestDetailbDO::getId));
} }
default PageResult<ProductrepairRequestDetailbDO> selectSenior(CustomConditions conditions) { default PageResult<ProductrepairRequestDetailbDO> selectSenior(CustomConditions conditions) {
@ -61,6 +62,7 @@ public interface ProductrepairRequestDetailbMapper extends BaseMapperX<Productre
.eqIfPresent(ProductrepairRequestDetailbDO::getUom, reqVO.getUom()) .eqIfPresent(ProductrepairRequestDetailbDO::getUom, reqVO.getUom())
.betweenIfPresent(ProductrepairRequestDetailbDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(ProductrepairRequestDetailbDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailbDO::getUpdater, reqVO.getUpdater()) .eqIfPresent(ProductrepairRequestDetailbDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailbDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductrepairRequestDetailbDO::getId)); .orderByDesc(ProductrepairRequestDetailbDO::getId));
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRecord/ProductrepairRecordMainService.java

@ -2,10 +2,7 @@ package com.win.module.wms.service.productrepairRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO; import com.win.module.wms.controller.productrepairRecord.vo.*;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainExportReqVO;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainPageReqVO;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO; import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
import javax.validation.Valid; import javax.validation.Valid;
@ -80,4 +77,11 @@ public interface ProductrepairRecordMainService {
* @return 分页列表 * @return 分页列表
*/ */
PageResult<ProductrepairRecordMainDO> getProductrepairRecordMainSenior(CustomConditions conditions); PageResult<ProductrepairRecordMainDO> getProductrepairRecordMainSenior(CustomConditions conditions);
/**
* BOM记录
* @param pageVO 分页请求数据
* @return 分页列表
*/
PageResult<ConsumeRecordDetailbRespVO> getBomInfoPage(ConsumeRecordDetailbPageReqVO pageVO);
} }

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRecord/ProductrepairRecordMainServiceImpl.java

@ -2,12 +2,12 @@ package com.win.module.wms.service.productrepairRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO; import com.win.module.wms.controller.productrepairRecord.vo.*;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainExportReqVO; import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainPageReqVO;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainUpdateReqVO;
import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert; import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert;
import com.win.module.wms.dal.dataobject.productrepairRecord.ConsumeRecordDetailbDO;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO; import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
import com.win.module.wms.dal.mysql.productrepairRecord.ConsumeRecordDetailbMapper;
import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordMainMapper; import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordMainMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -30,6 +30,8 @@ public class ProductrepairRecordMainServiceImpl implements ProductrepairRecordMa
@Resource @Resource
private ProductrepairRecordMainMapper productrepairRecordMainMapper; private ProductrepairRecordMainMapper productrepairRecordMainMapper;
@Resource
private ConsumeRecordDetailbMapper consumeRecordDetailbMapper;
@Override @Override
public Long createProductrepairRecordMain(ProductrepairRecordMainCreateReqVO createReqVO) { public Long createProductrepairRecordMain(ProductrepairRecordMainCreateReqVO createReqVO) {
@ -87,4 +89,11 @@ public class ProductrepairRecordMainServiceImpl implements ProductrepairRecordMa
public PageResult<ProductrepairRecordMainDO> getProductrepairRecordMainSenior(CustomConditions conditions) { public PageResult<ProductrepairRecordMainDO> getProductrepairRecordMainSenior(CustomConditions conditions) {
return productrepairRecordMainMapper.selectSenior(conditions); return productrepairRecordMainMapper.selectSenior(conditions);
} }
@Override
public PageResult<ConsumeRecordDetailbRespVO> getBomInfoPage(ConsumeRecordDetailbPageReqVO pageVO) {
PageResult<ConsumeRecordDetailbDO> pageResult = consumeRecordDetailbMapper.selectPage(pageVO);
PageResult<ConsumeRecordDetailbRespVO> page = ConsumeRecordDetailbConvert.INSTANCE.convertPage(pageResult);
return page;
}
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java

@ -3,6 +3,7 @@ package com.win.module.wms.service.productrepairRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productrepairRequest.vo.*; import com.win.module.wms.controller.productrepairRequest.vo.*;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainImportErrorVO;
import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO; import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO;
import javax.validation.Valid; import javax.validation.Valid;
@ -126,4 +127,13 @@ public interface ProductrepairRequestMainService {
* @return * @return
*/ */
PageResult<ProductrepairRequestBomRespVO> getBomInfoPage(ProductrepairRequestDetailaPageReqVO pageVO); PageResult<ProductrepairRequestBomRespVO> getBomInfoPage(ProductrepairRequestDetailaPageReqVO pageVO);
/**
* excel导入数据
* @param createReqVOList
* @param mode
* @param updatePart
* @return
*/
List<TransferissueRequestMainImportErrorVO> importProductrepairRequestMainList(List<ProductrepairRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart);
} }

92
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java

@ -10,11 +10,11 @@ import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.bom.vo.BomExportReqVO;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordDetailCreateReqVO; import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordDetailCreateReqVO;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO; import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO;
import com.win.module.wms.controller.productrepairRequest.vo.*; import com.win.module.wms.controller.productrepairRequest.vo.*;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainImportErrorVO;
import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert; import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert;
import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordDetailConvert; import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordDetailConvert;
import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert; import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert;
@ -22,11 +22,9 @@ import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetai
import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailbConvert; import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailbConvert;
import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert; import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.productrepairRecord.ConsumeRecordDetailbDO; import com.win.module.wms.dal.dataobject.productrepairRecord.ConsumeRecordDetailbDO;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordDetailDO; import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordDetailDO;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO; import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
@ -66,6 +64,7 @@ import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@ -200,32 +199,56 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
private ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { private ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) {
// DBT——>DBT3("ProductRepairRequest") // DBT——>DBT3("ProductRepairRequest")
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRequest");
ProductrepairRequestMainDO productrepairRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); ProductrepairRequestMainDO mainBo = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
// 子表处理逻辑 ProductrepairRequestDetailaDO // 子表处理逻辑 ProductrepairRequestDetailaDO
List<ProductrepairRequestDetailaCreateReqVO> subList = createReqVO.getSubList(); List<ProductrepairRequestDetailaCreateReqVO> subList = createReqVO.getSubList();
for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){ for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){
validateDetailMethod(productrepairRequestMainDO, productrepairRequestDetailaCreateReqVO,businesstypeDO); validateDetailMethod(mainBo, productrepairRequestDetailaCreateReqVO,businesstypeDO);
} }
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_REPAIR_REQUEST.getCode());
productrepairRequestMainDO.setNumber(number); mainBo.setNumber(number);
productrepairRequestMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString()); mainBo.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
productrepairRequestMainMapper.insert(productrepairRequestMainDO); productrepairRequestMainMapper.insert(mainBo);
for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){ for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){
ProductrepairRequestDetailaDO productrepairRequestDetailaDO = ProductrepairRequestDetailaConvert.INSTANCE.convert(productrepairRequestDetailaCreateReqVO); ProductrepairRequestDetailaDO detailaDO = ProductrepairRequestDetailaConvert.INSTANCE.convert(productrepairRequestDetailaCreateReqVO);
productrepairRequestDetailaDO.setMasterId(productrepairRequestMainDO.getId()); detailaDO.setMasterId(mainBo.getId());
productrepairRequestDetailaDO.setNumber(productrepairRequestMainDO.getNumber()); detailaDO.setNumber(mainBo.getNumber());
productrepairRequestDetailaDO.setInventoryStatus(businesstypeDO.getOutInventoryStatuses()); detailaDO.setInventoryStatus(businesstypeDO.getOutInventoryStatuses());
productrepairRequestDetailaMapper.insert(productrepairRequestDetailaDO); productrepairRequestDetailaMapper.insert(detailaDO);
List<ProductrepairRequestDetailbCreateReqVO> consumereDetailbList = productrepairRequestDetailaCreateReqVO.getChildList(); List<ProductrepairRequestDetailbCreateReqVO> consumereDetailbList = productrepairRequestDetailaCreateReqVO.getChildList();
List<ProductrepairRequestDetailbDO> childList = new ArrayList<>(); List<ProductrepairRequestDetailbDO> childList = new ArrayList<>();
for(ProductrepairRequestDetailbCreateReqVO productrepairRequestDetailbCreateReqVO:consumereDetailbList){ for(ProductrepairRequestDetailbCreateReqVO productrepairRequestDetailbCreateReqVO:consumereDetailbList){
ProductrepairRequestDetailbDO productrepairRequestDetailbDO = ProductrepairRequestDetailbConvert.INSTANCE.convert(productrepairRequestDetailbCreateReqVO); ProductrepairRequestDetailbDO detailbDO = ProductrepairRequestDetailbConvert.INSTANCE.convert(productrepairRequestDetailbCreateReqVO);
productrepairRequestDetailbDO.setMasterId(productrepairRequestDetailaDO.getId()); detailbDO.setMasterId(detailaDO.getId());
childList.add(productrepairRequestDetailbDO); detailbDO.setNumber(detailaDO.getNumber());
validateDetailbBom(detailbDO,detailaDO,mainBo); // 创建二级子表数据
detailbDO.setId(null);
childList.add(detailbDO);
} }
productrepairRequestDetailbMapper.insertBatch(childList); productrepairRequestDetailbMapper.insertBatch(childList);
} }
return productrepairRequestMainDO; return mainBo;
}
private void validateDetailbBom(ProductrepairRequestDetailbDO detailbDO, ProductrepairRequestDetailaDO detailaDO, ProductrepairRequestMainDO mainBo) {
// 校验--物品基本信息
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailbDO.getItemCode());
// 赋值物品Item相关信息
detailbDO.setItemDesc1(itembasicDO.getDesc1());
detailbDO.setItemDesc2(itembasicDO.getDesc2());
detailbDO.setItemName(itembasicDO.getName());
detailbDO.setProjectCode(itembasicDO.getProject());
// 校验库存余额
List<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add("OK"); // 查询合格的边料库存余额
List<BalanceDO> list = jobUtils.selectlocationReturnManagementAccuracy(detailbDO.getItemCode(),null,null,detailaDO.getFromLocationCode(),inventoryStatus);
BalanceDO balanceDO = list.get(0); // 去第一条库存余额
detailbDO.setInventoryStatus(balanceDO.getInventoryStatus());
detailbDO.setBatch(balanceDO.getBatch());
detailbDO.setPackingNumber(balanceDO.getPackingNumber());
detailbDO.setFromLocationCode(balanceDO.getLocationCode());
detailbDO.setCreateTime(LocalDateTime.now());
detailbDO.setCreator(null);
} }
private void validateDetailMethod(ProductrepairRequestMainDO mainDO, ProductrepairRequestDetailaBaseVO detailDo,BusinesstypeDO businesstypeDO) { private void validateDetailMethod(ProductrepairRequestMainDO mainDO, ProductrepairRequestDetailaBaseVO detailDo,BusinesstypeDO businesstypeDO) {
@ -249,22 +272,23 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
detailDo.setFromLocationCode(workstationDO.getRawLocationCode()); detailDo.setFromLocationCode(workstationDO.getRawLocationCode());
} }
// 校验--库存余额 TB——>TB1 // 校验--库存余额 TB——>TB1
validateBalance(detailDo); validateBalance(detailDo,mainDO);
// 校验--物品类型 DBT——>DBT2——>IT // 校验--物品类型 DBT——>DBT2——>IT
jobUtils.selectItembasicExist(itembasicDO.getType(),businesstypeDO); jobUtils.ifInType(itembasicDO.getType(),businesstypeDO);
// 校验--来源库位 DBT——>DBT2——>LO // 校验--来源库位 DBT——>DBT2——>LO
jobUtils.ifInToLocationType(detailDo.getFromLocationCode(), businesstypeDO); jobUtils.ifInToLocationType(detailDo.getFromLocationCode(), businesstypeDO);
// 校验--库存状态 DBT——>DBT2——>ISO // 校验--库存状态 DBT——>DBT2——>ISO
jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(),businesstypeDO); jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(),businesstypeDO);
} }
private void validateBalance(ProductrepairRequestDetailaBaseVO detailDo) { private void validateBalance(ProductrepairRequestDetailaBaseVO detailDo,ProductrepairRequestMainDO mainDO) {
String inventoryStatus = detailDo.getInventoryStatus(); String inventoryStatus = detailDo.getInventoryStatus();
String[] inventoryArray = inventoryStatus.split(","); String[] inventoryArray = inventoryStatus.split(",");
List<String> inventorystatus = Arrays.asList(inventoryArray); List<String> inventorystatus = Arrays.asList(inventoryArray);
List<BalanceDO> list = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); List<BalanceDO> list = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus);
if(list != null && list.size() > 0){ if(list != null && list.size() > 0){
BalanceDO balanceDO = list.get(0); BalanceDO balanceDO = list.get(0);
mainDO.setFromWarehouseCode(balanceDO.getWarehouseCode());
if(balanceDO.getQty().compareTo(detailDo.getQty()) < 0){ if(balanceDO.getQty().compareTo(detailDo.getQty()) < 0){
// 返修数量【qty】不能大于库存数量【banlance.qty】 // 返修数量【qty】不能大于库存数量【banlance.qty】
throw exception(PRODUCTREPAIR_REQUEST_DETAILA_QTY_ERROR,detailDo.getQty(),balanceDO.getQty()); throw exception(PRODUCTREPAIR_REQUEST_DETAILA_QTY_ERROR,detailDo.getQty(),balanceDO.getQty());
@ -480,11 +504,28 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
IPage<ProductrepairRequestBomRespVO> myPage = MyBatisUtils.buildPage(pageVO); IPage<ProductrepairRequestBomRespVO> myPage = MyBatisUtils.buildPage(pageVO);
List<Map<String,Object>> list = jobUtils.bomDismantleList(pageVO.getItemCode(),""); List<Map<String,Object>> list = jobUtils.bomDismantleList(pageVO.getItemCode(),"");
List<ProductrepairRequestBomRespVO> resultList = new ArrayList<>(); List<ProductrepairRequestBomRespVO> resultList = new ArrayList<>();
Map<String,ProductrepairRequestDetailbDO> detailbDOMap = new HashMap<>();
if(pageVO.getMasterId() != null){
List<ProductrepairRequestDetailbDO> detailbBOList = productrepairRequestDetailbMapper.selectList(pageVO.getMasterId());
if(detailbBOList != null && detailbBOList.size() > 0){
detailbDOMap.putAll(detailbBOList.stream().collect(Collectors.toMap(ProductrepairRequestDetailbDO::getItemCode,item -> item)));
}
}
for(Map<String,Object> map:list){ for(Map<String,Object> map:list){
ProductrepairRequestBomRespVO productrepairRequestBomRespVO = new ProductrepairRequestBomRespVO(); ProductrepairRequestBomRespVO productrepairRequestBomRespVO = new ProductrepairRequestBomRespVO();
productrepairRequestBomRespVO.setItemCode(map.get("itemCode") != null?map.get("itemCode").toString():""); String itemCode = map.get("itemCode") != null?map.get("itemCode").toString():"";
productrepairRequestBomRespVO.setItemCode(itemCode);
if(StringUtils.isNotEmpty(productrepairRequestBomRespVO.getItemCode())){
if(detailbDOMap.get(productrepairRequestBomRespVO.getItemCode()) != null){
ProductrepairRequestDetailbDO productrepairRequestDetailbDO = detailbDOMap.get(productrepairRequestBomRespVO.getItemCode());
productrepairRequestBomRespVO = ProductrepairRequestDetailbConvert.INSTANCE.convertRespVO(productrepairRequestDetailbDO);
}else {
productrepairRequestBomRespVO.setQty(BigDecimal.ZERO);
}
}else {
productrepairRequestBomRespVO.setQty(BigDecimal.ZERO);
}
productrepairRequestBomRespVO.setUom(map.get("uom") != null?map.get("uom").toString():""); productrepairRequestBomRespVO.setUom(map.get("uom") != null?map.get("uom").toString():"");
productrepairRequestBomRespVO.setQty(BigDecimal.ZERO);
productrepairRequestBomRespVO.setVersion(map.get("version") != null?map.get("version").toString():""); productrepairRequestBomRespVO.setVersion(map.get("version") != null?map.get("version").toString():"");
resultList.add(productrepairRequestBomRespVO); resultList.add(productrepairRequestBomRespVO);
} }
@ -494,5 +535,10 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
return pageResult; return pageResult;
} }
@Override
public List<TransferissueRequestMainImportErrorVO> importProductrepairRequestMainList(List<ProductrepairRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart) {
return null;
}
} }

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java

@ -261,6 +261,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService {
for(ScrapRequestDetailDO detailDo : subDOList){ for(ScrapRequestDetailDO detailDo : subDOList){
detailDo.setMasterId(scrapRequestMainDO.getId()); detailDo.setMasterId(scrapRequestMainDO.getId());
detailDo.setNumber(scrapRequestMainDO.getNumber()); detailDo.setNumber(scrapRequestMainDO.getNumber());
detailDo.setId(null);
} }
scrapRequestDetailMapper.insertBatch(subDOList); scrapRequestDetailMapper.insertBatch(subDOList);
return scrapRequestMainDO; return scrapRequestMainDO;

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java

@ -2,10 +2,7 @@ package com.win.module.wms.service.transferissueRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainCreateReqVO; import com.win.module.wms.controller.transferissueRecord.vo.*;
import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainExportReqVO;
import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainPageReqVO;
import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO; import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO;
import javax.validation.Valid; import javax.validation.Valid;
@ -86,4 +83,11 @@ public interface TransferissueRecordMainService {
* @return 主表ID * @return 主表ID
*/ */
Long pdaCreateTransferissueRecord(TransferissueRecordMainCreateReqVO createReqVO); Long pdaCreateTransferissueRecord(TransferissueRecordMainCreateReqVO createReqVO);
/**
* 获取记录明细数据
* @param id 主表ID
* @return 主子明细数据
*/
TransferissueRecordMainRespVO getDetailInfoById(Long id);
} }

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java

@ -3,27 +3,34 @@ package com.win.module.wms.service.transferissueRecord;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.transferissueRecord.vo.*; import com.win.module.wms.controller.transferissueRecord.vo.*;
import com.win.module.wms.convert.transferissueRecord.TransferissueRecordDetailConvert; import com.win.module.wms.convert.transferissueRecord.TransferissueRecordDetailConvert;
import com.win.module.wms.convert.transferissueRecord.TransferissueRecordMainConvert; import com.win.module.wms.convert.transferissueRecord.TransferissueRecordMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordDetailDO; import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordDetailDO;
import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO; import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO;
import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordDetailMapper; import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordDetailMapper;
import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordMainMapper; import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordMainMapper;
import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS;
/** /**
@ -45,6 +52,10 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
private SerialNumberApi serialNumberApi; private SerialNumberApi serialNumberApi;
@Resource @Resource
private TransferissueRecordDetailMapper transferissueRecordDetailMapper; private TransferissueRecordDetailMapper transferissueRecordDetailMapper;
@Resource
private AdminUserApi userApi;
@Resource
private TransactionService transactionService;
@Override @Override
public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) { public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) {
@ -75,10 +86,12 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
transferissueRecordMainMapper.deleteById(id); transferissueRecordMainMapper.deleteById(id);
} }
private void validateTransferissueRecordMainExists(Long id) { private TransferissueRecordMainDO validateTransferissueRecordMainExists(Long id) {
if (transferissueRecordMainMapper.selectById(id) == null) { TransferissueRecordMainDO transferissueRecordMainDO = transferissueRecordMainMapper.selectById(id);
if (transferissueRecordMainDO == null) {
throw exception(TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS); throw exception(TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS);
} }
return transferissueRecordMainDO;
} }
@Override @Override
@ -123,14 +136,55 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
transferissueRecordMainDO.setCreateTime(null); transferissueRecordMainDO.setCreateTime(null);
transferissueRecordMainMapper.insert(transferissueRecordMainDO); transferissueRecordMainMapper.insert(transferissueRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
List<TransferissueRecordDetailCreateReqVO> subList = createReqVO.getSubList(); List<TransferissueRecordDetailCreateReqVO> subList = createReqVO.getSubList();
for(TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO : subList) { for(TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO : subList) {
TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO); TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO);
recordDetailDO.setNumber(number); recordDetailDO.setNumber(number);
recordDetailDO.setMasterId(transferissueRecordMainDO.getId()); recordDetailDO.setMasterId(transferissueRecordMainDO.getId());
transferissueRecordDetailMapper.insert(recordDetailDO); transferissueRecordDetailMapper.insert(recordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(transferissueRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(recordDetailDO.getToLocationCode());
transactionCreateReqVO.setOwnerCode(recordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setPackingNumber(recordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setBatch(recordDetailDO.getFromBatch());
transactionCreateReqVO.setWarehouseCode(transferissueRecordMainDO.getToWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
} }
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
return transferissueRecordMainDO.getId(); return transferissueRecordMainDO.getId();
} }
@Override
public TransferissueRecordMainRespVO getDetailInfoById(Long id) {
TransferissueRecordMainRespVO transferissueRecordMainRespVO = new TransferissueRecordMainRespVO();
TransferissueRecordMainDO transferissueRecordMainDO = validateTransferissueRecordMainExists(id);
TransferissueRecordDetailExportReqVO reqVO = new TransferissueRecordDetailExportReqVO();
reqVO.setMasterId(id);
List<TransferissueRecordDetailDO> subList = transferissueRecordDetailMapper.selectList(reqVO);
BeanUtils.copyProperties(transferissueRecordMainDO,transferissueRecordMainRespVO);
List<TransferissueRecordDetailRespVO> detailList = new ArrayList<>();
for(TransferissueRecordDetailDO transferissueRecordDetailDO:subList){
TransferissueRecordDetailRespVO transferissueRecordDetailRespVO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailDO);
detailList.add(transferissueRecordDetailRespVO);
}
transferissueRecordMainRespVO.setSubList(detailList);
return transferissueRecordMainRespVO;
}
} }

Loading…
Cancel
Save