From 0fc22f8885775afcec75b2b668b79f77ebb5b767 Mon Sep 17 00:00:00 2001 From: baoge <751575283@qq.com> Date: Wed, 20 Mar 2024 17:19:36 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=A2=9E=E5=8A=A0=E8=A3=85=E7=AE=B1?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E4=BD=8D=E6=A1=81=E6=9E=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=B0=BE=E5=8D=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sch/tasks/first_floor_area/ZxqTask.java | 31 ++++++++++++++++++- .../nl/common/enums/PackageInfoIvtEnum.java | 1 + 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index 20e8148de..53afb9970 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -5,6 +5,7 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; @@ -13,11 +14,14 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproducti import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; +import org.nl.b_lms.pdm_manage.enums.SUBEnum; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dto.SchBaseTaskVO; import org.nl.b_lms.sch.task.service.IschBaseTaskService; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; @@ -28,7 +32,9 @@ import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -53,6 +59,9 @@ public class ZxqTask extends AbstractAcsTask { @Resource private IpdmBiSubpackagerelationService subpackageRelationService; + @Resource + private IBstIvtBoxinfoService iBstIvtBoxinfoService; + @Resource private IPdmBiSlittingproductionplanService productionPlanService; private final String THIS_CLASS = ZxqTask.class.getName(); @@ -117,14 +126,34 @@ public class ZxqTask extends AbstractAcsTask { PdmBiSubpackagerelation pdmBiSubpackagerelation = subpackageRelationService .getOne(new LambdaUpdateWrapper().eq(PdmBiSubpackagerelation::getContainer_name, schBaseTask.getVehicle_code()), false); if (pdmBiSubpackagerelation != null) { - //查询目标点位信息 + // 装箱区点位,获取装箱区所在区块 BstIvtPackageinfoivt zxqPoint = packageinfoivtService.getOne(new LambdaUpdateWrapper().eq(BstIvtPackageinfoivt::getPoint_code, schBaseTask.getPoint_code2())); //查询装箱对接位的木箱号和区域与子卷对应的木箱号与区域是否匹配 + //装箱对接位的container_name存的是木箱号 BstIvtPackageinfoivt zxdjwPoint = packageinfoivtService.getOne(new LambdaUpdateWrapper() .eq(BstIvtPackageinfoivt::getContainer_name, pdmBiSubpackagerelation.getPackage_box_sn()).eq(BstIvtPackageinfoivt::getBlock, zxqPoint.getBlock())); if (zxdjwPoint != null) { //创建搬运任务到装箱位 JSONObject jo = new JSONObject(); + //该子卷改为包装关系 + pdmBiSubpackagerelation.update(new UpdateWrapper().set("status", SUBEnum.STATUS.code("包装"))); + BstIvtBoxinfo boxInfo = iBstIvtBoxinfoService.getOne(new LambdaQueryWrapper().eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn()), false); + if (boxInfo == null) { + throw new BadRequestException("待检区 -> 装箱区,子卷所属的木箱信息不能为空!"); + } + List containerList = subpackageRelationService.list(new LambdaQueryWrapper().eq(PdmBiSubpackagerelation::getPackage_box_sn, pdmBiSubpackagerelation.getPackage_box_sn())); + long packagingCount = containerList.stream().filter(r -> r.getStatus().equals(SUBEnum.STATUS.code("包装"))).count(); + // 给桁架任务添加尾卷信息 + if (BigDecimal.valueOf(packagingCount).equals(pdmBiSubpackagerelation.getQuanlity_in_box())) { + JSONObject interactionJson = new JSONObject(); + //是否最后子卷 + interactionJson.put("lastOne", "1"); + //木箱最大子卷数 + interactionJson.put("maxNo", boxInfo.getNum()); + //木箱实际放的子卷数 + interactionJson.put("boxNo", pdmBiSubpackagerelation.getQuanlity_in_box()); + jo.put("interaction_json", interactionJson); + } jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("装箱区->装箱对接位")); jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); jo.put("point_code1", schBaseTask.getPoint_code2()); diff --git a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java index f994ce1d5..bbaf6d270 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java @@ -42,6 +42,7 @@ public enum PackageInfoIvtEnum { //库存状态 IVT_STATUS(MapOf.of("空", "0","空载具", "1","有子卷","2")); + private Map code; public String code(String desc) {