diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtShaftivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtShaftivtService.java index c2b94a587..14c3aed89 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtShaftivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtShaftivtService.java @@ -7,6 +7,7 @@ import java.util.Map; import java.util.Set; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.common.domain.query.PageQuery; @@ -51,6 +52,8 @@ public interface IstIvtShaftivtService extends IService { */ void deleteAll(Set ids); + void handleGroupTask(SchBaseTask baseTask); + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtShaftivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtShaftivtServiceImpl.java index e98fe271c..f98050d61 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtShaftivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtShaftivtServiceImpl.java @@ -1,13 +1,24 @@ package org.nl.b_lms.sch.point.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import org.apache.commons.lang3.StringUtils; +import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.StIvtShaftivt; import org.nl.b_lms.sch.point.dao.mapper.StIvtShaftivtMapper; import org.nl.b_lms.sch.point.service.IstIvtShaftivtService; import cn.hutool.core.date.DateUtil; +import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.sch.task.service.IschBaseTaskService; +import org.nl.b_lms.sch.tasks.slitter.SendShaftToCacheTask; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.wms.sch.manage.TaskStatusEnum; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.common.domain.query.PageQuery; @@ -29,6 +40,10 @@ public class StIvtShaftivtServiceImpl extends ServiceImpl() + .eq(SchBaseTask::getTask_group_id, baseTask.getTask_group_id()) + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_SEND.code("否")) + .ne(SchBaseTask::getTask_id, baseTask.getTask_id()) + .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())); + if (groupTask != null) { + sendShaftToCacheTask.immediateNotifyAcs(groupTask.getTask_id()); + } + } + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/ReturnShaftAgvTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/ReturnShaftAgvTask.java index cce520216..ae2048170 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/ReturnShaftAgvTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/ReturnShaftAgvTask.java @@ -4,6 +4,8 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; @@ -22,6 +24,7 @@ import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.AcsTaskDto; +import org.nl.wms.sch.AcsUtil; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.InHotTask; @@ -113,12 +116,16 @@ public class ReturnShaftAgvTask extends AbstractAcsTask { log.info("点位信息:{}", endPointObj); // 创建行架任务 - if (ObjectUtil.isNotEmpty(endPointObj.getQzz_no1())){ + String task_group_id = org.nl.common.utils.IdUtil.getStringId(); + String task1 = null; + String task2 = null; + if (ObjectUtil.isNotEmpty(endPointObj.getQzz_no1())) { String qzzSize = endPointObj.getQzz_no1(); - String[] split = qzzSize.split("-"); + String qzz = qzzSize.substring(qzzSize.length() - 3); + String[] split = qzz.split("-"); String size = split[0]; String qzz_generation = split[1]; - List shafttubeivts = checkIsHaveEmptyPoint(size,qzz_generation); + List shafttubeivts = checkIsHaveEmptyPoint(size, qzz_generation); if (shafttubeivts.size() == 0) { throw new BadRequestException("未找到可存放气涨轴规格「" + qzzSize + "」的空暂存位"); } @@ -130,14 +137,16 @@ public class ReturnShaftAgvTask extends AbstractAcsTask { param.put("product_area", SlitterConstant.SLITTER_TASK_AREA); param.put("task_type", SlitterEnum.TASK_TYPE.code("穿拔轴缓存<>气胀轴缓存位")); param.put("is_bushing", "0"); - sendShaftToCacheTask.createTask(param); + param.put("task_group_id", task_group_id); + task1 = sendShaftToCacheTask.createTask(param); } - if (ObjectUtil.isNotEmpty(endPointObj.getQzz_no2())){ + if (ObjectUtil.isNotEmpty(endPointObj.getQzz_no2())) { String qzzSize = endPointObj.getQzz_no2(); - String[] split = qzzSize.split("-"); + String qzz = qzzSize.substring(qzzSize.length() - 3); + String[] split = qzz.split("-"); String size = split[0]; String qzz_generation = split[1]; - List shafttubeivts = checkIsHaveEmptyPoint(size,qzz_generation); + List shafttubeivts = checkIsHaveEmptyPoint(size, qzz_generation); if (shafttubeivts.size() == 0) { throw new BadRequestException("未找到可存放气涨轴规格「" + qzzSize + "」的空暂存位"); } @@ -149,9 +158,10 @@ public class ReturnShaftAgvTask extends AbstractAcsTask { param.put("task_type", SlitterEnum.TASK_TYPE.code("穿拔轴缓存<>气胀轴缓存位")); param.put("product_area", SlitterConstant.SLITTER_TASK_AREA); param.put("is_bushing", "0"); - sendShaftToCacheTask.createTask(param); + param.put("task_group_id", task_group_id); + task2 = sendShaftToCacheTask.createTask(param); } - + sendShaftToCacheTask.immediateNotifyAcs(ObjectUtil.isNotEmpty(task1) ? task1 : task2); } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -163,7 +173,7 @@ public class ReturnShaftAgvTask extends AbstractAcsTask { private List checkIsHaveEmptyPoint(String size, String qzz_generation) { // 获取空位 - List shafttubeivts = shafttubeivtService.getNotTaskEmptyShaftCache(size, qzz_generation,"0"); + List shafttubeivts = shafttubeivtService.getNotTaskEmptyShaftCache(size, qzz_generation, "0"); return shafttubeivts; } @@ -203,6 +213,7 @@ public class ReturnShaftAgvTask extends AbstractAcsTask { return task.getTask_id(); } + @Transactional(rollbackFor = Exception.class) @Override public void forceFinish(String task_id) { JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendShaftToCacheTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendShaftToCacheTask.java index 292fead27..81f78f740 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendShaftToCacheTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendShaftToCacheTask.java @@ -5,21 +5,26 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; import org.nl.b_lms.bst.ivt.shafttubeivt.service.IBstIvtShafttubeivtService; import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt; +import org.nl.b_lms.sch.point.service.IstIvtShaftivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.tasks.slitter.constant.SlitterEnum; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.TaskUtils; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.AcsTaskDto; +import org.nl.wms.sch.AcsUtil; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; @@ -44,6 +49,10 @@ public class SendShaftToCacheTask extends AbstractAcsTask { private IBstIvtShafttubeivtService shafttubeivtService; @Autowired private IBstIvtCutpointivtService bcutpointivtService; + @Autowired + private IstIvtShaftivtService shaftivtService; + @Autowired + AcsUtil acsUtil; @Override public List addTask() { @@ -109,6 +118,7 @@ public class SendShaftToCacheTask extends AbstractAcsTask { startPointParam.setPoint_status("1"); bcutpointivtService.updateById(startPointParam); } + shaftivtService.handleGroupTask(task); } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -118,11 +128,17 @@ public class SendShaftToCacheTask extends AbstractAcsTask { taskService.updateById(task); } + @Override public String createTask(JSONObject form) { String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); + String point_code1 = form.getString("point_code1"); + JSONObject task1 = isSingleTask(point_code1); + if (ObjectUtil.isNotEmpty(task1)) { + throw new BadRequestException("所在点位:" + point_code1 + "存在未完成的任务:" + task1.getString("task_code")); + } SchBaseTask task = new SchBaseTask(); task.setTask_id(IdUtil.getSnowflake(1, 1).nextIdStr()); task.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr()); @@ -132,6 +148,7 @@ public class SendShaftToCacheTask extends AbstractAcsTask { task.setVehicle_code(form.getString("qzz_size")); task.setTask_type("010815"); task.setAcs_task_type("6"); + task.setTask_group_id(form.getString("task_group_id")); task.setIs_delete("0"); task.setRequest_param(form.toJSONString()); task.setTask_type(form.getString("task_type")); @@ -148,7 +165,7 @@ public class SendShaftToCacheTask extends AbstractAcsTask { task.setPriority(priority_jo.getString("value")); } taskService.save(task); - this.immediateNotifyAcs(null); +// this.immediateNotifyAcs(null); return task.getTask_id(); } @@ -164,4 +181,68 @@ public class SendShaftToCacheTask extends AbstractAcsTask { JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); this.updateTaskStatus(taskObj, "0"); } + + @Override + public JSONObject immediateNotifyAcs(String task_id) { + try { + Thread.sleep(1000); + } catch (Exception ex) { + + } + + List taskList = new ArrayList<>(); + SchBaseTask baseTask = taskService.getById(task_id); + taskList.add(baseTask); + ArrayList resultList = new ArrayList<>(); + String agv_system_type = "2"; + for (SchBaseTask task : taskList) { + String requestParam = task.getRequest_param(); + JSONObject requestParamObj = JSONObject.parseObject(requestParam); + AcsTaskDto dto = AcsTaskDto.builder() + .ext_task_id(task.getTask_id()) + .task_code(task.getTask_code()) + .task_type(task.getAcs_task_type()) + .start_device_code(task.getPoint_code1()) + .next_device_code(task.getPoint_code2()) + .start_device_code2(task.getPoint_code3()) + .next_device_code2(task.getPoint_code4()) + .vehicle_code(task.getVehicle_code()) + .agv_system_type(agv_system_type) + .priority(task.getPriority()) + .remark(task.getRemark()) + .product_area(task.getProduct_area()) + .build(); + resultList.add(dto); + } +// List taskList = this.schedule(); + if (ObjectUtil.isNotEmpty(resultList)) { + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(resultList)); + if (acsUtil == null) { + return AcsUtil.notifyAcs("api/wms/task", arr); + } else { + return acsUtil.notifyAcs3("api/wms/task", arr); + } + } + return null; + + } + + public JSONObject isSingleTask(String point_code) { + JSONObject task1 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code1 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + JSONObject task2 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code2 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + JSONObject task3 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code3 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + JSONObject task4 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code4 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + + if (ObjectUtil.isNotEmpty(task1)) { + return task1; + } else if (ObjectUtil.isNotEmpty(task2)) { + return task2; + } else if (ObjectUtil.isNotEmpty(task3)) { + return task3; + } else if (ObjectUtil.isNotEmpty(task4)) { + return task4; + } + + return null; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index d59962a08..14bda7c01 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -298,9 +298,9 @@ public class SlitterServiceImpl implements SlitterService { } List plans = slittingproductionplanService.list( new LambdaQueryWrapper() - .in(PdmBiSlittingproductionplan::getContainer_name, collect) - .eq(PdmBiSlittingproductionplan::getStatus, "01") - .eq(PdmBiSlittingproductionplan::getIs_delete, "0")); + .in(PdmBiSlittingproductionplan::getContainer_name, collect) + .eq(PdmBiSlittingproductionplan::getStatus, "01") + .eq(PdmBiSlittingproductionplan::getIs_delete, "0")); // 去异常位 if (plans.size() == 0) { log.error("找不到[{}]对应的分切计划,分切计划可能被删除或者拼接!", collect); @@ -929,17 +929,17 @@ public class SlitterServiceImpl implements SlitterService { throw new BadRequestException("托盘:" + vehicleCode + "第" + param.getString("row_num") + "行没数据!"); } log.debug("更新前:" + vehicleCode + "第" + param.getString("row_num") + mdPbPapervehicle); - if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) { + if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) { //数量减一 - mdPbPapervehicle.setQty(BigDecimal.valueOf(mdPbPapervehicle.getQty().intValue()-1)); + mdPbPapervehicle.setQty(BigDecimal.valueOf(mdPbPapervehicle.getQty().intValue() - 1)); log.debug("更新后:" + vehicleCode + "第" + param.getString("row_num") + mdPbPapervehicle); // 检查更新后的 qty 是否为 0,然后删除相应的记录 - if(mdPbPapervehicle.getQty().intValue() <= 0){ + if (mdPbPapervehicle.getQty().intValue() <= 0) { boolean remove = papervehicleService.removeById(mdPbPapervehicle); log.debug("删除0结果:" + vehicleCode + ":" + remove); - }else{ + } else { papervehicleService.update(mdPbPapervehicle); } // todo: 如果qty=0,创建AGV送空任务,(新的task_type)、后期优化可以新增诺宝取货完成提前释放货位,任务状态变成071 @@ -1028,14 +1028,12 @@ public class SlitterServiceImpl implements SlitterService { String device_code = param.getString("device_code"); //查询当前母卷所在的点位在哪 - JSONObject cache_jo = WQLObject.getWQLObject("st_ivt_stpointcacheivt").query("container_name = '"+container_name+"'").uniqueResult(0); + JSONObject cache_jo = WQLObject.getWQLObject("st_ivt_stpointcacheivt").query("container_name = '" + container_name + "'").uniqueResult(0); if (ObjectUtil.isEmpty(cache_jo)) { throw new BadRequestException("未查询到母卷所在的点位!"); } - - return null; } @@ -1101,11 +1099,11 @@ public class SlitterServiceImpl implements SlitterService { if (CollectionUtil.isNotEmpty(qzzNos)) { List plans = slittingproductionplanService.getByQzzNos(qzzNos); List collect = plans.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList()); - if(collect.size()==0){ + if (collect.size() == 0) { throw new BadRequestException("操作失败,点位[" + pointCode + "]未查到子卷分切计划,请先绑定子卷库存!"); } taskParam.put("containers", collect); - }else{ + } else { throw new BadRequestException("操作失败,点位[" + pointCode + "]无气胀轴信息,请先绑定子卷库存!"); } // List areaEmptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus("1", @@ -1617,7 +1615,7 @@ public class SlitterServiceImpl implements SlitterService { if (ObjectUtil.isEmpty(vehicleCode)) { throw new BadRequestException("托盘信息不能为空!"); } - if(!vehicleCode.contains("GX")){ + if (!vehicleCode.contains("GX")) { throw new BadRequestException("请扫描或输入正确的托盘码!"); } @@ -1625,8 +1623,8 @@ public class SlitterServiceImpl implements SlitterService { lam.eq(BstIvtStockingivt::getVehicle_code, vehicleCode) .eq(BstIvtStockingivt::getIs_used, SlitterConstant.SLITTER_YES); BstIvtStockingivt old = bstIvtStockingivtMapper.selectOne(lam); - if(ObjectUtil.isNotEmpty(old)){ - throw new BadRequestException("当前托盘:"+vehicleCode+"已绑定在点位:"+old.getPoint_code()+"上,不允许重复绑定!"); + if (ObjectUtil.isNotEmpty(old)) { + throw new BadRequestException("当前托盘:" + vehicleCode + "已绑定在点位:" + old.getPoint_code() + "上,不允许重复绑定!"); } pointByCode.setVehicle_code(vehicleCode); pointByCode.setIvt_status("1"); @@ -1681,7 +1679,7 @@ public class SlitterServiceImpl implements SlitterService { List containers = byQzzNos.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList()); taskParam.put("containers", containers); List areaEmptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus("2", - "1", "0","0"); + "1", "0", "0"); if (areaEmptyNotTaskPoint.size() == 0) { throw new BadRequestException(cut.getProduct_area() + "该区域暂存位暂无位置存放满轴"); } @@ -1725,7 +1723,7 @@ public class SlitterServiceImpl implements SlitterService { PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName); if (ObjectUtil.isNotEmpty(rollWeight)) { BigDecimal bigDecimal = new BigDecimal(rollWeight); - if (bigDecimal.intValue()<50){ + if (bigDecimal.intValue() < 50) { throw new BadRequestException("子卷重量异常,不能小于50"); } plan.setWeight(rollWeight); @@ -2044,12 +2042,12 @@ public class SlitterServiceImpl implements SlitterService { //判断是否有未配送完成的虚拟分切计划 if (ObjectUtil.isNotEmpty(checkPlans)) { PdmBiSlittingproductionplan now_checkPlan = checkPlans.get(0); - if("01".equals(now_checkPlan.getStatus())){ - log.debug(deviceCode+"气胀轴正在准备,不允许二次呼叫套轴!"); - throw new BadRequestException(deviceCode+"气胀轴正在准备,不允许二次呼叫套轴!"); - }else if("02".equals(now_checkPlan.getStatus())){ - log.debug(deviceCode+"气胀轴配送中,不允许二次呼叫套轴!"); - throw new BadRequestException(deviceCode+"气胀轴配送中,不允许二次呼叫套轴!"); + if ("01".equals(now_checkPlan.getStatus())) { + log.debug(deviceCode + "气胀轴正在准备,不允许二次呼叫套轴!"); + throw new BadRequestException(deviceCode + "气胀轴正在准备,不允许二次呼叫套轴!"); + } else if ("02".equals(now_checkPlan.getStatus())) { + log.debug(deviceCode + "气胀轴配送中,不允许二次呼叫套轴!"); + throw new BadRequestException(deviceCode + "气胀轴配送中,不允许二次呼叫套轴!"); } } //判断分切暂存位是否有已配送的气胀轴或未下料完成的子卷 @@ -2062,8 +2060,8 @@ public class SlitterServiceImpl implements SlitterService { SlitterTaskUtil.getNumberByResourceCode(deviceCode), deviceCut.getProduct_area())); if (emptyPoint.size() == 0) { - log.debug(deviceCode+"对接缓存位不是空位或存在执行中的任务!"); - throw new BadRequestException(deviceCode+"对接缓存位不是空位或存在执行中的任务!"); + log.debug(deviceCode + "对接缓存位不是空位或存在执行中的任务!"); + throw new BadRequestException(deviceCode + "对接缓存位不是空位或存在执行中的任务!"); } List plans = new ArrayList<>(); @@ -2073,7 +2071,7 @@ public class SlitterServiceImpl implements SlitterService { PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerNameNotStatus(containerName); if (ObjectUtil.isEmpty(plan)) { plan = new PdmBiSlittingproductionplan(); - plan.setWorkorder_id(IdUtil.getSnowflake(1,1).nextIdStr()); + plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr()); } // 公共部分插入 plan.setOrder_type("1"); @@ -2110,7 +2108,7 @@ public class SlitterServiceImpl implements SlitterService { plan.setPaper_tube_material(""); plan.setPaper_tube_description(""); // 区分位置创建 - if (i==0 && ObjectUtil.isNotEmpty(upLeftSizeK)) { + if (i == 0 && ObjectUtil.isNotEmpty(upLeftSizeK)) { // 上左 plan.setPaper_tube_or_FRP(upLeftSizeV.startsWith("48") ? "1" : "2"); String[] split = upLeftSizeK.split("\\|"); @@ -2133,7 +2131,7 @@ public class SlitterServiceImpl implements SlitterService { plan.setLeft_or_right("1"); uLeftLen = SlitterTaskUtil.getPaperLengthInt(plan); } - if (i==1 && ObjectUtil.isNotEmpty(upRightSizeK)) { + if (i == 1 && ObjectUtil.isNotEmpty(upRightSizeK)) { // 上右 plan.setPaper_tube_or_FRP(upRightSizeV.startsWith("48") ? "1" : "2"); String[] split = upRightSizeK.split("\\|"); @@ -2156,7 +2154,7 @@ public class SlitterServiceImpl implements SlitterService { } uRightLen = SlitterTaskUtil.getPaperLengthInt(plan); } - if (i==2 && ObjectUtil.isNotEmpty(downLeftSizeK)) { + if (i == 2 && ObjectUtil.isNotEmpty(downLeftSizeK)) { // 下左 plan.setPaper_tube_or_FRP(downLeftSizeV.startsWith("48") ? "1" : "2"); String[] split = downLeftSizeK.split("\\|"); @@ -2179,7 +2177,7 @@ public class SlitterServiceImpl implements SlitterService { } dLeftLen = SlitterTaskUtil.getPaperLengthInt(plan); } - if (i==4 && ObjectUtil.isNotEmpty(downRightSizeK)) { + if (i == 4 && ObjectUtil.isNotEmpty(downRightSizeK)) { // 下右 plan.setPaper_tube_or_FRP(downRightSizeV.startsWith("48") ? "1" : "2"); String[] split = downRightSizeK.split("\\|"); @@ -2202,16 +2200,16 @@ public class SlitterServiceImpl implements SlitterService { } dRightLen = SlitterTaskUtil.getPaperLengthInt(plan); } - if (i==0 && ObjectUtil.isEmpty(upLeftSizeK)) { + if (i == 0 && ObjectUtil.isEmpty(upLeftSizeK)) { plan.setIs_delete("1"); } - if (i==1 && ObjectUtil.isEmpty(upRightSizeK)) { + if (i == 1 && ObjectUtil.isEmpty(upRightSizeK)) { plan.setIs_delete("1"); } - if (i==2 && ObjectUtil.isEmpty(downLeftSizeK)) { + if (i == 2 && ObjectUtil.isEmpty(downLeftSizeK)) { plan.setIs_delete("1"); } - if (i==3 && ObjectUtil.isEmpty(downRightSizeK)) { + if (i == 3 && ObjectUtil.isEmpty(downRightSizeK)) { plan.setIs_delete("1"); } plans.add(plan); @@ -2219,7 +2217,7 @@ public class SlitterServiceImpl implements SlitterService { if (uLeftLen + uRightLen > 1700 || dLeftLen + dRightLen > 1700) { throw new BadRequestException("同一根轴长度不能超过气胀轴长度,请确认是否选择正确!"); } - log.warn("forcedFeedShaft_______:{}",deviceCode); + log.warn("forcedFeedShaft_______:{}", deviceCode); slittingproductionplanService.saveOrUpdateBatch(plans); // 机台打开 LambdaUpdateWrapper lamu = new LambdaUpdateWrapper<>(); @@ -2249,6 +2247,7 @@ public class SlitterServiceImpl implements SlitterService { public List showManualView(JSONObject param) { return slitterMapper.showManualView(); } + @Override public JSONObject urgentPlan(JSONObject param) { JSONObject res = new JSONObject(); @@ -2256,12 +2255,12 @@ public class SlitterServiceImpl implements SlitterService { String workorder_id = param.getString("workorder_id"); PdmBiSlittingproductionplan plan = slittingproductionplanService.getById(workorder_id); log.info("当前加急送轴的计划为:{}", plan); - if(!"01".equals(plan.getStatus())){ + if (!"01".equals(plan.getStatus())) { res.put("status", HttpStatus.HTTP_OK); res.put("message", "加急失败,当前计划正在套轴!"); return res; } - if(!"P1".equals(plan.getManufacture_sort())){ + if (!"P1".equals(plan.getManufacture_sort())) { res.put("status", HttpStatus.HTTP_OK); res.put("message", "加急失败,当前计划已加急过一次!"); return res; @@ -2274,15 +2273,16 @@ public class SlitterServiceImpl implements SlitterService { .eq(PdmBiSlittingproductionplan::getIs_delete, SlitterConstant.SLITTER_NO); //判断更新是否成功 boolean flag = slittingproductionplanService.update(updateWrapper); - if(flag){ + if (flag) { res.put("status", HttpStatus.HTTP_OK); res.put("message", "加急成功!"); - }else{ + } else { res.put("status", HttpStatus.HTTP_OK); res.put("message", "加急失败,请刷新再试!"); } return res; } + @Override public JSONObject downRolls2(JSONObject param) { log.info("下卷2的输入参数为:{}", param); @@ -2440,8 +2440,12 @@ public class SlitterServiceImpl implements SlitterService { if (tryLock) { taskParam.put("point_code1", point.getPoint_code()); taskParam.put("point_code2", endPoint.getPoint_code()); - taskParam.put("vehicle_code1", size1); - taskParam.put("vehicle_code2", size2); + if (ObjectUtil.isNotEmpty(size1)) { + taskParam.put("vehicle_code1", IdUtil.getSnowflake(1, 1).nextIdStr() + size1); + } + if (ObjectUtil.isNotEmpty(size2)) { + taskParam.put("vehicle_code2", IdUtil.getSnowflake(1, 1).nextIdStr() + size2); + } taskParam.put("task_type", SlitterEnum.TASK_TYPE.code("分切机下料AGV到内包间")); taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA); returnShaftAgvTask.createTask(taskParam); @@ -2493,7 +2497,7 @@ public class SlitterServiceImpl implements SlitterService { for (int i = 0; i < num; i++) { String containerName = area + code + "-" + i; PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan(); - plan.setWorkorder_id(IdUtil.getSnowflake(1,1).nextIdStr()); + plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr()); // 公共部分插入 plan.setOrder_type("1"); plan.setContainer_name(containerName); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 0e426b7be..dd1e136a5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -2873,7 +2873,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (ObjectUtil.isEmpty(qzzSize)) { throw new BadRequestException("气涨轴规格不能为空!"); } - String[] split = qzzSize.split("-"); + String qzz= qzzSize.substring(qzzSize.length() - 3); + String[] split = qzz.split("-"); String size = split[0]; String qzz_generation = split[1];