diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java index 8287a6f..5374759 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java @@ -295,4 +295,17 @@ public class ImMaterialController extends BaseController { iImMaterialService.updateInventory(imMaterialCodeList); return "string"; } + + + + /** + * 搜索物料信息 + */ + /** + * 搜索物料信息 + */ + @GetMapping("/search") + public TableDataInfo search(@RequestParam(value = "query", required = false) String query) { + return iImMaterialService.search(query); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/ProcessRouteController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/ProcessRouteController.java index 02d56e4..7c56393 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/ProcessRouteController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/ProcessRouteController.java @@ -324,9 +324,25 @@ public class ProcessRouteController extends BaseController { @Log(title = "获取材料bom列表") @SaCheckPermission("system:route:getRawBom") - @PostMapping("/getProcessMaterialList") - public ResponseEntity> getProcessMaterialList(@RequestBody ProcessRoute processRoute) { - return ResponseEntity.ok(iProcessRouteService.getProcessMaterialList(processRoute)); + @PostMapping("/getBomInfo") + public ResponseEntity> getProcessMaterialList( @RequestParam String materialCode, + @RequestParam String materialName, + @RequestParam String productionOrderNo) { + + return ResponseEntity.ok(iProcessRouteService.getProcessMaterialList(materialCode,materialName,productionOrderNo)); + } + @Log(title = "明细导入", businessType = BusinessType.IMPORT) + @SaCheckPermission("system:route:importDataTime") + @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R importDataTime(@RequestParam("file") MultipartFile file) throws Exception { + String originalFilename = file.getOriginalFilename(); + log.info("读取文件名: " + originalFilename); + ExcelResult result = ExcelUtil.importExcelSheet6(file.getInputStream(), ProcessRouteVo.class, true); + List list = result.getList(); + for (ProcessRouteVo processRouteVo : list) { + String materialCode = processRouteVo.getMaterialCode(); + } + return null; } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/ProcessRouteBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/ProcessRouteBo.java index 8aeffd7..5212015 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/ProcessRouteBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/ProcessRouteBo.java @@ -25,151 +25,125 @@ public class ProcessRouteBo extends BaseEntity { /** * 主键ID */ - @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) private Long id; /** * 工艺路线描述 */ - @NotBlank(message = "工艺路线描述不能为空", groups = { AddGroup.class, EditGroup.class }) private String routeDescription; /** * 物料编码 */ - @NotBlank(message = "物料编码不能为空", groups = { AddGroup.class, EditGroup.class }) private String materialCode; /** * 物料名称 */ - @NotBlank(message = "物料名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String materialName; /** * 材料BOM单位 */ - @NotBlank(message = "材料BOM单位不能为空", groups = { AddGroup.class, EditGroup.class }) private String unit; /** * 工序号 */ - @NotNull(message = "工序号不能为空", groups = { AddGroup.class, EditGroup.class }) private Long processNo; /** * bom材质 */ - @NotBlank(message = "bom材质不能为空", groups = { AddGroup.class, EditGroup.class }) private String bomMaterial; /** * 工作中心(加工车间) */ - @NotBlank(message = "工作中心(加工车间)不能为空", groups = { AddGroup.class, EditGroup.class }) private String workCenter; /** * 工序名称 */ - @NotBlank(message = "工序名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String processName; /** * 材料BOM物料编码 */ - @NotBlank(message = "材料BOM物料编码不能为空", groups = { AddGroup.class, EditGroup.class }) private String rawMaterialCode; /** * 材料BOM物料名称 */ - @NotBlank(message = "材料BOM物料名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String rawMaterialName; /** * 单重KG */ - @NotNull(message = "单重KG不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal discWeight; /** * 材料BOM用量 */ - @NotNull(message = "材料BOM用量不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal discUsage; /** * 工序说明(序描述) */ - @NotBlank(message = "工序说明(序描述)不能为空", groups = { AddGroup.class, EditGroup.class }) private String processDescription; /** * 工序控制 */ - @NotBlank(message = "工序控制不能为空", groups = { AddGroup.class, EditGroup.class }) private String processControl; /** * 活动时长 */ - @NotNull(message = "活动时长不能为空", groups = { AddGroup.class, EditGroup.class }) private Double activityDuration; /** * 活动单位 */ - @NotBlank(message = "活动单位不能为空", groups = { AddGroup.class, EditGroup.class }) private String activityUnit; /** * 材质 */ - @NotBlank(message = "材质不能为空", groups = { AddGroup.class, EditGroup.class }) private String material; /** * 材料BOM单位 */ - @NotBlank(message = "材料BOM单位不能为空", groups = { AddGroup.class, EditGroup.class }) private String bomUnit; /** * 单台数量 */ - @NotNull(message = "单台数量不能为空", groups = { AddGroup.class, EditGroup.class }) private Long unitQuantity; /** * 本批数量 */ - @NotNull(message = "本批数量不能为空", groups = { AddGroup.class, EditGroup.class }) private Long batchQuantity; /** * 首批数量 */ - @NotNull(message = "首批数量不能为空", groups = { AddGroup.class, EditGroup.class }) private Long firstBatchQuantity; /** * 计划开始时间 */ - @NotNull(message = "计划开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date planStartTime; /** * 计划结束时间 */ - @NotNull(message = "计划结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date planEndTime; /** * 序开始时间 */ - @NotNull(message = "序开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date xuStartTime; /** * 序结束时间 */ - @NotNull(message = "序结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date xuEndTime; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MaterialDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MaterialDTO.java new file mode 100644 index 0000000..ddaa6d6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MaterialDTO.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.domain.dto; + +import com.ruoyi.system.domain.ImMaterial; +import lombok.Data; +import org.springframework.beans.BeanUtils; + +@Data +public class MaterialDTO { + private String materialCode; + private String materialName; + private String materialType; + private String unit; + + // 可以添加静态转换方法 + public static MaterialDTO convert(ImMaterial material) { + MaterialDTO dto = new MaterialDTO(); + BeanUtils.copyProperties(material, dto); + return dto; + } +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IImMaterialService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IImMaterialService.java index 89cc6a7..f9cb6aa 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IImMaterialService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IImMaterialService.java @@ -50,12 +50,16 @@ public interface IImMaterialService { Boolean saveBatch(List list); - void updateByCode(ImMaterial imMaterial); + void updateByCode(ImMaterial imMaterial); - ImMaterial selectByCodeAndName(String materialCode, String materialName); + ImMaterial selectByCodeAndName(String materialCode, String materialName); void updateMaterials(JsonElement jsonArray); + ImMaterial getMaterialByCode(String materialCode); void updateInventory(List imMaterialCodeList); + + + TableDataInfo search(String query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IProcessRouteService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IProcessRouteService.java index ffca0d8..ec02a0b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IProcessRouteService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IProcessRouteService.java @@ -85,7 +85,7 @@ public interface IProcessRouteService { R addRoute(List list); - List getProcessMaterialList(ProcessRoute processRoute); + List getProcessMaterialList(String materialCode,String materialName, String productionOrderNo); List deleteRoute(ProcessRoute processRoute); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ImMaterialServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ImMaterialServiceImpl.java index bc99dde..771afe1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ImMaterialServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ImMaterialServiceImpl.java @@ -646,6 +646,15 @@ public class ImMaterialServiceImpl implements IImMaterialService { } } + /** + * @param query + * @return + */ + @Override + public TableDataInfo search(String query) { + return null; + } + public ImMaterial findByMaterialCode(String materialCode) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();