From ad2879667b40149dc5af59d303328b569f5be511 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Wed, 12 Jun 2024 11:24:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=8F=8D=E9=A6=88ACS=E7=AE=A1=E8=8A=AF?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/b_lms/sch/tasks/ProcessTask.java | 6 +- .../tasks/slitter/StockAreaCallTubeTask.java | 58 +++++++++++++++++++ .../wms/ext/acs/rest/WmsToAcsController.java | 6 ++ .../wms/ext/acs/service/WmsToAcsService.java | 5 ++ .../acs/service/impl/WmsToAcsServiceImpl.java | 7 +++ .../mes/service/impl/MesToLmsServiceImpl.java | 6 +- .../main/resources/config/application-dev.yml | 8 +-- 7 files changed, 86 insertions(+), 10 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java index e25dc53d8..d3f686fc2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java @@ -108,7 +108,7 @@ public class ProcessTask extends AbstractAcsTask { String task_type = jsonTask.getString("task_type"); String container_name = jsonTask.getString("material_code"); - if ("010701".equals(task_type)) { + if ("011001".equals(task_type)) { //维护冷却区满轴点位的库存 JSONObject cool_jo1 = ivtTab.query("full_point_code = '" + point_code1 + "'").uniqueResult(0); String full_vehicle_code = cool_jo1.getString("full_vehicle_code"); @@ -129,7 +129,7 @@ public class ProcessTask extends AbstractAcsTask { map3.put("empty_point_status", "02"); ivtTab.update(map3, "empty_point_code = '" + point_code4 + "'"); } - if ("010702".equals(task_type)) { + if ("011002".equals(task_type)) { //维护冷却区满轴点位的库存 JSONObject cool_jo1 = ivtTab.query("full_point_code = '" + point_code1 + "'").uniqueResult(0); String full_vehicle_code = cool_jo1.getString("full_vehicle_code"); @@ -156,7 +156,7 @@ public class ProcessTask extends AbstractAcsTask { map3.put("empty_point_status", "02"); ivtTab.update(map3, "empty_point_code = '" + point_code2 + "'"); } - if ("010704".equals(task_type)) { + if ("011004".equals(task_type)) { //维护表处区点位 JSONObject st_jo1 = stTab.query("up_point_code = '" + point_code1.split("_M")[0] + "'").uniqueResult(0); String full_vehicle_code = st_jo1.getString("up_scroll"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/StockAreaCallTubeTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/StockAreaCallTubeTask.java index 73d186301..33748cd88 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/StockAreaCallTubeTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/StockAreaCallTubeTask.java @@ -5,16 +5,21 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService; +import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle; import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService; import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt; 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.util.SlitterTaskUtil; 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.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; @@ -22,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -38,6 +44,11 @@ public class StockAreaCallTubeTask extends AbstractAcsTask { private IschBaseTaskService taskService; @Autowired private IBstIvtStockingivtService stockingivtService; + @Autowired + private IMdPbPapervehicleService mdPbPapervehicleService; + @Autowired + private WmsToAcsService wmsToAcsService; + @Override public List addTask() { /* @@ -90,6 +101,34 @@ public class StockAreaCallTubeTask extends AbstractAcsTask { startPointObj.setIvt_status("0"); TaskUtils.updateOptMessageByBStockingPoint(startPointObj); stockingivtService.update(startPointObj); + + + //下发ACS点位库存信息 + List list = mdPbPapervehicleService.list(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, task.getVehicle_code())); + String[] material_codes = new String[list.size()]; + String[] material_specs = new String[list.size()]; + int[] qtys = new int[list.size()]; + for (int i = 0; i < list.size(); i++) { + MdPbPapervehicle vehicle = list.get(i); + String material_code = vehicle.getMaterial_code(); + int qty = vehicle.getQty().intValue(); + if (containscode(material_codes, material_code)) { + int index = getIndex(material_codes, material_code); + qtys[index] += qty; + } else { + material_codes[i] = vehicle.getMaterial_code(); + String spec = SlitterTaskUtil.getComposePaperTubeInformation(vehicle.getMaterial_name()); + material_specs[i] = spec; + qtys[i] = qty; + } + } + JSONObject jsonObject = new JSONObject(); + jsonObject.put("to_material", material_codes); + jsonObject.put("to_spec", material_codes); + jsonObject.put("to_qty", qtys); + jsonObject.put("device_code", material_specs); + wmsToAcsService.getTubeMsg(jsonObject); + } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -99,6 +138,25 @@ public class StockAreaCallTubeTask extends AbstractAcsTask { taskService.updateById(task); } + public boolean containscode(String[] names, String name) { + for (String n : names) { + if (name.equals(n)) { + return true; + } + } + return false; + } + + // 获取name在数组中的索引 + public int getIndex(String[] names, String name) { + for (int i = 0; i < names.length; i++) { + if (name.equals(names[i])) { + return i; + } + } + return -1; // 如果找不到返回-1 + } + @Override public String createTask(JSONObject form) { String currentUserId = SecurityUtils.getCurrentUserId(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java index c578a0999..5ef3fd500 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java @@ -134,5 +134,11 @@ public class WmsToAcsController { return new ResponseEntity<>(wmsToAcsService.getWeight(jo), HttpStatus.OK); } + @PostMapping("/getTubeMsg") + @Log(value = "反馈管芯库存信息", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS) + public ResponseEntity getTubeMsg(@RequestBody JSONObject jo) { + return new ResponseEntity<>(wmsToAcsService.getTubeMsg(jo), HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java index ba9debc4e..995e097a0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java @@ -144,4 +144,9 @@ public interface WmsToAcsService { * @return / */ JSONObject getWeight(JSONObject jo); + + JSONObject getTubeMsg(JSONObject jo); + + + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 10815a717..2491a7a6b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -467,4 +467,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { return AcsUtil.notifyAcs(api, arr); } + @Override + public JSONObject getTubeMsg(JSONObject whereJson) { + String api = "api/wms/getTubeMes"; + JSONArray arr = new JSONArray(); + arr.add(whereJson); + return AcsUtil.notifyAcs(api, arr); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index e8d1c6774..12f96f25f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -1540,7 +1540,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { //取满放满 form.put("point_code1", jsonCoolIvt.getString("full_point_code")); form.put("point_code2", device_jo.getString("up_point_code") + "_M"); - form.put("task_type", "010702"); + form.put("task_type", "011002"); form.put("material_code", containerName); form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code")); form.put("product_area", device_jo.getString("product_area")); @@ -1559,7 +1559,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0); form.put("point_code4", jsonIvt.getString("empty_point_code")); } - form.put("task_type", "010701"); + form.put("task_type", "011001"); form.put("material_code", containerName); form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code")); form.put("product_area", device_jo.getString("product_area")); @@ -1577,7 +1577,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { form.put("point_code1", device_jo.getString("up_point_code") + "_M"); //寻找可用的冷却区满轴点位 form.put("point_code2", jsonIvt.getString("full_point_code")); - form.put("task_type", "010704"); + form.put("task_type", "011004"); form.put("material_code", containerName); form.put("vehicle_code", device_jo.getString("up_scroll")); form.put("product_area", device_jo.getString("product_area")); diff --git a/lms/nladmin-system/src/main/resources/config/application-dev.yml b/lms/nladmin-system/src/main/resources/config/application-dev.yml index 660896291..e210c7bec 100644 --- a/lms/nladmin-system/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/src/main/resources/config/application-dev.yml @@ -1,15 +1,15 @@ server: - port: 9999 + port: 8010 #配置数据源 spring: datasource: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy -# url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lms_test2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lzhl_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} - password: ${DB_PWD:12356} + password: ${DB_PWD:NLABC&hl123} # 初始连接数 initial-size: 5 # 最小连接数