|
|
|
@ -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(); |
|
|
|
|