forked from sfms3.0/sfms3.0
35 changed files with 1818 additions and 2 deletions
@ -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); |
|||
} |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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 { |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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); |
|||
} |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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 { |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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); |
|||
|
|||
} |
@ -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); |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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)); |
|||
} |
|||
|
|||
} |
@ -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)); |
|||
} |
|||
|
|||
} |
@ -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); |
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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); |
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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> |
@ -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…
Reference in new issue