fix:废箔下卷时添加分切机任务任务判断

This commit is contained in:
zhangzq
2025-01-18 17:20:03 +08:00
parent 47edc84ecc
commit 6fecd54c0e
2 changed files with 26 additions and 13 deletions

View File

@@ -261,10 +261,18 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
.in(PdmBiSlittingproductionplan::getContainer_name, containerNameList)
.eq(PdmBiSlittingproductionplan::getIs_delete,IOSEnum.IS_NOTANDYES.code(""))
);
List<PdmBiSubpackagerelation> subpackagerelations = this.list(new QueryWrapper<PdmBiSubpackagerelation>().in("workorder_id", workIdList));
if (ObjectUtils.isEmpty(planList)) {
throw new BadRequestException("子卷查询不到分切计划,请检查!");
}
Optional<PdmBiSubpackagerelation> any = subpackagerelations.stream()
.filter(sub -> sub.getStatus().equals("0") && StringUtils.isNotEmpty(sub.getPackage_box_sn()))
.findAny();
if (any.isPresent()){
PdmBiSubpackagerelation subpackagerelation = any.get();
throw new BadRequestException(subpackagerelation.getPackage_box_sn()+"包装关系已存在"+subpackagerelation.getPackage_box_sn()+"如重新生成请确认MES跟LMS包装关系已解绑定");
}
BigDecimal totalWeight;
totalWeight = planList.stream()
.map(PdmBiSlittingproductionplan::getWeight)
@@ -475,17 +483,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
updateWrapper.in("workorder_id", workIdList);
pdmBiSubpackagerelationMapper.update(null, updateWrapper);
//给MES传输子卷包装关系
CompletableFuture.runAsync(() -> {
try {
log.error("----回传子卷包装关系----");
String isConnect2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_MES2").getValue();
if ("1".equals(isConnect2)) {
transferBoxPackageToMes(false, whereJson, containerNameList, boxSn, weightTotal);
}
} catch (Exception e) {
log.error("子卷装箱异常transferBoxPackageToMes给MES传输子卷包装关系异常,木箱号为:" + boxSn + ",异常信息:" + e);
}
}, pool);
transferBoxPackageToMes(false, whereJson, containerNameList, boxSn, weightTotal);
}
/**

View File

@@ -4,8 +4,11 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
@@ -14,10 +17,14 @@ import org.nl.wms.pda.mps.service.OutService;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.CutConveyorTask;
import org.nl.wms.sch.tasks.CutTrussTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@@ -25,6 +32,8 @@ import java.util.HashMap;
public class OutServiceImpl implements OutService {
private final CutTrussTask cutTrussTask;
@Autowired
private IschBaseTaskService ischBaseTaskService;
@Override
public JSONObject queryMaterialInfo(JSONObject whereJson) {
@@ -211,7 +220,13 @@ public class OutServiceImpl implements OutService {
if (ObjectUtil.isEmpty(cut_ivt)) {
throw new BadRequestException("未查询到对应的分切机!");
}
List<SchBaseTask> list = ischBaseTaskService.list(new QueryWrapper<SchBaseTask>()
.eq("point_code1", point_code)
.lt("task_status", TaskStatusEnum.FINISHED.getCode())
.eq("is_delete", "0"));
if (!CollectionUtils.isEmpty(list)){
throw new BadRequestException("当前分切机"+point_code+"存在任务,如需继续下卷请先取消任务"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
}
//查询该分切机邻近位置的空载具的输送线点位
JSONObject empty_vehicle = WQL.getWO("PDA_02")
.addParam("sort_seq", cut_ivt.getString("sort_seq"))