diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PrMakeRecController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PrMakeRecController.java index 0bc60d70..b6f81be3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PrMakeRecController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PrMakeRecController.java @@ -61,6 +61,9 @@ public class PrMakeRecController extends BladeController { @Operation(summary = "工序接收查询", description = "传入cardNo") public R loadNotReceived(@RequestParam String cardNo) { WorkPlanLoadVO workPlanLoadVO = makeRecService.loadNotReceived(cardNo); + if (workPlanLoadVO == null || workPlanLoadVO.getWpId() == null) { + return R.fail("未找到数据"); + } workOrderService.dataValidation(workPlanLoadVO.getWpId()); return R.data(workPlanLoadVO); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java index eb7d9445..8b7bb5e8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import jodd.bean.BeanUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -12,18 +11,14 @@ import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.desk.basic.pojo.entity.RelTeamSetUser; -import org.springblade.desk.basic.pojo.entity.TeamSet; import org.springblade.desk.basic.pojo.entity.UserRight; import org.springblade.desk.basic.service.IRelTeamSetUserService; import org.springblade.desk.basic.service.IUserRightService; import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; -import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; -import org.springblade.desk.dashboard.pojo.entity.DsProcessEntity; import org.springblade.desk.dashboard.service.IBsProcessSetService; import org.springblade.desk.dashboard.service.IBsTeamSetService; import org.springblade.desk.dashboard.service.IDsPartService; -import org.springblade.desk.dashboard.service.IDsProcessService; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.produce.mapper.MakeRecMapper; @@ -37,15 +32,12 @@ import org.springblade.desk.produce.pojo.enums.WorkOrderEnum; import org.springblade.desk.produce.pojo.vo.MesMakeRecVO; import org.springblade.desk.produce.pojo.vo.WorkPlanLoadVO; import org.springblade.desk.produce.service.*; -import org.springblade.desk.quality.pojo.entity.AuditFile; -import org.springblade.desk.quality.pojo.entity.InspectionTask; -import org.springblade.desk.quality.pojo.entity.ReviewSheet; import org.springblade.desk.quality.service.IAuditFileService; import org.springblade.system.cache.UserCache; -import org.springblade.system.pojo.entity.DataScope; import org.springblade.system.pojo.entity.User; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.function.Function; @@ -69,18 +61,12 @@ public class MakeRecServiceImpl extends BaseServiceImpl private final IYieldOrderService yieldOrderService; - private final IDsProcessService dsProcessService; - private final IMesQcProduceRunService mesQcProduceRunService; private final IBsProcessSetService bsProcessSetService; - private final IAuditFileService auditFileService; - private final IBsTeamSetService teamSetService; - private final IDsPartService partService; - private final IRelTeamSetUserService relTeamSetUserService; private final IMesEquipmentCardService mesEquipmentCardService; @@ -106,7 +92,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl if (!WorkPlan.STATUS_START.equals(wp.getStatus())) { throw new ServiceException("当前工序已报工完成!"); } - this.checkTeamWorkPlan(wp, this.getTeamId(AuthUtil.getUserId())); +// this.checkTeamWorkPlan(wp, this.getTeamId(AuthUtil.getUserId())); boolean isBinging = false; // 查询当前工序是否绑定了挂次号 long count = macToolUseService.count(Wrappers.lambdaQuery().eq(MacToolUse::getWpId, wp.getId()).isNotNull(MacToolUse::getHangNum)); @@ -151,22 +137,27 @@ public class MakeRecServiceImpl extends BaseServiceImpl } @Override + @Transactional(rollbackFor = Exception.class) public boolean saveMakeRec(MakeRecDTO makeRecDTO) { WorkPlan wp = workPlanMapper.selectById(makeRecDTO.getWpId()); if (!WorkPlan.STATUS_START.equals(wp.getStatus())) { throw new ServiceException("当前工序已报工完成!"); } MacToolUse mtu; - DsProcessEntity dsProcess = dsProcessService.getById(wp.getPpsId()); - DsProcessEntity frontProcess = dsProcessService.getById(wp.getFrontWpId()); + BsProcessSetEntity dsProcess = bsProcessSetService.getById(wp.getPpsId()); + WorkPlan frontWp = workPlanMapper.selectById(wp.getFrontWpId()); + BsProcessSetEntity frontProcess = null; + if (frontWp != null) { + frontProcess = bsProcessSetService.getById(wp.getFrontWpId()); + } //如果是上挂工序,需判定是否绑定挂具 - if ("上挂".equals(dsProcess.getProcessName())) { + if ("上挂".equals(dsProcess.getName())) { mtu = macToolUseService.queryByParams(wp.getId(), 1, 0, 0); if (mtu == null) { throw new ServiceException("上挂工序未绑定挂具!"); } // 如果上序是上挂工序、并且本序是主工序,则代表本序是 需要绑定飞靶及设备的工序 或者手动维护生产追溯信息 - } else if (wp.getFrontWpId() != null && "上挂".equals(frontProcess.getProcessName()) && "1".equals(wp.getCruxProcess())) { + } else if (frontProcess != null && "上挂".equals(frontProcess.getName()) && "1".equals(wp.getCruxProcess())) { mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1); if (mtu == null) { // 验证是否维护了生产追溯信息 @@ -175,7 +166,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl throw new ServiceException("此工序卡未绑定飞靶或设备!"); } } - } else if (dsProcess.getProcessName().contains("镀金")) { + } else if (dsProcess.getName().contains("镀金")) { mtu = macToolUseService.queryByParams(wp.getId(), 0, 1, 0); if (mtu == null) { throw new ServiceException("此工序未绑定飞跋,请绑定飞跋!!!"); @@ -192,17 +183,17 @@ public class MakeRecServiceImpl extends BaseServiceImpl throw new ServiceException("未绑定飞跋和设备或未维护生产追溯信息!!!"); } } - } else if ("玻璃封接清洗".equals(dsProcess.getProcessName()) || "玻璃封接退火".equals(dsProcess.getProcessName()) || - "玻璃封接预氧化(箱式炉)".equals(dsProcess.getProcessName()) || "玻璃封接预氧化(链式炉)".equals(dsProcess.getProcessName()) || - "玻璃封接(链式炉)".equals(dsProcess.getProcessName()) || "玻璃封接(真空炉)".equals(dsProcess.getProcessName()) || - "玻璃封接灌胶".equals(dsProcess.getProcessName()) || "玻璃饼压制".equals(dsProcess.getProcessName()) || - "玻璃饼排蜡玻化".equals(dsProcess.getProcessName()) || "玻璃饼振光".equals(dsProcess.getProcessName()) || - "石墨模烘干".equals(dsProcess.getProcessName()) || "石墨模焙烧".equals(dsProcess.getProcessName()) || - "真空炉灌胶".equals(dsProcess.getProcessName()) || "玻璃封接电镀去氧化皮".equals(dsProcess.getProcessName()) || - "玻璃封接电化学抛光".equals(dsProcess.getProcessName()) || "玻璃封接湿喷砂".equals(dsProcess.getProcessName()) || - "玻璃封接电镀".equals(dsProcess.getProcessName()) || "玻璃封接插针电镀".equals(dsProcess.getProcessName()) || - "玻璃封接壳体电镀".equals(dsProcess.getProcessName()) || "玻璃封接电镀下挂".equals(dsProcess.getProcessName()) || - "烧结浸保护剂".equals(dsProcess.getProcessName())) { + } else if ("玻璃封接清洗".equals(dsProcess.getName()) || "玻璃封接退火".equals(dsProcess.getName()) || + "玻璃封接预氧化(箱式炉)".equals(dsProcess.getName()) || "玻璃封接预氧化(链式炉)".equals(dsProcess.getName()) || + "玻璃封接(链式炉)".equals(dsProcess.getName()) || "玻璃封接(真空炉)".equals(dsProcess.getName()) || + "玻璃封接灌胶".equals(dsProcess.getName()) || "玻璃饼压制".equals(dsProcess.getName()) || + "玻璃饼排蜡玻化".equals(dsProcess.getName()) || "玻璃饼振光".equals(dsProcess.getName()) || + "石墨模烘干".equals(dsProcess.getName()) || "石墨模焙烧".equals(dsProcess.getName()) || + "真空炉灌胶".equals(dsProcess.getName()) || "玻璃封接电镀去氧化皮".equals(dsProcess.getName()) || + "玻璃封接电化学抛光".equals(dsProcess.getName()) || "玻璃封接湿喷砂".equals(dsProcess.getName()) || + "玻璃封接电镀".equals(dsProcess.getName()) || "玻璃封接插针电镀".equals(dsProcess.getName()) || + "玻璃封接壳体电镀".equals(dsProcess.getName()) || "玻璃封接电镀下挂".equals(dsProcess.getName()) || + "烧结浸保护剂".equals(dsProcess.getName())) { mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1); if (mtu == null) { // 验证是否维护了生产追溯信息 @@ -217,11 +208,10 @@ public class MakeRecServiceImpl extends BaseServiceImpl throw new ServiceException("生产记录未填写完整,不允许报工!!!!"); } MakeRec mr = new MakeRec(); - BeanUtils.copyProperties(makeRecDTO, MakeRec.class); - mr.setWpId(wp.getId()); - mr.setWorker(makeRecDTO.getWorker()); + BeanUtils.copyProperties(makeRecDTO, mr); + mr.setWorker(AuthUtil.getUserId()); mr.setMakeTime(new Date()); - baseMapper.insertOrUpdate(mr); + this.save(mr); if (mr.getScrapQty() > 0) { wp.setScrapQty(wp.getScrapQty() + mr.getScrapQty()); WorkOrder wo = workOrderMapper.selectById(wp.getWoId()); @@ -232,7 +222,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl if (wp.getQualifiedQty().equals(wp.getScrapQty() + wp.getWorkQty())) { wp.setStatus(WorkPlan.STATUS_WORK_OK); } - if ("热处理".equals(dsProcess.getProcessName())) { + if ("热处理".equals(dsProcess.getName())) { wp.setPrintType((short) 1); String code = macToolUseService.nextCode(2); MacToolUse prMacToolUse = new MacToolUse(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index 7a9fe3db..f90128b9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -1538,21 +1538,21 @@ public class WorkOrderServiceImpl extends BaseServiceImpl - this.updateStatus(List.of(workPlan.getId()), WorkOrder.RUN_STATUS_RECEIVE, userId, null); + this.updateStatus(List.of(workOrder.getId()), WorkOrder.RUN_STATUS_RECEIVE, userId, null); + workOrder = this.getById(workOrder.getId()); // 如果是返工回来的不验证子件 if (StringUtils.isBlank(workOrder.getReworkCode())) { // yieldOrderService.verifyYield(workOrder.getYoId()); } } + // 修改车间订单当前加工工序 + workOrder.setWpId(workPlan.getId()); + workOrder.setOemType(-1); YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId());