Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
bf66e527c6
  1. 8
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ProductrepairRecordDetailBaseVO.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaPageReqVO.java
  5. 135
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/RawscrapRecordDetailController.java
  6. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailBaseVO.java
  7. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailCreateReqVO.java
  8. 80
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailExcelVO.java
  9. 77
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailExportReqVO.java
  10. 82
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailPageReqVO.java
  11. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailRespVO.java
  12. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailUpdateReqVO.java
  13. 137
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/RawscrapRequestDetailController.java
  14. 68
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailBaseVO.java
  15. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailCreateReqVO.java
  16. 71
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailExcelVO.java
  17. 68
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailExportReqVO.java
  18. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailPageReqVO.java
  19. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailRespVO.java
  20. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailUpdateReqVO.java
  21. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRecord/RawscrapRecordDetailConvert.java
  22. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRequest/RawscrapRequestDetailConvert.java
  23. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRecord/ProductrepairRecordDetailDO.java
  24. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java
  25. 106
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRecord/RawscrapRecordDetailDO.java
  26. 94
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/RawscrapRequestDetailDO.java
  27. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRecord/RawscrapRecordDetailMapper.java
  28. 66
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRequest/RawscrapRequestDetailMapper.java
  29. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java
  30. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRecord/RawscrapRecordDetailService.java
  31. 109
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRecord/RawscrapRecordDetailServiceImpl.java
  32. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailService.java
  33. 109
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailServiceImpl.java
  34. 12
      win-module-wms/win-module-wms-biz/src/main/resources/mapper/productscrapRecord/RawscrapRecordDetailMapper.xml
  35. 12
      win-module-wms/win-module-wms-biz/src/main/resources/mapper/productscrapRequest/RawscrapRequestDetailMapper.xml

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

@ -714,7 +714,9 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTSCRAP_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_110_000, "制品报废申请主不存在");
//制品报废申请子ErrorCode
ErrorCode PRODUCTSCRAP_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_001_110_001, "制品报废申请子不存在");
// 制品报废二级子表ErrorCode
ErrorCode RAWSCRAP_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_111_100, "制品报废子申请状态错误");
ErrorCode RAWSCRAP_REQUEST_DETAIL_IMPORT_LIST_IS_EMPTY= new ErrorCode(1_000_111_101, "制品报废子申请导入列表是空");
//制品报废申请子ErrorCode
ErrorCode PRODUCTSCRAP_REQUEST_NOT_EXISTS = new ErrorCode(1_001_110_002, "制品报废申请不存在");
//制品报废任务主ErrorCode
@ -722,9 +724,13 @@ public interface ErrorCodeConstants {
//制品报废任务子ErrorCode
ErrorCode PRODUCTSCRAP_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_110_001, "制品报废任务子不存在");
ErrorCode PRODUCTSCRAP_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_111_002, "制品报废任务状态错误");
//制品报废记录ErrorCode
ErrorCode PRODUCTSCRAP_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废记录主不存在");
ErrorCode PRODUCTSCRAP_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_111_001, "制品报废记录子不存在");
ErrorCode RAWSCRAP_RECORD_DETAIL_NOT_EXISTS= new ErrorCode(1_000_111_002, "制品报废记录子不存在");
ErrorCode RAWSCRAP_RECORD_DETAIL_IMPORT_LIST_IS_EMPTY= new ErrorCode(1_000_111_002, "制品报废记录子导入列表是空");
//制品上架申请ErrorCode
ErrorCode PRODUCTPUTAWAY_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_112_000, "制品上架申请主不存在");
ErrorCode PRODUCTPUTAWAY_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_112_001, "制品上架申请子不存在");

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

@ -109,4 +109,7 @@ public class ProductrepairRecordDetailBaseVO {
@Schema(description = "主表ID")
private String masterId;
@Schema(description = "BOM版本")
private String bomVersion;
}

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

@ -96,4 +96,7 @@ public class ProductrepairRequestDetailaBaseVO {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "BOM版本")
private String bomVersion;
}

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

@ -88,4 +88,7 @@ public class ProductrepairRequestDetailaPageReqVO extends PageParam {
@Schema(description = "主键ID")
private Long masterId;
@Schema(description = "BOM版本")
private String bomVersion;
}

135
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/RawscrapRecordDetailController.java

@ -0,0 +1,135 @@
package com.win.module.wms.controller.productscrapRecord;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.wms.controller.productscrapRecord.vo.*;
import com.win.module.wms.convert.productscrapRecord.RawscrapRecordDetailConvert;
import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO;
import com.win.module.wms.service.productscrapRecord.RawscrapRecordDetailService;
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.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;
@Tag(name = "管理后台 - 制品返修记录子")
@RestController
@RequestMapping("/wms/rawscrap-record-detail")
@Validated
public class RawscrapRecordDetailController {
@Resource
private RawscrapRecordDetailService rawscrapRecordDetailService;
@PostMapping("/create")
@Operation(summary = "创建制品返修记录子")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:create')")
public CommonResult<Long> createRawscrapRecordDetail(@Valid @RequestBody RawscrapRecordDetailCreateReqVO createReqVO) {
return success(rawscrapRecordDetailService.createRawscrapRecordDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新制品返修记录子")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:update')")
public CommonResult<Boolean> updateRawscrapRecordDetail(@Valid @RequestBody RawscrapRecordDetailUpdateReqVO updateReqVO) {
int result = rawscrapRecordDetailService.updateRawscrapRecordDetail(updateReqVO);
return success(result > 0);
}
@DeleteMapping("/delete")
@Operation(summary = "删除制品返修记录子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:delete')")
public CommonResult<Boolean> deleteRawscrapRecordDetail(@RequestParam("id") Long id) {
int result = rawscrapRecordDetailService.deleteRawscrapRecordDetail(id);
return success(result > 0);
}
@GetMapping("/get")
@Operation(summary = "获得制品返修记录子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:query')")
public CommonResult<RawscrapRecordDetailRespVO> getRawscrapRecordDetail(@RequestParam("id") Long id) {
RawscrapRecordDetailDO rawscrapRecordDetail = rawscrapRecordDetailService.getRawscrapRecordDetail(id);
return success(RawscrapRecordDetailConvert.INSTANCE.convert(rawscrapRecordDetail));
}
@GetMapping("/list")
@Operation(summary = "获得制品返修记录子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:query')")
public CommonResult<List<RawscrapRecordDetailRespVO>> getRawscrapRecordDetailList(@RequestParam("ids") Collection<Long> ids) {
List<RawscrapRecordDetailDO> list = rawscrapRecordDetailService.getRawscrapRecordDetailList(ids);
return success(RawscrapRecordDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得制品返修记录子分页")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:query')")
public CommonResult<PageResult<RawscrapRecordDetailRespVO>> getRawscrapRecordDetailPage(@Valid RawscrapRecordDetailPageReqVO pageVO) {
PageResult<RawscrapRecordDetailDO> pageResult = rawscrapRecordDetailService.getRawscrapRecordDetailPage(pageVO);
return success(RawscrapRecordDetailConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出制品返修记录子 Excel")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-record-detail:export')")
@OperateLog(type = EXPORT)
public void exportRawscrapRecordDetailExcel(@Valid RawscrapRecordDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<RawscrapRecordDetailDO> list = rawscrapRecordDetailService.getRawscrapRecordDetailList(exportReqVO);
// 导出 Excel
List<RawscrapRecordDetailExcelVO> datas = RawscrapRecordDetailConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "制品返修记录子.xls", "数据", RawscrapRecordDetailExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制品返修记录子模板")
public void importTemplate(HttpServletResponse response) throws IOException {
List<RawscrapRecordDetailExcelVO> list = Arrays.asList();
// 输出
ExcelUtils.write(response, "制品返修记录子基本信息导入模板.xls", "制品返修记录子基本信息列表", RawscrapRecordDetailExcelVO.class, list);
}
@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:rawscrap-record-detail: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<RawscrapRecordDetailExcelVO> list = ExcelUtils.read(file, RawscrapRecordDetailExcelVO.class);
List<RawscrapRecordDetailExcelVO> errorList = rawscrapRecordDetailService.importRawscrapRecordDetailList(list, 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(returnMap);
}
}

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailBaseVO.java

@ -0,0 +1,72 @@
package com.win.module.wms.controller.productscrapRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* 制品返修记录子 Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class RawscrapRecordDetailBaseVO {
@Schema(description = "批次")
private String batch;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "从库位组代码")
private String fromLocationGroupCode;
@Schema(description = "从库区代码")
private String fromAreaCode;
@Schema(description = "库存状态", example = "2")
private String inventoryStatus;
@Schema(description = "包装号")
private String packingNumber;
@Schema(description = "主表ID", example = "17320")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "地点ID", example = "25447")
private String siteId;
@Schema(description = "物品名称", example = "赵六")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "计量单位")
private String uom;
@Schema(description = "代码")
private String code;
@Schema(description = "接口类型", example = "2")
private String interfaceType;
@Schema(description = "数量")
private BigDecimal qty;
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailCreateReqVO.java

@ -0,0 +1,14 @@
package com.win.module.wms.controller.productscrapRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 制品返修记录子创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRecordDetailCreateReqVO extends RawscrapRecordDetailBaseVO {
}

80
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailExcelVO.java

@ -0,0 +1,80 @@
package com.win.module.wms.controller.productscrapRecord.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 制品返修记录子 Excel VO
*
* @author 超级管理员
*/
@Data
public class RawscrapRecordDetailExcelVO {
@ExcelProperty("id")
private Long id;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("从库位组代码")
private String fromLocationGroupCode;
@ExcelProperty("从库区代码")
private String fromAreaCode;
@ExcelProperty("库存状态")
private String inventoryStatus;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("主表ID")
private Long masterId;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("地点ID")
private String siteId;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("代码")
private String code;
@ExcelProperty("接口类型")
private String interfaceType;
@ExcelProperty("数量")
private BigDecimal qty;
}

77
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailExportReqVO.java

@ -0,0 +1,77 @@
package com.win.module.wms.controller.productscrapRecord.vo;
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;
@Schema(description = "管理后台 - 制品返修记录子 Excel 导出 Request VO,参数和 RawscrapRecordDetailPageReqVO 是一致的")
@Data
public class RawscrapRecordDetailExportReqVO {
@Schema(description = "批次")
private String batch;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "从库位组代码")
private String fromLocationGroupCode;
@Schema(description = "从库区代码")
private String fromAreaCode;
@Schema(description = "库存状态", example = "2")
private String inventoryStatus;
@Schema(description = "包装号")
private String packingNumber;
@Schema(description = "主表ID", example = "17320")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "地点ID", example = "25447")
private String siteId;
@Schema(description = "物品名称", example = "赵六")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "计量单位")
private String uom;
@Schema(description = "代码")
private String code;
@Schema(description = "接口类型", example = "2")
private String interfaceType;
@Schema(description = "数量")
private BigDecimal qty;
}

82
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailPageReqVO.java

@ -0,0 +1,82 @@
package com.win.module.wms.controller.productscrapRecord.vo;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
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;
@Schema(description = "管理后台 - 制品返修记录子分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRecordDetailPageReqVO extends PageParam {
@Schema(description = "批次")
private String batch;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "从库位组代码")
private String fromLocationGroupCode;
@Schema(description = "从库区代码")
private String fromAreaCode;
@Schema(description = "库存状态", example = "2")
private String inventoryStatus;
@Schema(description = "包装号")
private String packingNumber;
@Schema(description = "主表ID", example = "17320")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "地点ID", example = "25447")
private String siteId;
@Schema(description = "物品名称", example = "赵六")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "计量单位")
private String uom;
@Schema(description = "代码")
private String code;
@Schema(description = "接口类型", example = "2")
private String interfaceType;
@Schema(description = "数量")
private BigDecimal qty;
}

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailRespVO.java

@ -0,0 +1,22 @@
package com.win.module.wms.controller.productscrapRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 制品返修记录子 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRecordDetailRespVO extends RawscrapRecordDetailBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8745")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createTime;
}

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/RawscrapRecordDetailUpdateReqVO.java

@ -0,0 +1,20 @@
package com.win.module.wms.controller.productscrapRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 制品返修记录子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRecordDetailUpdateReqVO extends RawscrapRecordDetailBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8745")
@NotNull(message = "id不能为空")
private Long id;
}

137
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/RawscrapRequestDetailController.java

@ -0,0 +1,137 @@
package com.win.module.wms.controller.productscrapRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.convert.productscrapRequest.RawscrapRequestDetailConvert;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import com.win.module.wms.service.productscrapRequest.RawscrapRequestDetailService;
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.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;
@Tag(name = "管理后台 - 制品报废-原材料报废申请")
@RestController
@RequestMapping("/wms/rawscrap-request-detail")
@Validated
public class RawscrapRequestDetailController {
@Resource
private RawscrapRequestDetailService rawscrapRequestDetailService;
@PostMapping("/create")
@Operation(summary = "创建制品报废-原材料报废申请")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:create')")
public CommonResult<Long> createRawscrapRequestDetail(@Valid @RequestBody RawscrapRequestDetailCreateReqVO createReqVO) {
return success(rawscrapRequestDetailService.createRawscrapRequestDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新制品报废-原材料报废申请")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:update')")
public CommonResult<Boolean> updateRawscrapRequestDetail(@Valid @RequestBody RawscrapRequestDetailUpdateReqVO updateReqVO) {
int result = rawscrapRequestDetailService.updateRawscrapRequestDetail(updateReqVO);
return success(result > 0);
}
@DeleteMapping("/delete")
@Operation(summary = "删除制品报废-原材料报废申请")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:delete')")
public CommonResult<Boolean> deleteRawscrapRequestDetail(@RequestParam("id") Long id) {
int result = rawscrapRequestDetailService.deleteRawscrapRequestDetail(id);
return success(result > 0);
}
@GetMapping("/get")
@Operation(summary = "获得制品报废-原材料报废申请")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:query')")
public CommonResult<RawscrapRequestDetailRespVO> getRawscrapRequestDetail(@RequestParam("id") Long id) {
RawscrapRequestDetailDO rawscrapRequestDetail = rawscrapRequestDetailService.getRawscrapRequestDetail(id);
return success(RawscrapRequestDetailConvert.INSTANCE.convert(rawscrapRequestDetail));
}
@GetMapping("/list")
@Operation(summary = "获得制品报废-原材料报废申请列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:query')")
public CommonResult<List<RawscrapRequestDetailRespVO>> getRawscrapRequestDetailList(@RequestParam("ids") Collection<Long> ids) {
List<RawscrapRequestDetailDO> list = rawscrapRequestDetailService.getRawscrapRequestDetailList(ids);
return success(RawscrapRequestDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得制品报废-原材料报废申请分页")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:query')")
public CommonResult<PageResult<RawscrapRequestDetailRespVO>> getRawscrapRequestDetailPage(@Valid RawscrapRequestDetailPageReqVO pageVO) {
PageResult<RawscrapRequestDetailDO> pageResult = rawscrapRequestDetailService.getRawscrapRequestDetailPage(pageVO);
return success(RawscrapRequestDetailConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出制品报废-原材料报废申请 Excel")
@PreAuthorize("@ss.hasPermission('wms:rawscrap-request-detail:export')")
@OperateLog(type = EXPORT)
public void exportRawscrapRequestDetailExcel(@Valid RawscrapRequestDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<RawscrapRequestDetailDO> list = rawscrapRequestDetailService.getRawscrapRequestDetailList(exportReqVO);
// 导出 Excel
List<RawscrapRequestDetailExcelVO> datas = RawscrapRequestDetailConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "制品报废-原材料报废申请.xls", "数据", RawscrapRequestDetailExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制品报废-原材料报废申请模板")
public void importTemplate(HttpServletResponse response) throws IOException {
List<RawscrapRequestDetailExcelVO> list = Arrays.asList();
// 输出
ExcelUtils.write(response, "制品报废-原材料报废申请基本信息导入模板.xls", "制品报废-原材料报废申请基本信息列表", RawscrapRequestDetailExcelVO.class, list);
}
@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:rawscrap-request-detail: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<RawscrapRequestDetailExcelVO> list = ExcelUtils.read(file, RawscrapRequestDetailExcelVO.class);
List<RawscrapRequestDetailExcelVO> errorList = rawscrapRequestDetailService.importRawscrapRequestDetailList(list, 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(returnMap);
}
}

68
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailBaseVO.java

@ -0,0 +1,68 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* 制品报废-原材料报废申请 Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class RawscrapRequestDetailBaseVO {
@Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "库存状态不能为空")
private String inventoryStatus;
@Schema(description = "包装号")
private String packingNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "从库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位代码不能为空")
private String fromLocationCode;
@Schema(description = "主表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18816")
@NotNull(message = "主表ID不能为空")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "地点ID", example = "8586")
private Long siteId;
@Schema(description = "物品名称", example = "芋艿")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "计量单位")
private String uom;
@Schema(description = "并发乐观锁")
private String concurrencyStamp;
@Schema(description = "数量")
private BigDecimal qty;
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailCreateReqVO.java

@ -0,0 +1,14 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 制品报废-原材料报废申请创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRequestDetailCreateReqVO extends RawscrapRequestDetailBaseVO {
}

71
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailExcelVO.java

@ -0,0 +1,71 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 制品报废-原材料报废申请 Excel VO
*
* @author 超级管理员
*/
@Data
public class RawscrapRequestDetailExcelVO {
@ExcelProperty("id")
private Long id;
@ExcelProperty("库存状态")
private String inventoryStatus;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("主表ID")
private Long masterId;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("地点ID")
private Long siteId;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("并发乐观锁")
private String concurrencyStamp;
@ExcelProperty("数量")
private BigDecimal qty;
}

68
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailExportReqVO.java

@ -0,0 +1,68 @@
package com.win.module.wms.controller.productscrapRequest.vo;
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;
@Schema(description = "管理后台 - 制品报废-原材料报废申请 Excel 导出 Request VO,参数和 RawscrapRequestDetailPageReqVO 是一致的")
@Data
public class RawscrapRequestDetailExportReqVO {
@Schema(description = "库存状态", example = "1")
private String inventoryStatus;
@Schema(description = "包装号")
private String packingNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "主表ID", example = "18816")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "地点ID", example = "8586")
private Long siteId;
@Schema(description = "物品名称", example = "芋艿")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "计量单位")
private String uom;
@Schema(description = "并发乐观锁")
private String concurrencyStamp;
@Schema(description = "数量")
private BigDecimal qty;
}

73
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailPageReqVO.java

@ -0,0 +1,73 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
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;
@Schema(description = "管理后台 - 制品报废-原材料报废申请分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRequestDetailPageReqVO extends PageParam {
@Schema(description = "库存状态", example = "1")
private String inventoryStatus;
@Schema(description = "包装号")
private String packingNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "主表ID", example = "18816")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "地点ID", example = "8586")
private Long siteId;
@Schema(description = "物品名称", example = "芋艿")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "计量单位")
private String uom;
@Schema(description = "并发乐观锁")
private String concurrencyStamp;
@Schema(description = "数量")
private BigDecimal qty;
}

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailRespVO.java

@ -0,0 +1,22 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 制品报废-原材料报废申请 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRequestDetailRespVO extends RawscrapRequestDetailBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19071")
private Long id;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/RawscrapRequestDetailUpdateReqVO.java

@ -0,0 +1,20 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 制品报废-原材料报废申请更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RawscrapRequestDetailUpdateReqVO extends RawscrapRequestDetailBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19071")
@NotNull(message = "id不能为空")
private Long id;
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRecord/RawscrapRecordDetailConvert.java

@ -0,0 +1,37 @@
package com.win.module.wms.convert.productscrapRecord;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRecord.vo.RawscrapRecordDetailCreateReqVO;
import com.win.module.wms.controller.productscrapRecord.vo.RawscrapRecordDetailExcelVO;
import com.win.module.wms.controller.productscrapRecord.vo.RawscrapRecordDetailRespVO;
import com.win.module.wms.controller.productscrapRecord.vo.RawscrapRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 制品返修记录子 Convert
*
* @author 超级管理员
*/
@Mapper
public interface RawscrapRecordDetailConvert {
RawscrapRecordDetailConvert INSTANCE = Mappers.getMapper(RawscrapRecordDetailConvert.class);
RawscrapRecordDetailDO convert(RawscrapRecordDetailCreateReqVO bean);
RawscrapRecordDetailDO convert(RawscrapRecordDetailUpdateReqVO bean);
RawscrapRecordDetailRespVO convert(RawscrapRecordDetailDO bean);
List<RawscrapRecordDetailRespVO> convertList(List<RawscrapRecordDetailDO> list);
PageResult<RawscrapRecordDetailRespVO> convertPage(PageResult<RawscrapRecordDetailDO> page);
List<RawscrapRecordDetailExcelVO> convertList02(List<RawscrapRecordDetailDO> list);
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRequest/RawscrapRequestDetailConvert.java

@ -0,0 +1,37 @@
package com.win.module.wms.convert.productscrapRequest;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.RawscrapRequestDetailCreateReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.RawscrapRequestDetailExcelVO;
import com.win.module.wms.controller.productscrapRequest.vo.RawscrapRequestDetailRespVO;
import com.win.module.wms.controller.productscrapRequest.vo.RawscrapRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 制品报废-原材料报废申请 Convert
*
* @author 超级管理员
*/
@Mapper
public interface RawscrapRequestDetailConvert {
RawscrapRequestDetailConvert INSTANCE = Mappers.getMapper(RawscrapRequestDetailConvert.class);
RawscrapRequestDetailDO convert(RawscrapRequestDetailCreateReqVO bean);
RawscrapRequestDetailDO convert(RawscrapRequestDetailUpdateReqVO bean);
RawscrapRequestDetailRespVO convert(RawscrapRequestDetailDO bean);
List<RawscrapRequestDetailRespVO> convertList(List<RawscrapRequestDetailDO> list);
PageResult<RawscrapRequestDetailRespVO> convertPage(PageResult<RawscrapRequestDetailDO> page);
List<RawscrapRequestDetailExcelVO> convertList02(List<RawscrapRequestDetailDO> list);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRecord/ProductrepairRecordDetailDO.java

@ -147,4 +147,9 @@ public class ProductrepairRecordDetailDO extends BaseDO {
*/
private String jobDetailId;
/**
* BOM版本
*/
private String bomVersion;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java

@ -120,4 +120,9 @@ public class ProductrepairRequestDetailaDO extends BaseDO {
*/
private String concurrencyStamp;
/**
* BOM版本
*/
private String bomVersion;
}

106
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRecord/RawscrapRecordDetailDO.java

@ -0,0 +1,106 @@
package com.win.module.wms.dal.dataobject.productscrapRecord;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.math.BigDecimal;
/**
* 制品返修记录子 DO
*
* @author 超级管理员
*/
@TableName("record_rawscrap_detail")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RawscrapRecordDetailDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 批次
*/
private String batch;
/**
* 从库位代码
*/
private String fromLocationCode;
/**
* 从库位组代码
*/
private String fromLocationGroupCode;
/**
* 从库区代码
*/
private String fromAreaCode;
/**
* 库存状态
*/
private String inventoryStatus;
/**
* 包装号
*/
private String packingNumber;
/**
* 主表ID
*/
private Long masterId;
/**
* 单据号
*/
private String number;
/**
* 物品代码
*/
private String itemCode;
/**
* 备注
*/
private String remark;
/**
* 地点ID
*/
private String siteId;
/**
* 物品名称
*/
private String itemName;
/**
* 物品描述1
*/
private String itemDesc1;
/**
* 物品描述2
*/
private String itemDesc2;
/**
* 项目代码
*/
private String projectCode;
/**
* 计量单位
*/
private String uom;
/**
* 代码
*/
private String code;
/**
* 接口类型
*/
private String interfaceType;
/**
* 数量
*/
private BigDecimal qty;
}

94
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRequest/RawscrapRequestDetailDO.java

@ -0,0 +1,94 @@
package com.win.module.wms.dal.dataobject.productscrapRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.math.BigDecimal;
/**
* 制品报废-原材料报废申请 DO
*
* @author 超级管理员
*/
@TableName("request_rawscrap_detail")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RawscrapRequestDetailDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 库存状态
*/
private String inventoryStatus;
/**
* 包装号
*/
private String packingNumber;
/**
* 批次
*/
private String batch;
/**
* 从库位代码
*/
private String fromLocationCode;
/**
* 主表ID
*/
private Long masterId;
/**
* 单据号
*/
private String number;
/**
* 物品代码
*/
private String itemCode;
/**
* 备注
*/
private String remark;
/**
* 地点ID
*/
private Long siteId;
/**
* 物品名称
*/
private String itemName;
/**
* 物品描述1
*/
private String itemDesc1;
/**
* 物品描述2
*/
private String itemDesc2;
/**
* 项目代码
*/
private String projectCode;
/**
* 计量单位
*/
private String uom;
/**
* 并发乐观锁
*/
private String concurrencyStamp;
/**
* 数量
*/
private BigDecimal qty;
}

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRecord/RawscrapRecordDetailMapper.java

@ -0,0 +1,72 @@
package com.win.module.wms.dal.mysql.productscrapRecord;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.module.wms.controller.productscrapRecord.vo.RawscrapRecordDetailExportReqVO;
import com.win.module.wms.controller.productscrapRecord.vo.RawscrapRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 制品返修记录子 Mapper
*
* @author 超级管理员
*/
@Mapper
public interface RawscrapRecordDetailMapper extends BaseMapperX<RawscrapRecordDetailDO> {
default PageResult<RawscrapRecordDetailDO> selectPage(RawscrapRecordDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<RawscrapRecordDetailDO>()
.eqIfPresent(RawscrapRecordDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(RawscrapRecordDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(RawscrapRecordDetailDO::getFromLocationGroupCode, reqVO.getFromLocationGroupCode())
.eqIfPresent(RawscrapRecordDetailDO::getFromAreaCode, reqVO.getFromAreaCode())
.eqIfPresent(RawscrapRecordDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(RawscrapRecordDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(RawscrapRecordDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(RawscrapRecordDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(RawscrapRecordDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(RawscrapRecordDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(RawscrapRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(RawscrapRecordDetailDO::getSiteId, reqVO.getSiteId())
.likeIfPresent(RawscrapRecordDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(RawscrapRecordDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(RawscrapRecordDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(RawscrapRecordDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(RawscrapRecordDetailDO::getUom, reqVO.getUom())
.eqIfPresent(RawscrapRecordDetailDO::getCode, reqVO.getCode())
.eqIfPresent(RawscrapRecordDetailDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(RawscrapRecordDetailDO::getQty, reqVO.getQty())
.orderByDesc(RawscrapRecordDetailDO::getId));
}
default List<RawscrapRecordDetailDO> selectList(RawscrapRecordDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<RawscrapRecordDetailDO>()
.eqIfPresent(RawscrapRecordDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(RawscrapRecordDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(RawscrapRecordDetailDO::getFromLocationGroupCode, reqVO.getFromLocationGroupCode())
.eqIfPresent(RawscrapRecordDetailDO::getFromAreaCode, reqVO.getFromAreaCode())
.eqIfPresent(RawscrapRecordDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(RawscrapRecordDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(RawscrapRecordDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(RawscrapRecordDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(RawscrapRecordDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(RawscrapRecordDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(RawscrapRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(RawscrapRecordDetailDO::getSiteId, reqVO.getSiteId())
.likeIfPresent(RawscrapRecordDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(RawscrapRecordDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(RawscrapRecordDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(RawscrapRecordDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(RawscrapRecordDetailDO::getUom, reqVO.getUom())
.eqIfPresent(RawscrapRecordDetailDO::getCode, reqVO.getCode())
.eqIfPresent(RawscrapRecordDetailDO::getInterfaceType, reqVO.getInterfaceType())
.eqIfPresent(RawscrapRecordDetailDO::getQty, reqVO.getQty())
.orderByDesc(RawscrapRecordDetailDO::getId));
}
}

66
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRequest/RawscrapRequestDetailMapper.java

@ -0,0 +1,66 @@
package com.win.module.wms.dal.mysql.productscrapRequest;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.module.wms.controller.productscrapRequest.vo.RawscrapRequestDetailExportReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.RawscrapRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 制品报废-原材料报废申请 Mapper
*
* @author 超级管理员
*/
@Mapper
public interface RawscrapRequestDetailMapper extends BaseMapperX<RawscrapRequestDetailDO> {
default PageResult<RawscrapRequestDetailDO> selectPage(RawscrapRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<RawscrapRequestDetailDO>()
.eqIfPresent(RawscrapRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(RawscrapRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(RawscrapRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(RawscrapRequestDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(RawscrapRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(RawscrapRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(RawscrapRequestDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(RawscrapRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(RawscrapRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(RawscrapRequestDetailDO::getSiteId, reqVO.getSiteId())
.likeIfPresent(RawscrapRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(RawscrapRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(RawscrapRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(RawscrapRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(RawscrapRequestDetailDO::getUom, reqVO.getUom())
.eqIfPresent(RawscrapRequestDetailDO::getConcurrencyStamp, reqVO.getConcurrencyStamp())
.eqIfPresent(RawscrapRequestDetailDO::getQty, reqVO.getQty())
.orderByDesc(RawscrapRequestDetailDO::getId));
}
default List<RawscrapRequestDetailDO> selectList(RawscrapRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<RawscrapRequestDetailDO>()
.eqIfPresent(RawscrapRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(RawscrapRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(RawscrapRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(RawscrapRequestDetailDO::getFromLocationCode, reqVO.getFromLocationCode())
.eqIfPresent(RawscrapRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(RawscrapRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(RawscrapRequestDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(RawscrapRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(RawscrapRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(RawscrapRequestDetailDO::getSiteId, reqVO.getSiteId())
.likeIfPresent(RawscrapRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(RawscrapRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(RawscrapRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(RawscrapRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(RawscrapRequestDetailDO::getUom, reqVO.getUom())
.eqIfPresent(RawscrapRequestDetailDO::getConcurrencyStamp, reqVO.getConcurrencyStamp())
.eqIfPresent(RawscrapRequestDetailDO::getQty, reqVO.getQty())
.orderByDesc(RawscrapRequestDetailDO::getId));
}
}

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

@ -510,7 +510,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
@Override
public PageResult<ProductrepairRequestBomRespVO> getBomInfoPage(ProductrepairRequestDetailaPageReqVO 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(),pageVO.getBomVersion());
List<ProductrepairRequestBomRespVO> resultList = new ArrayList<>();
Map<String,ProductrepairRequestDetailbDO> detailbDOMap = new HashMap<>();
if(pageVO.getMasterId() != null){

81
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRecord/RawscrapRecordDetailService.java

@ -0,0 +1,81 @@
package com.win.module.wms.service.productscrapRecord;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRecord.vo.*;
import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO;
import java.util.*;
import javax.validation.*;
/**
* 制品返修记录子 Service 接口
*
* @author 超级管理员
*/
public interface RawscrapRecordDetailService {
/**
* 创建制品返修记录子
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createRawscrapRecordDetail(@Valid RawscrapRecordDetailCreateReqVO createReqVO);
/**
* 更新制品返修记录子
*
* @param updateReqVO 更新信息
*/
Integer updateRawscrapRecordDetail(@Valid RawscrapRecordDetailUpdateReqVO updateReqVO);
/**
* 删除制品返修记录子
*
* @param id 编号
*/
Integer deleteRawscrapRecordDetail(Long id);
/**
* 获得制品返修记录子
*
* @param id 编号
* @return 制品返修记录子
*/
RawscrapRecordDetailDO getRawscrapRecordDetail(Long id);
/**
* 获得制品返修记录子列表
*
* @param ids 编号
* @return 制品返修记录子列表
*/
List<RawscrapRecordDetailDO> getRawscrapRecordDetailList(Collection<Long> ids);
/**
* 获得制品返修记录子分页
*
* @param pageReqVO 分页查询
* @return 制品返修记录子分页
*/
PageResult<RawscrapRecordDetailDO> getRawscrapRecordDetailPage(RawscrapRecordDetailPageReqVO pageReqVO);
/**
* 获得制品返修记录子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 制品返修记录子列表
*/
List<RawscrapRecordDetailDO> getRawscrapRecordDetailList(RawscrapRecordDetailExportReqVO exportReqVO);
/**
* 导入制品返修记录子主信息
*
* @param datas 导入制品返修记录子主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<RawscrapRecordDetailExcelVO> importRawscrapRecordDetailList(List<RawscrapRecordDetailExcelVO> datas, Integer mode, boolean updatePart);
}

109
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRecord/RawscrapRecordDetailServiceImpl.java

@ -0,0 +1,109 @@
package com.win.module.wms.service.productscrapRecord;
import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRecord.vo.*;
import com.win.module.wms.convert.productscrapRecord.RawscrapRecordDetailConvert;
import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO;
import com.win.module.wms.dal.mysql.productscrapRecord.RawscrapRecordDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.RAWSCRAP_RECORD_DETAIL_IMPORT_LIST_IS_EMPTY;
import static com.win.module.wms.enums.ErrorCodeConstants.RAWSCRAP_RECORD_DETAIL_NOT_EXISTS;
/**
* 制品返修记录子 Service 实现类
*
* @author 超级管理员
*/
@Service
@Validated
public class RawscrapRecordDetailServiceImpl implements RawscrapRecordDetailService {
@Resource
private RawscrapRecordDetailMapper rawscrapRecordDetailMapper;
@Override
public Long createRawscrapRecordDetail(RawscrapRecordDetailCreateReqVO createReqVO) {
// 插入
RawscrapRecordDetailDO rawscrapRecordDetail = RawscrapRecordDetailConvert.INSTANCE.convert(createReqVO);
rawscrapRecordDetailMapper.insert(rawscrapRecordDetail);
// 返回
return rawscrapRecordDetail.getId();
}
@Override
public Integer updateRawscrapRecordDetail(RawscrapRecordDetailUpdateReqVO updateReqVO) {
// 校验存在
validateRawscrapRecordDetailExists(updateReqVO.getId());
// 更新
RawscrapRecordDetailDO updateObj = RawscrapRecordDetailConvert.INSTANCE.convert(updateReqVO);
return rawscrapRecordDetailMapper.updateById(updateObj);
}
@Override
public Integer deleteRawscrapRecordDetail(Long id) {
// 校验存在
validateRawscrapRecordDetailExists(id);
// 删除
return rawscrapRecordDetailMapper.deleteById(id);
}
private void validateRawscrapRecordDetailExists(Long id) {
if (rawscrapRecordDetailMapper.selectById(id) == null) {
throw exception(RAWSCRAP_RECORD_DETAIL_NOT_EXISTS);
}
}
@Override
public RawscrapRecordDetailDO getRawscrapRecordDetail(Long id) {
return rawscrapRecordDetailMapper.selectById(id);
}
@Override
public List<RawscrapRecordDetailDO> getRawscrapRecordDetailList(Collection<Long> ids) {
return rawscrapRecordDetailMapper.selectBatchIds(ids);
}
@Override
public PageResult<RawscrapRecordDetailDO> getRawscrapRecordDetailPage(RawscrapRecordDetailPageReqVO pageReqVO) {
return rawscrapRecordDetailMapper.selectPage(pageReqVO);
}
@Override
public List<RawscrapRecordDetailDO> getRawscrapRecordDetailList(RawscrapRecordDetailExportReqVO exportReqVO) {
return rawscrapRecordDetailMapper.selectList(exportReqVO);
}
@Override
public List<RawscrapRecordDetailExcelVO> importRawscrapRecordDetailList(List<RawscrapRecordDetailExcelVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(RAWSCRAP_RECORD_DETAIL_IMPORT_LIST_IS_EMPTY);
}
List<RawscrapRecordDetailExcelVO> errorList = new ArrayList<>();
// datas.forEach(item -> {
// if(errorList == null){
// // 判断如果不存在,在进行插入
// RawscrapRecordDetailDO obj = rawscrapRecordDetailMapper.selectByCode(item.getCode());
// if (obj == null&& mode != 3) {
// rawscrapRecordDetailMapper.insert(RawscrapRecordDetailConvert.INSTANCE.convert(item));
// }
// else if (obj != null && mode != 2) {// 如果存在,判断是否允许更新
// RawscrapRecordDetailDO rawscrapRecordDetailDO = RawscrapRecordDetailConvert.INSTANCE.convert(item);
// rawscrapRecordDetailDO.setId(obj.getId());
// rawscrapRecordDetailMapper.updateById(obj);
// }
// }
// });
return errorList;
}
}

81
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailService.java

@ -0,0 +1,81 @@
package com.win.module.wms.service.productscrapRequest;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 制品报废-原材料报废申请 Service 接口
*
* @author 超级管理员
*/
public interface RawscrapRequestDetailService {
/**
* 创建制品报废-原材料报废申请
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createRawscrapRequestDetail(@Valid RawscrapRequestDetailCreateReqVO createReqVO);
/**
* 更新制品报废-原材料报废申请
*
* @param updateReqVO 更新信息
*/
Integer updateRawscrapRequestDetail(@Valid RawscrapRequestDetailUpdateReqVO updateReqVO);
/**
* 删除制品报废-原材料报废申请
*
* @param id 编号
*/
Integer deleteRawscrapRequestDetail(Long id);
/**
* 获得制品报废-原材料报废申请
*
* @param id 编号
* @return 制品报废-原材料报废申请
*/
RawscrapRequestDetailDO getRawscrapRequestDetail(Long id);
/**
* 获得制品报废-原材料报废申请列表
*
* @param ids 编号
* @return 制品报废-原材料报废申请列表
*/
List<RawscrapRequestDetailDO> getRawscrapRequestDetailList(Collection<Long> ids);
/**
* 获得制品报废-原材料报废申请分页
*
* @param pageReqVO 分页查询
* @return 制品报废-原材料报废申请分页
*/
PageResult<RawscrapRequestDetailDO> getRawscrapRequestDetailPage(RawscrapRequestDetailPageReqVO pageReqVO);
/**
* 获得制品报废-原材料报废申请列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 制品报废-原材料报废申请列表
*/
List<RawscrapRequestDetailDO> getRawscrapRequestDetailList(RawscrapRequestDetailExportReqVO exportReqVO);
/**
* 导入制品报废-原材料报废申请主信息
*
* @param datas 导入制品报废-原材料报废申请主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<RawscrapRequestDetailExcelVO> importRawscrapRequestDetailList(List<RawscrapRequestDetailExcelVO> datas, Integer mode, boolean updatePart);
}

109
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailServiceImpl.java

@ -0,0 +1,109 @@
package com.win.module.wms.service.productscrapRequest;
import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.convert.productscrapRequest.RawscrapRequestDetailConvert;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import com.win.module.wms.dal.mysql.productscrapRequest.RawscrapRequestDetailMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.RAWSCRAP_REQUEST_DETAIL_IMPORT_LIST_IS_EMPTY;
import static com.win.module.wms.enums.ErrorCodeConstants.RAWSCRAP_REQUEST_DETAIL_NOT_EXISTS;
/**
* 制品报废-原材料报废申请 Service 实现类
*
* @author 超级管理员
*/
@Service
@Validated
public class RawscrapRequestDetailServiceImpl implements RawscrapRequestDetailService {
@Resource
private RawscrapRequestDetailMapper rawscrapRequestDetailMapper;
@Override
public Long createRawscrapRequestDetail(RawscrapRequestDetailCreateReqVO createReqVO) {
// 插入
RawscrapRequestDetailDO rawscrapRequestDetail = RawscrapRequestDetailConvert.INSTANCE.convert(createReqVO);
rawscrapRequestDetailMapper.insert(rawscrapRequestDetail);
// 返回
return rawscrapRequestDetail.getId();
}
@Override
public Integer updateRawscrapRequestDetail(RawscrapRequestDetailUpdateReqVO updateReqVO) {
// 校验存在
validateRawscrapRequestDetailExists(updateReqVO.getId());
// 更新
RawscrapRequestDetailDO updateObj = RawscrapRequestDetailConvert.INSTANCE.convert(updateReqVO);
return rawscrapRequestDetailMapper.updateById(updateObj);
}
@Override
public Integer deleteRawscrapRequestDetail(Long id) {
// 校验存在
validateRawscrapRequestDetailExists(id);
// 删除
return rawscrapRequestDetailMapper.deleteById(id);
}
private void validateRawscrapRequestDetailExists(Long id) {
if (rawscrapRequestDetailMapper.selectById(id) == null) {
throw exception(RAWSCRAP_REQUEST_DETAIL_NOT_EXISTS);
}
}
@Override
public RawscrapRequestDetailDO getRawscrapRequestDetail(Long id) {
return rawscrapRequestDetailMapper.selectById(id);
}
@Override
public List<RawscrapRequestDetailDO> getRawscrapRequestDetailList(Collection<Long> ids) {
return rawscrapRequestDetailMapper.selectBatchIds(ids);
}
@Override
public PageResult<RawscrapRequestDetailDO> getRawscrapRequestDetailPage(RawscrapRequestDetailPageReqVO pageReqVO) {
return rawscrapRequestDetailMapper.selectPage(pageReqVO);
}
@Override
public List<RawscrapRequestDetailDO> getRawscrapRequestDetailList(RawscrapRequestDetailExportReqVO exportReqVO) {
return rawscrapRequestDetailMapper.selectList(exportReqVO);
}
@Override
public List<RawscrapRequestDetailExcelVO> importRawscrapRequestDetailList(List<RawscrapRequestDetailExcelVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(RAWSCRAP_REQUEST_DETAIL_IMPORT_LIST_IS_EMPTY);
}
List<RawscrapRequestDetailExcelVO> errorList = new ArrayList<>();
// datas.forEach(item -> {
// if(errorList == null){
// // 判断如果不存在,在进行插入
// RawscrapRequestDetailDO obj = rawscrapRequestDetailMapper.selectByCode(item.getCode());
// if (obj == null&& mode != 3) {
// rawscrapRequestDetailMapper.insert(RawscrapRequestDetailConvert.INSTANCE.convert(item));
// }
// else if (obj != null && mode != 2) {// 如果存在,判断是否允许更新
// RawscrapRequestDetailDO rawscrapRequestDetailDO = RawscrapRequestDetailConvert.INSTANCE.convert(item);
// rawscrapRequestDetailDO.setId(obj.getId());
// rawscrapRequestDetailMapper.updateById(obj);
// }
// }
// });
return errorList;
}
}

12
win-module-wms/win-module-wms-biz/src/main/resources/mapper/productscrapRecord/RawscrapRecordDetailMapper.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.win.module.wms.dal.mysql.productscrapRecord.RawscrapRecordDetailMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

12
win-module-wms/win-module-wms-biz/src/main/resources/mapper/productscrapRequest/RawscrapRequestDetailMapper.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.win.module.wms.dal.mysql.productscrapRequest.RawscrapRequestDetailMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>
Loading…
Cancel
Save