生产工序代码-生产工序-工序板件信息查看

This commit is contained in:
liuzhaotian
2024-05-08 11:05:47 +08:00
parent 0ab10aec86
commit ed6b6c5052
15 changed files with 156 additions and 83 deletions
@@ -119,4 +119,11 @@ public class PlateController {
return success(plateService.getPlateModelByPlateId(bodyIds));
}
@GetMapping("/selectPlate")
@Operation(summary = "查看工序对应的板件信息")
public CommonResult<List<BodyPlateDetailVO> > selectPlate(@Valid ProcessPlateReqVO reqVO){
return success(plateService.selectPlate(reqVO));
}
}
@@ -0,0 +1,26 @@
package com.cf.imes.module.executor.controller.admin.plate.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
@Schema(description = "管理后台 - 查询板件")
@Data
@ToString(callSuper = true)
public class ProcessPlateReqVO {
@Schema(description = "工序类型",requiredMode = Schema.RequiredMode.REQUIRED)
private Long processType;
@Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED)
private Long orderId;
@Schema(description = "工序明细ID",requiredMode = Schema.RequiredMode.REQUIRED)
private Long stepItemId;
}
@@ -0,0 +1,44 @@
package com.cf.imes.module.executor.dal.dataobject.processStepItem;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
@TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderProcessStepItemDO {
@TableId
private Long id;
// 工序项目名
private String name;
// 生产单工序 id
private Long orderProcessId;
// 工序状态
private Boolean status;
// 工序步骤 id
private Long processStepId;
// 工序组名
private String groupName;
// 柜体 ID
private Long bodyId;
// 加工组 ID
private Long groupId;
}
@@ -1,6 +1,7 @@
package com.cf.imes.module.executor.dal.mysql.orderItem;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO;
import org.apache.ibatis.annotations.Mapper;
@@ -18,4 +19,11 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
List<OrderItemDO> selectExtraById(@Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId);
default List<OrderItemDO> selectByOrderId(Long orderId) {
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
.eqIfPresent(OrderItemDO::getOrderId,orderId));
}
}
@@ -0,0 +1,19 @@
package com.cf.imes.module.executor.dal.mysql.processStepItem;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemDO> {
default List<OrderProcessStepItemDO> selectBodyIds(Long stepItemId) {
return selectList(new LambdaQueryWrapperX<OrderProcessStepItemDO>()
.eqIfPresent(OrderProcessStepItemDO::getId,stepItemId));
}
}
@@ -90,4 +90,7 @@ public interface PlateService {
void updatePlateByRawGoodsId(List<GoodsSaveReqVO> createReqVOS);
List<BodyPlateDetailVO> getPlateModelByPlateId(List<Long> bodyIds);
// 查看工序对应的板件信息
List<BodyPlateDetailVO> selectPlate(ProcessPlateReqVO reqVO);
}
@@ -18,7 +18,9 @@ import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsSaveReqVO;
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO;
import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper;
import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper;
import com.cf.imes.module.executor.util.RandomUtils;
import com.cf.imes.module.system.enums.ErrorCodeConstants;
import lombok.SneakyThrows;
@@ -65,6 +67,9 @@ public class PlateServiceImpl implements PlateService {
@Resource
private ElasticsearchClient elasticsearchClient;
@Resource
private ProcessStepItemMapper processStepItemMapper;
@Override
public Long createPlate(PlateSaveReqVO createReqVO) {
// 插入
@@ -189,6 +194,28 @@ public class PlateServiceImpl implements PlateService {
}
// 查看工序对应的板件信息
@Override
public List<BodyPlateDetailVO> selectPlate(ProcessPlateReqVO reqVO) {
if(reqVO.getProcessType() == 7){
// 等于 7(组件加工) ,根据明细ID查询对应的柜体ID,再传入方法查询对应的板材信息
List<OrderProcessStepItemDO> orderProcessStepItemNDOS = processStepItemMapper.selectBodyIds(reqVO.getStepItemId());
List<Long> bodyIds = orderProcessStepItemNDOS.stream().map(item -> item.getBodyId()).collect(Collectors.toList());
return getPlateModelByPlateId(bodyIds);
}
// 不等于 7(组件加工) ,直接根据订单号查询所有的柜体id,再传入方法查询对应的板材信息
List<OrderItemDO> orderItemDOS = orderItemMapper.selectByOrderId(reqVO.getOrderId());
List<Long> bodyIds = orderItemDOS.stream().map(item -> item.getBodyId()).collect(Collectors.toList());
return getPlateModelByPlateId(bodyIds);
}
private List<OrderModelDO> buildRespByPlateIds(Collection<Long> plateIds, String index) {
List<FieldValue> fieldValues = plateIds.stream().map(FieldValue::of).toList();
SearchRequest.Builder builder = new SearchRequest.Builder();