工序报工修改

liweidong
李涛 1 month ago
parent 1d597c3504
commit aa21e02a13
  1. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PrMakeRecController.java
  2. 64
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java
  3. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java

@ -61,6 +61,9 @@ public class PrMakeRecController extends BladeController {
@Operation(summary = "工序接收查询", description = "传入cardNo") @Operation(summary = "工序接收查询", description = "传入cardNo")
public R<WorkPlanLoadVO> loadNotReceived(@RequestParam String cardNo) { public R<WorkPlanLoadVO> loadNotReceived(@RequestParam String cardNo) {
WorkPlanLoadVO workPlanLoadVO = makeRecService.loadNotReceived(cardNo); WorkPlanLoadVO workPlanLoadVO = makeRecService.loadNotReceived(cardNo);
if (workPlanLoadVO == null || workPlanLoadVO.getWpId() == null) {
return R.fail("未找到数据");
}
workOrderService.dataValidation(workPlanLoadVO.getWpId()); workOrderService.dataValidation(workPlanLoadVO.getWpId());
return R.data(workPlanLoadVO); return R.data(workPlanLoadVO);
} }

@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jodd.bean.BeanUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; 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.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser; 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.pojo.entity.UserRight;
import org.springblade.desk.basic.service.IRelTeamSetUserService; import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.service.IUserRightService; import org.springblade.desk.basic.service.IUserRightService;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; 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.IBsProcessSetService;
import org.springblade.desk.dashboard.service.IBsTeamSetService; import org.springblade.desk.dashboard.service.IBsTeamSetService;
import org.springblade.desk.dashboard.service.IDsPartService; 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.pojo.entity.YieldOrder;
import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.produce.mapper.MakeRecMapper; 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.MesMakeRecVO;
import org.springblade.desk.produce.pojo.vo.WorkPlanLoadVO; import org.springblade.desk.produce.pojo.vo.WorkPlanLoadVO;
import org.springblade.desk.produce.service.*; 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.desk.quality.service.IAuditFileService;
import org.springblade.system.cache.UserCache; import org.springblade.system.cache.UserCache;
import org.springblade.system.pojo.entity.DataScope;
import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.User;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
@ -69,18 +61,12 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
private final IYieldOrderService yieldOrderService; private final IYieldOrderService yieldOrderService;
private final IDsProcessService dsProcessService;
private final IMesQcProduceRunService mesQcProduceRunService; private final IMesQcProduceRunService mesQcProduceRunService;
private final IBsProcessSetService bsProcessSetService; private final IBsProcessSetService bsProcessSetService;
private final IAuditFileService auditFileService;
private final IBsTeamSetService teamSetService; private final IBsTeamSetService teamSetService;
private final IDsPartService partService;
private final IRelTeamSetUserService relTeamSetUserService; private final IRelTeamSetUserService relTeamSetUserService;
private final IMesEquipmentCardService mesEquipmentCardService; private final IMesEquipmentCardService mesEquipmentCardService;
@ -106,7 +92,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
if (!WorkPlan.STATUS_START.equals(wp.getStatus())) { if (!WorkPlan.STATUS_START.equals(wp.getStatus())) {
throw new ServiceException("当前工序已报工完成!"); throw new ServiceException("当前工序已报工完成!");
} }
this.checkTeamWorkPlan(wp, this.getTeamId(AuthUtil.getUserId())); // this.checkTeamWorkPlan(wp, this.getTeamId(AuthUtil.getUserId()));
boolean isBinging = false; boolean isBinging = false;
// 查询当前工序是否绑定了挂次号 // 查询当前工序是否绑定了挂次号
long count = macToolUseService.count(Wrappers.<MacToolUse>lambdaQuery().eq(MacToolUse::getWpId, wp.getId()).isNotNull(MacToolUse::getHangNum)); long count = macToolUseService.count(Wrappers.<MacToolUse>lambdaQuery().eq(MacToolUse::getWpId, wp.getId()).isNotNull(MacToolUse::getHangNum));
@ -151,22 +137,27 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public boolean saveMakeRec(MakeRecDTO makeRecDTO) { public boolean saveMakeRec(MakeRecDTO makeRecDTO) {
WorkPlan wp = workPlanMapper.selectById(makeRecDTO.getWpId()); WorkPlan wp = workPlanMapper.selectById(makeRecDTO.getWpId());
if (!WorkPlan.STATUS_START.equals(wp.getStatus())) { if (!WorkPlan.STATUS_START.equals(wp.getStatus())) {
throw new ServiceException("当前工序已报工完成!"); throw new ServiceException("当前工序已报工完成!");
} }
MacToolUse mtu; MacToolUse mtu;
DsProcessEntity dsProcess = dsProcessService.getById(wp.getPpsId()); BsProcessSetEntity dsProcess = bsProcessSetService.getById(wp.getPpsId());
DsProcessEntity frontProcess = dsProcessService.getById(wp.getFrontWpId()); 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); mtu = macToolUseService.queryByParams(wp.getId(), 1, 0, 0);
if (mtu == null) { if (mtu == null) {
throw new ServiceException("上挂工序未绑定挂具!"); 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); mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1);
if (mtu == null) { if (mtu == null) {
// 验证是否维护了生产追溯信息 // 验证是否维护了生产追溯信息
@ -175,7 +166,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
throw new ServiceException("此工序卡未绑定飞靶或设备!"); throw new ServiceException("此工序卡未绑定飞靶或设备!");
} }
} }
} else if (dsProcess.getProcessName().contains("镀金")) { } else if (dsProcess.getName().contains("镀金")) {
mtu = macToolUseService.queryByParams(wp.getId(), 0, 1, 0); mtu = macToolUseService.queryByParams(wp.getId(), 0, 1, 0);
if (mtu == null) { if (mtu == null) {
throw new ServiceException("此工序未绑定飞跋,请绑定飞跋!!!"); throw new ServiceException("此工序未绑定飞跋,请绑定飞跋!!!");
@ -192,17 +183,17 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
throw new ServiceException("未绑定飞跋和设备或未维护生产追溯信息!!!"); throw new ServiceException("未绑定飞跋和设备或未维护生产追溯信息!!!");
} }
} }
} else if ("玻璃封接清洗".equals(dsProcess.getProcessName()) || "玻璃封接退火".equals(dsProcess.getProcessName()) || } else if ("玻璃封接清洗".equals(dsProcess.getName()) || "玻璃封接退火".equals(dsProcess.getName()) ||
"玻璃封接预氧化(箱式炉)".equals(dsProcess.getProcessName()) || "玻璃封接预氧化(链式炉)".equals(dsProcess.getProcessName()) || "玻璃封接预氧化(箱式炉)".equals(dsProcess.getName()) || "玻璃封接预氧化(链式炉)".equals(dsProcess.getName()) ||
"玻璃封接(链式炉)".equals(dsProcess.getProcessName()) || "玻璃封接(真空炉)".equals(dsProcess.getProcessName()) || "玻璃封接(链式炉)".equals(dsProcess.getName()) || "玻璃封接(真空炉)".equals(dsProcess.getName()) ||
"玻璃封接灌胶".equals(dsProcess.getProcessName()) || "玻璃饼压制".equals(dsProcess.getProcessName()) || "玻璃封接灌胶".equals(dsProcess.getName()) || "玻璃饼压制".equals(dsProcess.getName()) ||
"玻璃饼排蜡玻化".equals(dsProcess.getProcessName()) || "玻璃饼振光".equals(dsProcess.getProcessName()) || "玻璃饼排蜡玻化".equals(dsProcess.getName()) || "玻璃饼振光".equals(dsProcess.getName()) ||
"石墨模烘干".equals(dsProcess.getProcessName()) || "石墨模焙烧".equals(dsProcess.getProcessName()) || "石墨模烘干".equals(dsProcess.getName()) || "石墨模焙烧".equals(dsProcess.getName()) ||
"真空炉灌胶".equals(dsProcess.getProcessName()) || "玻璃封接电镀去氧化皮".equals(dsProcess.getProcessName()) || "真空炉灌胶".equals(dsProcess.getName()) || "玻璃封接电镀去氧化皮".equals(dsProcess.getName()) ||
"玻璃封接电化学抛光".equals(dsProcess.getProcessName()) || "玻璃封接湿喷砂".equals(dsProcess.getProcessName()) || "玻璃封接电化学抛光".equals(dsProcess.getName()) || "玻璃封接湿喷砂".equals(dsProcess.getName()) ||
"玻璃封接电镀".equals(dsProcess.getProcessName()) || "玻璃封接插针电镀".equals(dsProcess.getProcessName()) || "玻璃封接电镀".equals(dsProcess.getName()) || "玻璃封接插针电镀".equals(dsProcess.getName()) ||
"玻璃封接壳体电镀".equals(dsProcess.getProcessName()) || "玻璃封接电镀下挂".equals(dsProcess.getProcessName()) || "玻璃封接壳体电镀".equals(dsProcess.getName()) || "玻璃封接电镀下挂".equals(dsProcess.getName()) ||
"烧结浸保护剂".equals(dsProcess.getProcessName())) { "烧结浸保护剂".equals(dsProcess.getName())) {
mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1); mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1);
if (mtu == null) { if (mtu == null) {
// 验证是否维护了生产追溯信息 // 验证是否维护了生产追溯信息
@ -217,11 +208,10 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
throw new ServiceException("生产记录未填写完整,不允许报工!!!!"); throw new ServiceException("生产记录未填写完整,不允许报工!!!!");
} }
MakeRec mr = new MakeRec(); MakeRec mr = new MakeRec();
BeanUtils.copyProperties(makeRecDTO, MakeRec.class); BeanUtils.copyProperties(makeRecDTO, mr);
mr.setWpId(wp.getId()); mr.setWorker(AuthUtil.getUserId());
mr.setWorker(makeRecDTO.getWorker());
mr.setMakeTime(new Date()); mr.setMakeTime(new Date());
baseMapper.insertOrUpdate(mr); this.save(mr);
if (mr.getScrapQty() > 0) { if (mr.getScrapQty() > 0) {
wp.setScrapQty(wp.getScrapQty() + mr.getScrapQty()); wp.setScrapQty(wp.getScrapQty() + mr.getScrapQty());
WorkOrder wo = workOrderMapper.selectById(wp.getWoId()); WorkOrder wo = workOrderMapper.selectById(wp.getWoId());
@ -232,7 +222,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
if (wp.getQualifiedQty().equals(wp.getScrapQty() + wp.getWorkQty())) { if (wp.getQualifiedQty().equals(wp.getScrapQty() + wp.getWorkQty())) {
wp.setStatus(WorkPlan.STATUS_WORK_OK); wp.setStatus(WorkPlan.STATUS_WORK_OK);
} }
if ("热处理".equals(dsProcess.getProcessName())) { if ("热处理".equals(dsProcess.getName())) {
wp.setPrintType((short) 1); wp.setPrintType((short) 1);
String code = macToolUseService.nextCode(2); String code = macToolUseService.nextCode(2);
MacToolUse prMacToolUse = new MacToolUse(); MacToolUse prMacToolUse = new MacToolUse();

@ -1538,21 +1538,21 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workPlan.setReceiveMan(userId); workPlan.setReceiveMan(userId);
workPlanService.updateById(workPlan); workPlanService.updateById(workPlan);
// 修改车间订单当前加工工序
workOrder.setWpId(workPlan.getId());
workOrder.setOemType(-1);
//第一道工序更改车间状态 //第一道工序更改车间状态
log.info("工序接收,当前工序ID:{}", workPlan.getId()); log.info("工序接收,当前工序ID:{}", workPlan.getId());
if (workPlan.getFrontWpId() == null) { if (workPlan.getFrontWpId() == null) {
log.info("第一道工序更改车间状态为加工中,车间订单ID:{}", workOrder.getId()); log.info("第一道工序更改车间状态为加工中,车间订单ID:{}", workOrder.getId());
// 快速将Long转换为List<Long> // 快速将Long转换为List<Long>
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())) { if (StringUtils.isBlank(workOrder.getReworkCode())) {
// yieldOrderService.verifyYield(workOrder.getYoId()); // yieldOrderService.verifyYield(workOrder.getYoId());
} }
} }
// 修改车间订单当前加工工序
workOrder.setWpId(workPlan.getId());
workOrder.setOemType(-1);
YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId()); YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId());

Loading…
Cancel
Save