From 8249664844dd032a3586da50197f41cec40dafaf Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Fri, 27 Oct 2023 15:38:10 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=BA=BA=E5=B7=A5=E5=88=86=E6=8B=A3?= =?UTF-8?q?=E4=B8=8E=E8=87=AA=E5=8A=A8=E5=88=86=E6=8B=A3=E4=B8=80=E6=A0=B7?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/config/lucene/LogMessageConstant.java | 2 +- .../material/service/dao/MdBaseMaterial.java | 3 ++ .../dao/mapper/MdBaseMaterialMapper.xml | 41 ++++++++-------- .../task_manage/task/tasks/fj/FJMKTask.java | 4 +- .../task_manage/task/tasks/fj/FJRKTask.java | 48 ++++++++++++------- .../src/test/java/org/nl/point/test.java | 15 +++--- .../views/wms/sch/group/MaterialDialog.vue | 1 + 7 files changed, 64 insertions(+), 50 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java index c2fc8e5..14ddcca 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java @@ -41,6 +41,6 @@ public class LogMessageConstant { /** 背景颜色:黄色 */ public final static String BACKGROUND_YELLOW = "\u001B[43m"; /** 索引路径 */ - public final static String INDEX_DIR = "D:\\lucene\\index"; + public final static String INDEX_DIR = "E:\\lucene\\index"; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java index 0c18abd..d093aec 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java @@ -1,6 +1,7 @@ package org.nl.wms.database.material.service.dao; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; @@ -126,4 +127,6 @@ public class MdBaseMaterial implements Serializable { private String pack_method; private String pack_directsize; private String draw_address; + @TableField(exist = false) + private String total_material_qty; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/mapper/MdBaseMaterialMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/mapper/MdBaseMaterialMapper.xml index aba29b8..844091d 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/mapper/MdBaseMaterialMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/mapper/MdBaseMaterialMapper.xml @@ -9,28 +9,31 @@ vg.group_bind_material_status, p.region_code, p.point_status, - ROW_NUMBER() OVER (PARTITION BY mm.material_id ORDER BY mm.material_id) AS row_num + SUM(vg.material_qty) OVER (PARTITION BY mm.material_code) AS total_material_qty, + ROW_NUMBER() OVER ( PARTITION BY mm.material_id ORDER BY mm.material_id ) AS row_num FROM `md_base_material` mm LEFT JOIN sch_base_vehiclematerialgroup vg ON vg.material_id = mm.material_id LEFT JOIN sch_base_point p ON p.vehicle_code = vg.vehicle_code AND p.vehicle_type = vg.vehicle_type - LEFT JOIN pdm_bd_workorder wo ON wo.region_code = 'FJ' AND wo.material_id = mm.material_id AND wo.workorder_status = '3' - WHERE vg.group_bind_material_status = '2' AND p.region_code = 'GTPHC' AND p.point_status = '3' AND wo.workorder_code IS NOT NULL - - AND (mm.material_code LIKE '%${query.blurry}%' OR mm.material_name LIKE '%${query.blurry}%') - - ) - SELECT - CTE.material_id, - CTE.material_code, - CTE.material_name, - CTE.material_spec, - CTE.half_material_code, - CTE.raw_material_code, - CTE.standing_time, - CTE.update_name, - CTE.update_time - FROM CTE - WHERE row_num = 1 + WHERE + vg.group_bind_material_status = '2' + AND p.region_code = 'GTPHC' + AND p.point_status = '3' + ) SELECT + CTE.material_id, + CTE.material_code, + CTE.material_name, + CTE.material_spec, + CTE.total_material_qty, + CTE.half_material_code, + CTE.raw_material_code, + CTE.standing_time, + CTE.update_name, + CTE.update_time + FROM + CTE + WHERE + row_num = 1 + ORDER BY CTE.total_material_qty DESC diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java index 81efeb1..7da294a 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java @@ -375,9 +375,7 @@ public class FJMKTask extends AbstractTask { workorderService.updateById(workorder); } // 分拣机械手: 清空 - PointUtils.setUpdateByType(fjcPointObj, taskFinishedType); - PointUtils.clearPoint(fjcPointObj); - if (ObjectUtil.isNotEmpty(fmPointObj)) { + if (ObjectUtil.isNotEmpty(fjcPointObj)) { // 机械手对接位: 赋值 fjcPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode()); fjcPointObj.setVehicle_qty(1); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java index 733c67e..706cd3d 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java @@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -101,8 +102,6 @@ public class FJRKTask extends AbstractTask { .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); String requestParam = task.getRequest_param();// 任务的其他数据 JSONObject jsonObject = JSONObject.parseObject(requestParam); - String workOrderCode = jsonObject.getString("workorder_code"); // 工单 - PdmBdWorkorder workorder = workorderService.getByCode(workOrderCode); TaskUtils.setUpdateByAcs(task); List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")).collect(Collectors.toList()); List startRegionStr = Arrays.stream(taskConfig.getStart_region_str().split(",")).collect(Collectors.toList()); @@ -115,18 +114,9 @@ public class FJRKTask extends AbstractTask { throw new BadRequestException("找不到可用的包装位!"); } task.setPoint_code2(packagePoint.getPoint_code()); - // 1 剩余量 - Integer surplusQuantity = jsonObject.getInteger("surplus_quantity"); // 码垛上剩余数量 - // 2 获取库存量 surplusNumber - int surplusNumber = fjMapper.getInventoryQuantity(workorder.getMaterial_id()); - // 3 现有总数 total - int total = surplusNumber + surplusQuantity; - // 4 获取木托盘需要多少块 needFullNumber - String needFullNumberStr = fjMapper.getNeedFullNumber(workorder.getMaterial_id()); - int needFullNumber = TaskUtils.convertMultiply(needFullNumberStr); // 5 校验是否够码满一托 - // 大于等于1就可以码 - if (total/needFullNumber >= 1) { + boolean enoughCallEmpty = workorderService.isEnoughCallEmpty(task.getPoint_code1()); + if (enoughCallEmpty) { /** 覆膜机木托盘位 */ SchBasePoint LaminatePoint = findStartPoint(startRegionStr, jsonObject); if (ObjectUtil.isEmpty(LaminatePoint)) { @@ -301,17 +291,22 @@ public class FJRKTask extends AbstractTask { } public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { + String requestParam = taskObj.getRequest_param(); + JSONObject jsonObject = JSONObject.parseObject(requestParam); + String workorderCode = jsonObject.getString("workorder_code"); + PdmBdWorkorder workorder = workorderService.getByCode(workorderCode); // 获取参数 String endPoint = taskObj.getPoint_code2(); // 获取终点 - String startPoint = taskObj.getPoint_code1(); // 获取终点 - SchBasePoint startPointObj = pointService.getById(startPoint); + String fjcPoint = taskObj.getPoint_code4(); // 获取起点 + String fmPoint = taskObj.getPoint_code3(); // 获取覆膜机 + SchBasePoint fjcPointObj = pointService.getById(fjcPoint); SchBasePoint endPointObj = pointService.getById(endPoint); + SchBasePoint fmPointObj = pointService.getById(fmPoint); // 设置载具类型、点位状态、释放点位 if (ObjectUtil.isNotEmpty(endPoint)) { endPointObj.setIng_task_code(""); PointUtils.setUpdateByType(endPointObj, taskFinishedType); pointService.updateById(endPointObj); - // 组盘设置已经解绑 SchBaseVehiclematerialgroup vehicleMaterialGroupObj = vehiclematerialgroupService.getById(taskObj.getGroup_id()); @@ -322,8 +317,25 @@ public class FJRKTask extends AbstractTask { TaskUtils.setGroupUpdateByType(vehicleMaterialGroupObj, taskFinishedType); vehiclematerialgroupService.updateById(vehicleMaterialGroupObj); } - PointUtils.setUpdateByType(startPointObj, taskFinishedType); - PointUtils.clearPoint(startPointObj); + if (ObjectUtil.isNotEmpty(fmPointObj)) { + // 覆膜位: 解锁 . 清空 + PointUtils.setUpdateByType(fmPointObj, taskFinishedType); + PointUtils.clearPoint(fmPointObj); + // 工单的真实数+1 + workorder.setReal_qty(workorder.getReal_qty().add(BigDecimal.ONE)); + TaskUtils.setWorkOrderUpdateByType(workorder, taskFinishedType); + workorderService.updateById(workorder); + } + // 分拣机械手: 清空 + if (ObjectUtil.isNotEmpty(fjcPointObj)) { + // 机械手对接位: 赋值 + fjcPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode()); + fjcPointObj.setVehicle_qty(1); + fjcPointObj.setVehicle_type(taskObj.getVehicle_type()); + fjcPointObj.setVehicle_code(taskObj.getVehicle_code2()); // 拿过来的载具编码 + PointUtils.setUpdateByType(fjcPointObj, taskFinishedType); + pointService.updateById(fjcPointObj); + } taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark(GeneralDefinition.TASK_FINISH); taskObj.setFinished_type(taskFinishedType.getCode()); diff --git a/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java b/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java index e14074c..e3d7e0f 100644 --- a/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java +++ b/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java @@ -72,16 +72,13 @@ public class test { @Test void test03() { - try { - for (int i = 0; i < 5; i++) { - System.out.println(i); - if (i==3) { - throw new RuntimeException("1"); - } - } - } catch (Exception e) { - System.out.println(e.getMessage()); + String[] parts = "168".split("\\*"); // 使用 "*" 来分割字符串 + int result = 1; // 初始化结果为1 + for (String part : parts) { + int number = Integer.parseInt(part); // 将字符串部分解析为整数 + result *= number; // 将解析的整数与结果相乘 } + System.out.println(result); } @Test diff --git a/lms/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue b/lms/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue index a0f75cb..cb6acb5 100644 --- a/lms/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue +++ b/lms/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue @@ -54,6 +54,7 @@ +