分批接口优化

liweidong
李涛 1 month ago
parent e5736f7865
commit 2ef400db70
  1. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PrMakeRecController.java
  2. 56
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java

@ -11,10 +11,15 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.MakeRecDTO;
import org.springblade.desk.produce.pojo.dto.RetrospectDefendDTO;
import org.springblade.desk.produce.pojo.dto.WorkPlanDto;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.pojo.vo.MesMakeRecVO;
import org.springblade.desk.produce.pojo.vo.WorkPlanLoadVO;
import org.springblade.desk.produce.service.IMakeRecService;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 工作台 控制器
*
@ -32,7 +37,7 @@ public class PrMakeRecController extends BladeController {
@GetMapping(value = "/loadCurrentWp/{cardNo}")
@ApiOperationSupport(order = 1)
@Operation(summary = "工序报工-加载当前工序", description = "传入cardNo")
public R loadSubOrder(@PathVariable String cardNo) {
public R<WorkPlanDto> loadSubOrder(@PathVariable String cardNo) {
return R.data(makeRecService.loadCurrentWp(cardNo));
}
@ -51,13 +56,13 @@ public class PrMakeRecController extends BladeController {
@GetMapping(value = "/loadNotReceived/{cardNo}")
@Operation(summary = "任务接收查询", description = "传入cardNo")
public R loadNotReceived(@PathVariable String cardNo) {
public R<List<WorkPlanLoadVO>> loadNotReceived(@PathVariable String cardNo) {
return R.data(makeRecService.loadNotReceived(cardNo));
}
@GetMapping(value = "/afterPlaReceive/{cardNo}")
@Operation(summary = "加载镀后接收数据", description = "传入cardNo")
public R afterPlaReceive(@PathVariable String cardNo) {
public R<List<WorkPlan>> afterPlaReceive(@PathVariable String cardNo) {
return R.data(makeRecService.afterPlaReceive(cardNo));
}

@ -167,6 +167,34 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Transactional(rollbackFor = Exception.class)
public boolean inBatches(Long oldWoId, InBatchesDTO inBatchesDTO, Long userId) {
WorkOrder oldWo = this.getById(oldWoId);
WorkOrder newWo = this.addWorkOrderAndYieldOrder(oldWo,inBatchesDTO);
List<WorkPlan> oldList = workPlanService.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, oldWoId));
//保存作业计划
List<WorkPlan> wpList = this.saveWorkPlan(oldList, newWo, oldWoId);
//产生车间运行记录信息
WorkOrderRun oldRun = workOrderRunService.getById(oldWo.getWorId());
WorkOrderRun wr = new WorkOrderRun();
wr.setWoId(newWo.getId());
wr.setWoCode(newWo.getWoCode());
wr.setRunType(WorkOrderRun.RUN_TYPE_2);
wr.setInTeam(oldRun != null ? oldRun.getInTeam() : null);
wr.setMemo("分批(厂内)");
wr.setApprovalMan(userId);
wr.setSystemData("1");
wr.setCollaborate(newWo.getCollaborate());
wr.setRunStatus(WorkOrderRun.RUN_STATUS_ISSUED);
wr.setBatchReason(inBatchesDTO.getBatchReason());
workOrderRunService.save(wr);
newWo.setWorId(wr.getId());
//保存作业计划
this.calculationWp(newWo, wpList);
// 转存工序的加工信息
this.saveProcessMarkRec(oldList, wpList);
return true;
}
private WorkOrder addWorkOrderAndYieldOrder(WorkOrder oldWo, InBatchesDTO inBatchesDTO) {
WorkOrder newWo = new WorkOrder();
YieldOrder newYie = new YieldOrder();
YieldOrder oldYie = yieldOrderService.getById(oldWo.getYoId());
@ -194,9 +222,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
oldWo.setMakeQty(oldWo.getMakeQty() - newWo.getMakeQty());
this.addWorkOrder(newWo);
return newWo;
}
//保存作业计划
List<WorkPlan> oldList = workPlanService.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, oldWoId));
private List<WorkPlan> saveWorkPlan(List<WorkPlan> oldList, WorkOrder newWo, Long oldWoId) {
List<WorkPlan> wpList = new ArrayList<>(oldList.size());
for (WorkPlan oldWp : oldList) {
WorkPlan wp = new WorkPlan();
@ -222,27 +251,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
wp.setInspectionTask(iInspectionTaskService.getPrWorkCheckByWpId(oldWp.getId()));
wpList.add(wp);
}
//产生车间运行记录信息
WorkOrderRun oldRun = workOrderRunService.getById(oldWo.getWorId());
WorkOrderRun wr = new WorkOrderRun();
wr.setWoId(newWo.getId());
wr.setWoCode(newWo.getWoCode());
wr.setRunType(WorkOrderRun.RUN_TYPE_2);
wr.setInTeam(oldRun != null ? oldRun.getInTeam() : null);
wr.setMemo("分批(厂内)");
wr.setApprovalMan(userId);
wr.setSystemData("1");
wr.setCollaborate(newWo.getCollaborate());
wr.setRunStatus(WorkOrderRun.RUN_STATUS_ISSUED);
wr.setBatchReason(inBatchesDTO.getBatchReason());
workOrderRunService.save(wr);
newWo.setWorId(wr.getId());
//保存作业计划
this.calculationWp(newWo, wpList);
// 转存工序的加工信息
this.saveProcessMarkRec(oldList, wpList);
return true;
return wpList;
}
@Override
@ -1456,6 +1465,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean workPlanReceive(Long wpId) {
WorkPlan workPlan = workPlanService.getById(wpId);
WorkPlan frontWorkPlan = workPlanService.getById(workPlan.getFrontWpId());

Loading…
Cancel
Save