pangyang 2 weeks ago
commit acb2517a38
  1. 254
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrWorkPlan.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrYieldOrder.java
  3. 130
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java

@ -24,61 +24,29 @@ public class PrWorkPlan implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
// /**
// * ID主键
// */
// @Schema(description = "ID主键")
// private Long id;
@Schema(description = "工单计划ID")
@TableField("WP_ID")
private Long wpId;
@Schema(description = "工序计划ID")
@TableField("WPP_ID")
private Long wppId;
@Schema(description = "工单ID")
@TableField("WO_ID")
private Long woId;
@Schema(description = "产品ID")
@TableField("PID")
private Long pid;
@Schema(description = "PPSID")
@TableField("PPS_ID")
private Long ppsId;
@Schema(description = "排序")
@TableField("ORDERS")
private Integer orders;
@Schema(description = "是否需要检验")
@TableField("NEED_CHECK")
private Integer needCheck;
@Schema(description = "准备工时")
@TableField("PREPARE_HOUR")
private BigDecimal prepareHour;
@Schema(description = "加工工时")
@TableField("MAKE_HOUR")
private BigDecimal makeHour;
@Schema(description = "面积数量")
@TableField("AREA_QUANTITY")
private BigDecimal areaQuantity;
@Schema(description = "加工备注")
@TableField("MAKE_MEMO")
private String makeMemo;
@Schema(description = "报工工时")
@TableField("PS_HOUR")
private BigDecimal psHour;
@Schema(description = "设备ID")
@TableField("MAC_ID")
private Long macId;
@Schema(description = "外协标识")
@TableField("OEM")
private String oem;
@Schema(description = "工时定额")
@TableField("HOUR_QUOTA")
private BigDecimal hourQuota;
@Schema(description = "计划开始时间")
@TableField("START_TIME")
@ -88,155 +56,111 @@ public class PrWorkPlan implements Serializable {
@TableField("END_TIME")
private Date endTime;
@Schema(description = "实际开始时间")
@TableField("FACT_START_TIME")
private Date factStartTime;
@Schema(description = "实际结束时间")
@TableField("FACT_END_TIME")
private Date factEndTime;
@Schema(description = "效率")
@TableField("RATE")
private BigDecimal rate;
@Schema(description = "当前状态")
@TableField("CUR_STATUS")
private Integer curStatus;
@Schema(description = "是否锁定")
@TableField("LOCKED")
private Integer locked;
@Schema(description = "外协工单ID")
@TableField("OT_ID")
private Long otId;
@Schema(description = "加工班组")
@TableField("MAKE_TEAM")
private String makeTeam;
@Schema(description = "报工设备")
@TableField("REC_MAC")
private String recMac;
@Schema(description = "报工时间")
@TableField("REC_TIME")
private Date recTime;
@Schema(description = "报工人")
@TableField("REC_MAN")
private String recMan;
@Schema(description = "报工状态")
@TableField("REC_STATUS")
private Integer recStatus;
@Schema(description = "报工排序")
@TableField("REC_ORDERS")
private Integer recOrders;
@Schema(description = "下单时间")
@TableField("ORDER_TIME")
private Date orderTime;
@Schema(description = "备注")
@TableField("MEMO")
private String memo;
@Schema(description = "单位工时")
@TableField("UNIT_HOUR")
private BigDecimal unitHour;
@Schema(description = "外协标识")
@TableField("OEM")
private String oem;
@Schema(description = "报工输出")
@TableField("REC_OUT")
private String recOut;
@Schema(description = "OCID")
@TableField("OC_ID")
private Long ocId;
@Schema(description = "预览工单ID")
@TableField("PREVIEW_WP_ID")
private Long previewWpId;
@Schema(description = "上一工单ID")
@TableField("FRONT_WP_ID")
private Long frontWpId;
@Schema(description = "下一工单ID")
@Schema(description = "下一工单ID")
@TableField("NEXT_WP_ID")
private Long nextWpId;
@Schema(description = "计划工时")
@TableField("PLAN_TIME")
private BigDecimal planTime;
@Schema(description = "状态")
@TableField("STATUS")
private Integer status;
@Schema(description = "子项物料号")
@TableField("SUB_PI_NO")
private String subPiNo;
@Schema(description = "检验数量")
@TableField("TEST_QTY")
private BigDecimal testQty;
@Schema(description = "外协状态")
@TableField("OEM_STATUS")
private Integer oemStatus;
@Schema(description = "合格数量")
@TableField("QUALIFIED_QTY")
private BigDecimal qualifiedQty;
@Schema(description = "来源")
@TableField("COME_FROM")
private String comeFrom;
@Schema(description = "报废数量")
@TableField("SCRAP_QTY")
private BigDecimal scrapQty;
@Schema(description = "工作中心ID")
@TableField("WC_ID")
private Long wcId;
@Schema(description = "不合格数量")
@TableField("UNQUALIFIED_QTY")
private BigDecimal unqualifiedQty;
@Schema(description = "物料编号")
@TableField("PI_NO")
private String piNo;
@Schema(description = "实际开始时间")
@TableField("FACT_START_TIME")
private Date factStartTime;
@Schema(description = "创建时间")
@TableField("CREATE_TIME")
private Date createTime;
@Schema(description = "实际结束时间")
@TableField("FACT_END_TIME")
private Date factEndTime;
@Schema(description = "绑定状态")
@TableField("BIND_STATUS")
private Integer bindStatus;
@Schema(description = "更新时间")
@TableField("UPDATE_TIME")
private Date updateTime;
@Schema(description = "加工数量")
@TableField("WORK_QTY")
private BigDecimal workQty;
@Schema(description = "旧状态")
@TableField("OLD_STATUS")
private Integer oldStatus;
@Schema(description = "接收人")
@TableField("RECEIVE_MAN")
private String receiveMan;
@Schema(description = "检验工序")
@TableField("CHECK_PROCESS")
private Integer checkProcess;
@Schema(description = "工时")
@TableField("HOURS")
private BigDecimal hours;
@Schema(description = "超交数量")
@TableField("OVER_QUANTITY")
private BigDecimal overQuantity;
@Schema(description = "CAID")
@TableField("CA_ID")
private Long caId;
@Schema(description = "TOOL库工序计划ID")
@TableField("TOOL_WPP_ID")
private Long toolWppId;
@Schema(description = "打印类型")
@TableField("PRINT_TYPE")
private Integer printType;
@Schema(description = "实际报工工时")
@TableField("ACTURAL_PS_HOUR")
private BigDecimal acturalPsHour;
@Schema(description = "辅助班组")
@TableField("SUBSIDIARY_TEAM")
private String subsidiaryTeam;
@Schema(description = "退回原因")
@TableField("BACK_REASON")
private String backReason;
@Schema(description = "辅助类型")
@TableField("SUB_TYPE")
private String subType;
@Schema(description = "是否跳过")
@TableField("SKIP")
private Integer skip;
@Schema(description = "关键工序")
@TableField("CRUX_PROCESS")
private Integer cruxProcess;
@Schema(description = "待排标识")
@TableField("WAITING_FLAG")
private Integer waitingFlag;
@Schema(description = "损耗数量")
@TableField("LOSS_QTY")
private BigDecimal lossQty;
@Schema(description = "待排操作人")
@TableField("WAITING_FLAG_MAN")
private String waitingFlagMan;
@Schema(description = "工单金额")
@TableField("WP_MONEY")
private BigDecimal wpMoney;
@Schema(description = "调整排产人")
@TableField("ADJUST_SCHEDULE_MAN")
private String adjustScheduleMan;
@Schema(description = "图纸")
@TableField("PAPERS")
private String papers;
@Schema(description = "调整排产时间")
@TableField("ADJUST_SCHEDULE_DATE")
private Date adjustScheduleDate;
@Schema(description = "参考文件")
@TableField("REFERENCE_FILE")
private String referenceFile;
@Schema(description = "自动生产标识")
@TableField("AUTO_PRODUCTION")
private Integer autoProduction;
@Schema(description = "创建时间")
@TableField("CREATE_TIME")
private Date createTime;
@Schema(description = "设备面")
@TableField("MAC_SURFACE")
private String macSurface;
@Schema(description = "维修编号")
@TableField("WX_NO")
private String wxNo;
}

@ -154,14 +154,6 @@ public class PrYieldOrder implements Serializable {
@TableField("RECSEQNO")
private String recseqno;
@Schema(description = "推车ID")
@TableField("CART_ID")
private Long cartId;
@Schema(description = "工艺ID")
@TableField("CRAFTID")
private Long craftid;
@Schema(description = "工艺ID")
@TableField("CRAFT_ID")
private Long craftId;

@ -12,6 +12,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.CenterTeam;
import org.springblade.desk.basic.service.ICenterTeamService;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.service.IBsWorkCenterService;
import org.springblade.desk.logistics.enums.DistinguishRegionsEnum;
@ -115,6 +117,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
* 工位服务提供工位基础信息查询
*/
private final IBsWorkCenterService bsWorkCenterService;
private final ICenterTeamService iCenterTeamService;
/**
* 任务执行记录服务处理AGV调度任务的生成与执行
@ -148,7 +151,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
IStationService stationService,
ILocationService locationService,
AgvTaskTypeUtil agvTaskTypeUtil,
IBsWorkCenterService bsWorkCenterService,
IBsWorkCenterService bsWorkCenterService, ICenterTeamService iCenterTeamService,
ITaskExecuteRecordService taskExecuteRecordService, IWorkOrderService workOrderService, IWorkPlanService workPlanService, IPrWorkPlanService prWorkPlanService, IPrWorkOrderService prWorkOrderService, IStationCenterService stationCenterService, IPrYieldOrderService prYieldOrderService) {
this.yieldOrderService = yieldOrderService;
this.taskService = taskService;
@ -157,6 +160,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
this.locationService = locationService;
this.agvTaskTypeUtil = agvTaskTypeUtil;
this.bsWorkCenterService = bsWorkCenterService;
this.iCenterTeamService = iCenterTeamService;
this.taskExecuteRecordService = taskExecuteRecordService;
this.workOrderService = workOrderService;
this.workPlanService = workPlanService;
@ -245,7 +249,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 1. 查询空闲状态的站点
List<StationVO> freeStationList = stationService.getStatusStationList(STATUS_FREE, true,null, CONVEYOR_LINE_RECEIVE_ONLY, false);
List<StationVO> freeStationList = stationService.getStatusStationList(STATUS_FREE, true, null, CONVEYOR_LINE_RECEIVE_ONLY, false);
// 2. 构建返回列表(默认添加输送线回库选项)
List<BsWorkCenterVO> resultList = new ArrayList<>();
BsWorkCenterVO conveyorVO = new BsWorkCenterVO();
@ -376,7 +380,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 5. 设置结束工位ID并处理不同回库类型
Long endWcId = returnToWarehouseDto.getEndWcId();
task.setWcId(endWcId);
if (returnToWarehouseDto.getStationRegion()!=null) {
if (returnToWarehouseDto.getStationRegion() != null) {
task.setStationRegion(returnToWarehouseDto.getStationRegion());
}
if (endWcId == 0) {
@ -462,32 +466,32 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
BsWorkCenterEntity workCenter = bsWorkCenterService.getById(wcID);
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
map.put("wcId",wcID);
map.put("wcId", wcID);
if (DistinguishRegionsEnum.includeByWcName(workCenter.getWcName())) {
List<YieldOrder> list = yieldOrderService.list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getCardNo, orderBindList.get(0).getCardNo()));
String useDept ="";
if (list!=null&&list.size()!=0) {
useDept= list.get(0).getUseDept();
}else {
String useDept = "";
if (list != null && list.size() != 0) {
useDept = list.get(0).getUseDept();
} else {
List<PrYieldOrder> list1 = prYieldOrderService.list(new LambdaQueryWrapper<PrYieldOrder>().eq(PrYieldOrder::getCardNo, orderBindList.get(0).getCardNo()));
if (list1!=null&&list1.size()!=0) {
useDept= list1.get(0).getUseDept();
if (list1 != null && list1.size() != 0) {
useDept = list1.get(0).getUseDept();
}
}
String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName());
String logisticsAnagementRegion = DictCache.getValue(code, useDept);
System.out.println("logisticsAnagementRegion = " + logisticsAnagementRegion);
if (logisticsAnagementRegion!=null) {
map.put("stationRegion",logisticsAnagementRegion);
}else {
List<StationVO> freeStationList = stationService.getStatusStationList(null, false,wcID, STATION_RECEIVE_ONLY, false);
map.put("stationRegion",freeStationList.get(0).getStationRegion());
if (logisticsAnagementRegion != null) {
map.put("stationRegion", logisticsAnagementRegion);
} else {
List<StationVO> freeStationList = stationService.getStatusStationList(null, false, wcID, STATION_RECEIVE_ONLY, false);
map.put("stationRegion", freeStationList.get(0).getStationRegion());
}
}else {
List<StationVO> statusStationList = stationService.getStatusStationList(null, true,wcID, CONVEYOR_LINE_RECEIVE_ONLY, false);
map.put("stationRegion",statusStationList.get(0).getStationRegion());
} else {
List<StationVO> statusStationList = stationService.getStatusStationList(null, true, wcID, CONVEYOR_LINE_RECEIVE_ONLY, false);
map.put("stationRegion", statusStationList.get(0).getStationRegion());
}
return R.data(map);
}
@ -714,20 +718,20 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 1. 尝试分配空闲站点
List<StationVO> freeStationList = null;
if (agvSend) {
freeStationList = stationService.getStatusStationList(STATUS_FREE, true,task.getWcId(), CONVEYOR_LINE_RECEIVE_ONLY, false);
freeStationList = stationService.getStatusStationList(STATUS_FREE, true, task.getWcId(), CONVEYOR_LINE_RECEIVE_ONLY, false);
} else {
freeStationList = stationService.getStatusStationList(STATUS_FREE, true,task.getWcId(), STATION_RECEIVE_ONLY, false);
freeStationList = stationService.getStatusStationList(STATUS_FREE, true, task.getWcId(), STATION_RECEIVE_ONLY, false);
}
String wcName = bsWorkCenterService.getById(task.getWcId()).getWcName();
if (freeStationList!=null&&freeStationList.size()!=0) {
if (freeStationList != null && freeStationList.size() != 0) {
//判断是不是镀后库作业中心
if (DistinguishRegionsEnum.includeByWcName(wcName)&&!agvSend) {
if (DistinguishRegionsEnum.includeByWcName(wcName) && !agvSend) {
log.info("是读后库");
freeStationList=freeStationList.stream().filter(s->s.getStationRegion().equals(task.getStationRegion())).toList();
freeStationList = freeStationList.stream().filter(s -> s.getStationRegion().equals(task.getStationRegion())).toList();
}
}
if (freeStationList!=null&&freeStationList.size()!=0) {
if (freeStationList != null && freeStationList.size() != 0) {
StationVO station = null;
station = freeStationList.get(0);
task.setStationId(station.getId());
@ -893,7 +897,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 异常处理:回滚任务
taskService.removeById(task);
List<Station> stationList = stationService.list(new LambdaQueryWrapper<Station>().eq(Station::getId, task.getStationId()));
if (stationList!=null&&stationList.size()!=0) {
if (stationList != null && stationList.size() != 0) {
stationList.get(0).setStationStatus(STATUS_FREE);
stationService.updateById(stationList.get(0));
}
@ -1068,7 +1072,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
//判断是否是镀后库作业中心
if (DistinguishRegionsEnum.includeByWcName(workCenter.getWcName())) {
List<YieldOrder> yieldOrderList = yieldOrderService.list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getCardNo, orderList.get(0).getCardNo()));
if (yieldOrderList!=null&&yieldOrderList.size()!=0) {
if (yieldOrderList != null && yieldOrderList.size() != 0) {
String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName());
String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList.get(0).getUseDept());
if (!logisticsAnagementRegion.isEmpty()) {
@ -1078,7 +1082,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
}
List<PrYieldOrder> yieldOrderList1 = prYieldOrderService.list(new LambdaQueryWrapper<PrYieldOrder>().eq(PrYieldOrder::getCardNo, orderList.get(0).getCardNo()));
if (yieldOrderList1!=null&&yieldOrderList1.size()!=0) {
if (yieldOrderList1 != null && yieldOrderList1.size() != 0) {
String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName());
String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList1.get(0).getUseDept());
if (!logisticsAnagementRegion.isEmpty()) {
@ -1100,7 +1104,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
List<Long> stationIdList = stationCenterList.stream().map(s -> s.getStationId()).toList();
List<Station> stationList = stationService.list(new LambdaQueryWrapper<Station>().in(Station::getId, stationIdList));
List<String> list = stationList.stream().map(s -> s.getStationRegion()).distinct().toList();
if (list.size()==1) {
if (list.size() == 1) {
detailsVO.setStationRegion(stationList.get(0).getStationRegion());
}
@ -1191,9 +1195,9 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
@Override
public R getStationRegion() {
List<StationVO> freeStationList = stationService.getStatusStationList(STATUS_FREE,false, null, CONVEYOR_LINE_RECEIVE_ONLY, false);
List<StationVO> freeStationList = stationService.getStatusStationList(STATUS_FREE, false, null, CONVEYOR_LINE_RECEIVE_ONLY, false);
if (freeStationList==null||freeStationList.size()==0) {
if (freeStationList == null || freeStationList.size() == 0) {
return R.fail("没有占用区域");
}
List<String> stationRegionList = freeStationList.stream().map(StationVO::getStationRegion).distinct().toList();
@ -1201,7 +1205,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
for (String stationRegion : stationRegionList) {
StationRegionVo stationRegionVo = new StationRegionVo();
stationRegionVo.setStationRegion(stationRegion);
List<String> stationList = freeStationList.stream().filter(s -> stationRegion!=null&&s.getStationRegion()!=null&&stationRegion.equals(s.getStationRegion())).map(StationVO::getStationCode).distinct().collect(Collectors.toUnmodifiableList());
List<String> stationList = freeStationList.stream().filter(s -> stationRegion != null && s.getStationRegion() != null && stationRegion.equals(s.getStationRegion())).map(StationVO::getStationCode).distinct().collect(Collectors.toUnmodifiableList());
stationRegionVo.setStationCodeList(stationList);
list.add(stationRegionVo);
}
@ -1210,8 +1214,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
}
@Override
/**
* 箱条码绑定主入口
@ -1311,15 +1313,16 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
private R<?> checkOrderWorkCenterConsistency(String orderCardNo, Long currentWcId) {
// ====================== 处理标准工单 ======================
List<WorkOrder> workOrderList = workOrderService.lambdaQuery()
.select(WorkOrder::getId)
.eq(WorkOrder::getCardNo, orderCardNo)
.list();
if (workOrderList != null && !workOrderList.isEmpty()) {
WorkOrder workOrder = workOrderList.get(0);
List<WorkPlan> workPlanList = workPlanService.lambdaQuery()
.select(WorkPlan::getStatus, WorkPlan::getNextWpId, WorkPlan::getWoId, WorkPlan::getMakeTeam)
.eq(WorkPlan::getWoId, workOrder.getId())
.list();
if (workPlanList == null || workPlanList.isEmpty()) {
log.info("workPlanList");
return R.fail(orderCardNo + "车间订单异常");
@ -1330,17 +1333,40 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 根据工序状态判断使用当前工序还是下一道工序
if (workPlan.getStatus() < 3) {
workCenterId = workPlan.getWorkCenterId();
// workCenterId = workPlan.getWorkCenterId();
if (workPlan.getMakeTeam() == null) {
return R.fail(orderCardNo + "车间订单班次异常");
} else {
List<CenterTeam> list = iCenterTeamService.list(new LambdaQueryWrapper<CenterTeam>()
.select(CenterTeam::getWcId, CenterTeam::getTsId)
.eq(CenterTeam::getTsId, (workPlan.getMakeTeam())));
if (list == null || list.size() == 0) {
return R.fail(orderCardNo + "车间订单班次查询作业中心异常");
} else {
workCenterId = list.get(0).getWcId();
}
}
} else {
List<WorkPlan> nextWorkPlanList = workPlanService.lambdaQuery()
.select(WorkPlan::getStatus, WorkPlan::getNextWpId, WorkPlan::getWoId, WorkPlan::getMakeTeam)
.eq(WorkPlan::getId, workPlan.getNextWpId())
.list();
if (nextWorkPlanList == null || nextWorkPlanList.isEmpty()) {
return R.fail(orderCardNo + "车间下一工序订单异常");
}
workCenterId = nextWorkPlanList.get(0).getWorkCenterId();
if (nextWorkPlanList.get(0).getMakeTeam() == null) {
return R.fail(orderCardNo + "车间订单班次异常");
}
List<CenterTeam> list = iCenterTeamService.list(new LambdaQueryWrapper<CenterTeam>()
.select(CenterTeam::getWcId, CenterTeam::getTsId)
.eq(CenterTeam::getTsId, (workPlan.getMakeTeam())));
if (list == null || list.size() == 0) {
return R.fail(orderCardNo + "车间订单班次查询作业中心异常");
} else {
workCenterId = list.get(0).getWcId();
}
}
return validateWorkCenter(orderCardNo, currentWcId, workCenterId);
@ -1348,12 +1374,14 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// ====================== 处理PR工单 ======================
List<PrWorkOrder> prWorkOrderList = prWorkOrderService.lambdaQuery()
.select(PrWorkOrder::getWpId)
.eq(PrWorkOrder::getCardNo, orderCardNo)
.list();
if (prWorkOrderList != null && !prWorkOrderList.isEmpty()) {
PrWorkOrder prWorkOrder = prWorkOrderList.get(0);
List<PrWorkPlan> workPlanList = prWorkPlanService.lambdaQuery()
.select(PrWorkPlan::getStatus, PrWorkPlan::getNextWpId, PrWorkPlan::getWpId, PrWorkPlan::getMakeTeam)
.eq(PrWorkPlan::getWpId, prWorkOrder.getWpId())
.list();
@ -1364,17 +1392,41 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
PrWorkPlan workPlan = workPlanList.get(0);
Long workCenterId;
if (workPlan.getCurStatus() < 3) {
workCenterId = workPlan.getWcId();
if (workPlan.getStatus() < 3) {
if (workPlan.getMakeTeam() == null) {
return R.fail(orderCardNo + "车间订单班次异常");
} else {
List<CenterTeam> list = iCenterTeamService.list(new LambdaQueryWrapper<CenterTeam>()
.select(CenterTeam::getWcId, CenterTeam::getTsId)
.eq(CenterTeam::getTsId, (workPlan.getMakeTeam())));
if (list == null || list.size() == 0) {
return R.fail(orderCardNo + "车间订单班次查询作业中心异常");
} else {
workCenterId = list.get(0).getWcId();
}
}
} else {
List<PrWorkPlan> nextWorkPlanList = prWorkPlanService.lambdaQuery()
.select(PrWorkPlan::getStatus, PrWorkPlan::getNextWpId, PrWorkPlan::getWpId, PrWorkPlan::getMakeTeam)
.eq(PrWorkPlan::getWpId, workPlan.getNextWpId())
.list();
if (nextWorkPlanList == null || nextWorkPlanList.isEmpty()) {
return R.fail(orderCardNo + "车间订单异常");
}
workCenterId = nextWorkPlanList.get(0).getWcId();
workPlan = nextWorkPlanList.get(0);
if (workPlan.getMakeTeam() == null) {
return R.fail(orderCardNo + "车间订单班次异常");
} else {
List<CenterTeam> list = iCenterTeamService.list(new LambdaQueryWrapper<CenterTeam>()
.select(CenterTeam::getWcId, CenterTeam::getTsId)
.eq(CenterTeam::getTsId, (workPlan.getMakeTeam())));
if (list == null || list.size() == 0) {
return R.fail(orderCardNo + "车间订单班次查询作业中心异常");
} else {
workCenterId = list.get(0).getWcId();
}
}
}
return validateWorkCenter(orderCardNo, currentWcId, workCenterId);

Loading…
Cancel
Save