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.dto.AdminUserRespDTO;
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.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
import com.win.module.wms.service.productrepairRecord.ProductrepairRecordMainService;
@ -119,4 +121,12 @@ public class ProductrepairRecordMainController {
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 org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
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 = "接口类型")
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 = "接口类型")
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 = "接口类型")
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.CustomConditions;
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.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.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.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productrepairRequest.ProductrepairRequestMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -90,6 +99,20 @@ public class ProductrepairRequestMainController {
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")
@Operation(summary = "导出制品返修申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:export')")
@ -107,18 +130,41 @@ public class ProductrepairRequestMainController {
ExcelUtils.write(response, "制品返修申请主.xls", "数据", ProductrepairRequestMainExcelVO.class, datas);
}
@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());
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制品返修申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<ProductrepairRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
// mapDropDown.put(2, transferMode);
// String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
// 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")

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;
@Schema(description = "管理后台 - 制品返修二级子表 Response VO")
@Schema(description = "管理后台 - 制品返修二级子表 Response VO")
@Data
@ToString(callSuper = true)
public class ProductrepairRequestBomRespVO {
public class ProductrepairRequestBomRespVO extends ProductrepairRequestDetailbBaseVO{
private String itemCode;
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 = "最后更新者用户名")
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 = "最后更新者用户名")
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 javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
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 = "最后更新者用户名")
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 = "最后更新者用户名")
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 = "最后更新者用户名")
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;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从仓库代码不能为空")
private String fromWarehouseCode;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空")
private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
private String businessType;
@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;
@ -63,7 +59,6 @@ public class ProductrepairRequestMainBaseVO {
private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private String departmentCode;
@Schema(description = "状态")
@ -77,27 +72,21 @@ public class ProductrepairRequestMainBaseVO {
private String updater;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空")
private String fromLocationTypes;
@Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库区代码范围不能为空")
private String fromAreaCodes;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord;
}

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);
}
@PostMapping("/pdaCreate")
@Operation(summary = "PDA创建调拨出库记录")
@PreAuthorize("@ss.hasPermission('wms:transferissue-record-main:create')")
@ -126,4 +125,13 @@ public class TransferissueRecordMainController {
Long id = transferissueRecordMainService.pdaCreateTransferissueRecord(createReqVO);
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;
@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;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 调拨出库记录主 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
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;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbCreateReqVO;
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.controller.productrepairRequest.vo.*;
import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestDetailbDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@ -33,4 +30,5 @@ public interface ProductrepairRequestDetailbConvert {
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 lombok.*;
import java.math.BigDecimal;
/**
* 制品返修记录子 DO
*
@ -103,5 +105,9 @@ public class ConsumeRecordDetailbDO extends BaseDO {
* 枚举 {@link TODO interface_type 对应的类}
*/
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 lombok.*;
import java.math.BigDecimal;
/**
* 制品返修申请子 DO
*
@ -88,5 +90,9 @@ public class ProductrepairRequestDetailbDO extends BaseDO {
* 并发乐观锁
*/
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::getCode, reqVO.getCode())
.eqIfPresent(ConsumeRecordDetailbDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(ConsumeRecordDetailbDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ConsumeRecordDetailbDO::getId));
}
@ -67,6 +68,7 @@ public interface ConsumeRecordDetailbMapper extends BaseMapperX<ConsumeRecordDet
.eqIfPresent(ConsumeRecordDetailbDO::getUom, reqVO.getUom())
.eqIfPresent(ConsumeRecordDetailbDO::getCode, reqVO.getCode())
.eqIfPresent(ConsumeRecordDetailbDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(ConsumeRecordDetailbDO::getMasterId, reqVO.getMasterId())
.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())
.betweenIfPresent(ProductrepairRequestDetailaDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailaDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailaDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductrepairRequestDetailaDO::getId));
}
default PageResult<ProductrepairRequestDetailaDO> selectSenior(CustomConditions conditions) {
@ -74,6 +75,7 @@ public interface ProductrepairRequestDetailaMapper extends BaseMapperX<Productre
.eqIfPresent(ProductrepairRequestDetailaDO::getUom, reqVO.getUom())
.betweenIfPresent(ProductrepairRequestDetailaDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailaDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailaDO::getMasterId, reqVO.getMasterId())
.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())
.betweenIfPresent(ProductrepairRequestDetailbDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailbDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailbDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductrepairRequestDetailbDO::getId));
}
default PageResult<ProductrepairRequestDetailbDO> selectSenior(CustomConditions conditions) {
@ -61,6 +62,7 @@ public interface ProductrepairRequestDetailbMapper extends BaseMapperX<Productre
.eqIfPresent(ProductrepairRequestDetailbDO::getUom, reqVO.getUom())
.betweenIfPresent(ProductrepairRequestDetailbDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(ProductrepairRequestDetailbDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(ProductrepairRequestDetailbDO::getMasterId, reqVO.getMasterId())
.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.PageResult;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO;
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.controller.productrepairRecord.vo.*;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
import javax.validation.Valid;
@ -80,4 +77,11 @@ public interface ProductrepairRecordMainService {
* @return 分页列表
*/
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.PageResult;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO;
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.controller.productrepairRecord.vo.*;
import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert;
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.mysql.productrepairRecord.ConsumeRecordDetailbMapper;
import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordMainMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -30,6 +30,8 @@ public class ProductrepairRecordMainServiceImpl implements ProductrepairRecordMa
@Resource
private ProductrepairRecordMainMapper productrepairRecordMainMapper;
@Resource
private ConsumeRecordDetailbMapper consumeRecordDetailbMapper;
@Override
public Long createProductrepairRecordMain(ProductrepairRecordMainCreateReqVO createReqVO) {
@ -87,4 +89,11 @@ public class ProductrepairRecordMainServiceImpl implements ProductrepairRecordMa
public PageResult<ProductrepairRecordMainDO> getProductrepairRecordMainSenior(CustomConditions 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.PageResult;
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 javax.validation.Valid;
@ -126,4 +127,13 @@ public interface ProductrepairRequestMainService {
* @return
*/
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.user.AdminUserApi;
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.ProductrepairRecordMainCreateReqVO;
import com.win.module.wms.controller.productrepairRequest.vo.*;
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.ProductrepairRecordDetailConvert;
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.ProductrepairRequestMainConvert;
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.itembasic.ItembasicDO;
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.ProductrepairRecordDetailDO;
import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO;
@ -66,6 +64,7 @@ import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
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) {
// DBT——>DBT3("ProductRepairRequest")
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRequest");
ProductrepairRequestMainDO productrepairRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
ProductrepairRequestMainDO mainBo = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
// 子表处理逻辑 ProductrepairRequestDetailaDO
List<ProductrepairRequestDetailaCreateReqVO> subList = createReqVO.getSubList();
for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){
validateDetailMethod(productrepairRequestMainDO, productrepairRequestDetailaCreateReqVO,businesstypeDO);
validateDetailMethod(mainBo, productrepairRequestDetailaCreateReqVO,businesstypeDO);
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
productrepairRequestMainDO.setNumber(number);
productrepairRequestMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
productrepairRequestMainMapper.insert(productrepairRequestMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_REPAIR_REQUEST.getCode());
mainBo.setNumber(number);
mainBo.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
productrepairRequestMainMapper.insert(mainBo);
for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){
ProductrepairRequestDetailaDO productrepairRequestDetailaDO = ProductrepairRequestDetailaConvert.INSTANCE.convert(productrepairRequestDetailaCreateReqVO);
productrepairRequestDetailaDO.setMasterId(productrepairRequestMainDO.getId());
productrepairRequestDetailaDO.setNumber(productrepairRequestMainDO.getNumber());
productrepairRequestDetailaDO.setInventoryStatus(businesstypeDO.getOutInventoryStatuses());
productrepairRequestDetailaMapper.insert(productrepairRequestDetailaDO);
ProductrepairRequestDetailaDO detailaDO = ProductrepairRequestDetailaConvert.INSTANCE.convert(productrepairRequestDetailaCreateReqVO);
detailaDO.setMasterId(mainBo.getId());
detailaDO.setNumber(mainBo.getNumber());
detailaDO.setInventoryStatus(businesstypeDO.getOutInventoryStatuses());
productrepairRequestDetailaMapper.insert(detailaDO);
List<ProductrepairRequestDetailbCreateReqVO> consumereDetailbList = productrepairRequestDetailaCreateReqVO.getChildList();
List<ProductrepairRequestDetailbDO> childList = new ArrayList<>();
for(ProductrepairRequestDetailbCreateReqVO productrepairRequestDetailbCreateReqVO:consumereDetailbList){
ProductrepairRequestDetailbDO productrepairRequestDetailbDO = ProductrepairRequestDetailbConvert.INSTANCE.convert(productrepairRequestDetailbCreateReqVO);
productrepairRequestDetailbDO.setMasterId(productrepairRequestDetailaDO.getId());
childList.add(productrepairRequestDetailbDO);
ProductrepairRequestDetailbDO detailbDO = ProductrepairRequestDetailbConvert.INSTANCE.convert(productrepairRequestDetailbCreateReqVO);
detailbDO.setMasterId(detailaDO.getId());
detailbDO.setNumber(detailaDO.getNumber());
validateDetailbBom(detailbDO,detailaDO,mainBo); // 创建二级子表数据
detailbDO.setId(null);
childList.add(detailbDO);
}
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) {
@ -249,22 +272,23 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
detailDo.setFromLocationCode(workstationDO.getRawLocationCode());
}
// 校验--库存余额 TB——>TB1
validateBalance(detailDo);
validateBalance(detailDo,mainDO);
// 校验--物品类型 DBT——>DBT2——>IT
jobUtils.selectItembasicExist(itembasicDO.getType(),businesstypeDO);
jobUtils.ifInType(itembasicDO.getType(),businesstypeDO);
// 校验--来源库位 DBT——>DBT2——>LO
jobUtils.ifInToLocationType(detailDo.getFromLocationCode(), businesstypeDO);
// 校验--库存状态 DBT——>DBT2——>ISO
jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(),businesstypeDO);
}
private void validateBalance(ProductrepairRequestDetailaBaseVO detailDo) {
private void validateBalance(ProductrepairRequestDetailaBaseVO detailDo,ProductrepairRequestMainDO mainDO) {
String inventoryStatus = detailDo.getInventoryStatus();
String[] inventoryArray = inventoryStatus.split(",");
List<String> inventorystatus = Arrays.asList(inventoryArray);
List<BalanceDO> list = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus);
if(list != null && list.size() > 0){
BalanceDO balanceDO = list.get(0);
mainDO.setFromWarehouseCode(balanceDO.getWarehouseCode());
if(balanceDO.getQty().compareTo(detailDo.getQty()) < 0){
// 返修数量【qty】不能大于库存数量【banlance.qty】
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);
List<Map<String,Object>> list = jobUtils.bomDismantleList(pageVO.getItemCode(),"");
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){
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.setQty(BigDecimal.ZERO);
productrepairRequestBomRespVO.setVersion(map.get("version") != null?map.get("version").toString():"");
resultList.add(productrepairRequestBomRespVO);
}
@ -494,5 +535,10 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
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){
detailDo.setMasterId(scrapRequestMainDO.getId());
detailDo.setNumber(scrapRequestMainDO.getNumber());
detailDo.setId(null);
}
scrapRequestDetailMapper.insertBatch(subDOList);
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.PageResult;
import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainCreateReqVO;
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.controller.transferissueRecord.vo.*;
import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO;
import javax.validation.Valid;
@ -86,4 +83,11 @@ public interface TransferissueRecordMainService {
* @return 主表ID
*/
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.PageResult;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.transferissueRecord.vo.*;
import com.win.module.wms.convert.transferissueRecord.TransferissueRecordDetailConvert;
import com.win.module.wms.convert.transferissueRecord.TransferissueRecordMainConvert;
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.TransferissueRecordMainDO;
import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordDetailMapper;
import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordMainMapper;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
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;
/**
@ -45,6 +52,10 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
private SerialNumberApi serialNumberApi;
@Resource
private TransferissueRecordDetailMapper transferissueRecordDetailMapper;
@Resource
private AdminUserApi userApi;
@Resource
private TransactionService transactionService;
@Override
public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) {
@ -75,10 +86,12 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
transferissueRecordMainMapper.deleteById(id);
}
private void validateTransferissueRecordMainExists(Long id) {
if (transferissueRecordMainMapper.selectById(id) == null) {
private TransferissueRecordMainDO validateTransferissueRecordMainExists(Long id) {
TransferissueRecordMainDO transferissueRecordMainDO = transferissueRecordMainMapper.selectById(id);
if (transferissueRecordMainDO == null) {
throw exception(TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS);
}
return transferissueRecordMainDO;
}
@Override
@ -123,14 +136,55 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
transferissueRecordMainDO.setCreateTime(null);
transferissueRecordMainMapper.insert(transferissueRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
List<TransferissueRecordDetailCreateReqVO> subList = createReqVO.getSubList();
for(TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO : subList) {
TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO);
recordDetailDO.setNumber(number);
recordDetailDO.setMasterId(transferissueRecordMainDO.getId());
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();
}
@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