分批接口优化

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

@ -167,6 +167,34 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean inBatches(Long oldWoId, InBatchesDTO inBatchesDTO, Long userId) { public boolean inBatches(Long oldWoId, InBatchesDTO inBatchesDTO, Long userId) {
WorkOrder oldWo = this.getById(oldWoId); 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(); WorkOrder newWo = new WorkOrder();
YieldOrder newYie = new YieldOrder(); YieldOrder newYie = new YieldOrder();
YieldOrder oldYie = yieldOrderService.getById(oldWo.getYoId()); YieldOrder oldYie = yieldOrderService.getById(oldWo.getYoId());
@ -194,9 +222,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
oldWo.setMakeQty(oldWo.getMakeQty() - newWo.getMakeQty()); oldWo.setMakeQty(oldWo.getMakeQty() - newWo.getMakeQty());
this.addWorkOrder(newWo); this.addWorkOrder(newWo);
return newWo;
}
//保存作业计划 private List<WorkPlan> saveWorkPlan(List<WorkPlan> oldList, WorkOrder newWo, Long oldWoId) {
List<WorkPlan> oldList = workPlanService.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, oldWoId));
List<WorkPlan> wpList = new ArrayList<>(oldList.size()); List<WorkPlan> wpList = new ArrayList<>(oldList.size());
for (WorkPlan oldWp : oldList) { for (WorkPlan oldWp : oldList) {
WorkPlan wp = new WorkPlan(); WorkPlan wp = new WorkPlan();
@ -222,27 +251,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
wp.setInspectionTask(iInspectionTaskService.getPrWorkCheckByWpId(oldWp.getId())); wp.setInspectionTask(iInspectionTaskService.getPrWorkCheckByWpId(oldWp.getId()));
wpList.add(wp); wpList.add(wp);
} }
return wpList;
//产生车间运行记录信息
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;
} }
@Override @Override
@ -1456,6 +1465,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public boolean workPlanReceive(Long wpId) { public boolean workPlanReceive(Long wpId) {
WorkPlan workPlan = workPlanService.getById(wpId); WorkPlan workPlan = workPlanService.getById(wpId);
WorkPlan frontWorkPlan = workPlanService.getById(workPlan.getFrontWpId()); WorkPlan frontWorkPlan = workPlanService.getById(workPlan.getFrontWpId());

Loading…
Cancel
Save