外协订单修改

liweidong
李涛 2 days ago
parent 6eb454e3c0
commit deb7fe64d2
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java
  2. 41
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java
  3. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java

@ -26,7 +26,7 @@ public class WorkOrderRun extends BaseEntity {
private static final long serialVersionUID = 1L;
public WorkOrderRun(Long woId, String woCode, Short runType, Long outTeam, Long inTeam, Long outCustomer,
Long inCustomer, String memo, Long approvalMan, String systemData, String collaborate) {
Long inCustomer, String memo, Long approvalMan, String systemData, String collaborate, Short oemStatus) {
this.woId = woId;
this.woCode = woCode;
this.runType = runType;
@ -39,6 +39,7 @@ public class WorkOrderRun extends BaseEntity {
this.systemData = systemData;
this.collaborate = collaborate;
this.runStatus = RUN_STATUS_ISSUED;
this.oemStatus = oemStatus;
}
public WorkOrderRun() {

@ -3,6 +3,7 @@ package org.springblade.desk.produce.service.impl;
import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import net.sourceforge.barbecue.Barcode;
@ -576,8 +577,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
if (workPlan.getStatus() == 3) {
// 更新下一道工序
if (workPlan.getNextWpId() != null) {
WorkPlan nextPlan = new WorkPlan();
nextPlan.setId(workPlan.getNextWpId());
WorkPlan nextPlan = workPlanMapper.selectById(workPlan.getNextWpId());
nextPlan.setFactStartTime(date);
nextPlan.setStatus(WorkPlan.STATUS_START);
nextPlan.setWxNo(wxCode);
@ -585,23 +585,19 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
}
// 更新当前工序为完成
WorkPlan currentPlan = new WorkPlan();
currentPlan.setId(workPlan.getId());
currentPlan.setFactEndTime(date);
currentPlan.setStatus(WorkPlan.STATUS_COMPLETE);
currentPlan.setWxNo(wxCode);
workPlanMapper.updateById(currentPlan);
workPlan.setFactEndTime(date);
workPlan.setStatus(WorkPlan.STATUS_COMPLETE);
workPlan.setWxNo(wxCode);
workPlanMapper.updateById(workPlan);
// 更新订单当前工序
workOrder.setWpId(workPlan.getNextWpId());
} else {
// 更新当前工序为进行中
WorkPlan currentPlan = new WorkPlan();
currentPlan.setId(workPlan.getId());
currentPlan.setFactStartTime(date);
currentPlan.setStatus(WorkPlan.STATUS_START);
currentPlan.setWxNo(wxCode);
workPlanMapper.updateById(currentPlan);
workPlan.setFactStartTime(date);
workPlan.setStatus(WorkPlan.STATUS_START);
workPlan.setWxNo(wxCode);
workPlanMapper.updateById(workPlan);
}
workOrder.setOemOut(String.valueOf(1));
@ -641,7 +637,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
}
// 首道工序 → 生产订单状态设为加工中
if (wp.getFrontWpId() == null) {
yo.setStatus(5);
yo.setStatus(YieldOrderEnum.STATUS_PROCESSING.getCode());
yieldOrderMapper.updateById(yo);
}
@ -910,7 +906,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
throw new ServiceException("车间订单已交接,无法再次收回");
}
workOrder.setWpId(deliverablePlan.getId());
workOrder.setRunStatus(3); // 加工中
workOrder.setRunStatus(WorkOrder.RUN_STATUS_RECEIVE); // 加工中
workOrder.setMakeQty(workOrder.getMakeQty() - scrapQty - testQty);
workOrder.setScrapQty(workOrder.getScrapQty() + scrapQty);
workOrder.setTestQty(workOrder.getTestQty() + testQty);
@ -930,15 +926,11 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
WorkOrderRun workOrderRun, WorkOrder workOrder,
Date startTime, Date endTime) {
// 将本次外协的全部工序报工完成
List<WorkPlanRun> wprList = workPlanRunMapper.selectList(
new LambdaQueryWrapper<WorkPlanRun>()
.eq(WorkPlanRun::getWorId, workOrderRun.getId()));
if (!wprList.isEmpty()) {
List<Long> wpIds = wprList.stream().map(WorkPlanRun::getWpId).collect(Collectors.toList());
List<WorkPlan> oemPlans = workPlanMapper.selectList(
new LambdaQueryWrapper<WorkPlan>().in(WorkPlan::getId, wpIds));
List<WorkPlan> oemPlans = workPlanMapper.selectList(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getOem, "1")
.eq(WorkPlan::getWoId, deliverablePlan.getWoId()).lt(WorkPlan::getStatus, WorkPlan.STATUS_WORK_OK)
.lt(WorkPlan::getOrders, deliverablePlan.getOrders()));
for (WorkPlan wp : oemPlans) {
wp.setStatus(WorkPlan.STATUS_WORK_OK);
wp.setStatus(WorkPlan.STATUS_COMPLETE);
wp.setFactStartTime(startTime);
wp.setFactEndTime(endTime);
wp.setWorkQty(workOrder.getMakeQty());
@ -946,7 +938,6 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
}
workPlanMapper.updateById(oemPlans);
}
}
/**
* 更新运行记录状态

@ -2936,7 +2936,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
//产生外协生产进度记录信息
WorkOrderRun wr = new WorkOrderRun(workOrder.getId(), workOrder.getWoCode(), WorkOrderRun.RUN_TYPE_1,
null, null, null, prWorkPlan.getOcId(), "分派默认(厂外)",
null, "1", "0");
null, "1", "0", WorkOrderRun.OEM_STATUS_IN);
workOrderRunService.save(wr);
//更改订单调度员和计划员
OemCraftAbilityEntity oa = oemCraftAbilityService.findBsOemAbility(prWorkPlan.getOcId(), prWorkPlan.getCaId());
@ -2949,7 +2949,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
//产生车间运行记录信息
WorkOrderRun wr = new WorkOrderRun(workOrder.getId(), workOrder.getWoCode(), WorkOrderRun.RUN_TYPE_2,
null, prWorkPlan.getMakeTeam(), null, null, "分派默认(厂内)",
null, "1", "0");
null, "1", "0", null);
workOrderRunService.save(wr);
//更改订单调度员和计划员

Loading…
Cancel
Save