From 87ca2d32d60bfdc6803fd54c295a1de0e56d6700 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Thu, 25 May 2023 19:44:48 +0800 Subject: [PATCH] =?UTF-8?q?add:=E4=BF=AE=E6=94=B9=E8=B0=83=E5=BA=A6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 22 ++-- .../ext/acs/service/impl/AgvInstService.java | 16 ++- .../acs/service/impl/WmsToAcsServiceImpl.java | 4 +- .../sch/tasks/SpeMachinery/SpeFullTask.java | 2 +- .../sch/tasks/TaskScheduleService.java | 102 ++++++++++-------- .../device/dao/mapper/PdmBiDeviceMapper.xml | 2 +- .../workorder/dao/PdmProduceWorkorder.java | 4 - .../impl/IPdmProduceWorkorderServiceImpl.java | 4 +- .../service/task/dao/SchBaseTask.java | 4 + .../src/main/resources/scheduler.xml | 4 +- .../product_manage/workorder/ViewDialog.vue | 2 +- .../wms/product_manage/workorder/index.vue | 16 +-- 12 files changed, 102 insertions(+), 80 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 34ed7a8a..64469ce9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils; import lombok.extern.slf4j.Slf4j; import org.nl.common.enums.AcsTaskEnum; import org.nl.common.enums.StatusEnum; +import org.nl.common.enums.WorkerOrderEnum; import org.nl.common.utils.IdUtil; import org.nl.common.utils.MapOf; import org.nl.common.utils.OptionRecord; @@ -74,12 +75,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ return result; } - public static void main(String[] args) { - ArrayList list = new ArrayList<>(); - list.forEach(a->{ - a.getClass(); - }); - } /** * 更新缓存线的点位实时任务信息 @@ -142,9 +137,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ } // 任务处理类 try { - Class clz = Class.forName(processing_class); - Object obj = clz.newInstance(); - // 调用每个任务类的forceFinishInst()强制结束方法 + Object obj = SpringContextHolder.getBean(Class.forName(processing_class)); Method m = obj.getClass().getDeclaredMethod("updateTaskStatus", JSONObject.class, String.class); m.invoke(obj, row, status); } catch (InvocationTargetException e) { @@ -210,8 +203,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ PdmProduceWorkorder workorder = new PdmProduceWorkorder(); workorder.setWorkorder_id(orderJson.getString("workorder_id")); workorder.setWorkorder_status(orderJson.getString("status")); - workorder.setDq_real_qty(orderJson.getBigDecimal("real_qty")); - workorder.setRealproduceend_date(DateUtil.now()); + if (orderJson.getBigDecimal("real_qty") != null){ + workorder.setDq_real_qty(orderJson.getBigDecimal("real_qty")); + } + if (orderJson.getString("status").equals(WorkerOrderEnum.PRODUCTING.getCode())){ + workorder.setRealproducestart_date(DateUtil.now()); + } + if (orderJson.getString("status").equals(WorkerOrderEnum.COMPLETE.getCode())){ + workorder.setRealproduceend_date(DateUtil.now()); + } workorderService.updateById(workorder); } catch (Exception e){ result.put("status", 400); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java index 5d663f2c..e6f4f214 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.nl.common.enums.AcsTaskEnum; import org.nl.common.enums.StatusEnum; import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; @@ -70,14 +71,17 @@ public class AgvInstService { String quantity = task.getString("material_qty"); //获取当前生产工序下一道工序 Map workprodure = basePointService.findDeviceWorkprodure(task.getString("point_code1")); - FlowElement next = getFlowElement(task,workprodure).next(); + FlowElement currentFlow = getFlowElement(task, workprodure); + FlowElement next = currentFlow.next(); Map query = MapOf.of("workprocedure_id", basePointService.getWorkprodureByCode(next.getId()).get("workprocedure_id") , "qty", quantity); //判断缓存线是不是去深坑清洗:深坑区域15个点:判断空的物料坑位: if (next.getName().equals("深坑清洗")){ query.put("material_id",task.getString("material_id")); +// query.put("qty",quantity) 深坑物料需要转重量 } + List> list = deviceService.workproceduceDevices(query); String nextPoint = null; @@ -85,10 +89,11 @@ public class AgvInstService { if (!CollectionUtils.isEmpty(list)){ nextPoint = list.get(0).get("point_code"); }else { - if (next.getParams().get("cacheLine") == null){ + if (currentFlow.getParams().get("cacheLine") == null){ throw new BadRequestException("当前任务下一道工序无可用设备"); } - nextPoint = getParamByXml(workprodure, next, nextPoint); + nextPoint = getParamByXml(workprodure, currentFlow, nextPoint); + task.put("acs_task_type",AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK.getCode()); cacheVehile = getCacheVehile(nextPoint, null); } @@ -101,7 +106,7 @@ public class AgvInstService { .set("lock_type",StatusEnum.LOCK_ON.getCode()).set("task_id",task.getString("task_id")).eq("point_code",nextPoint)); SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class); - schBaseTask.setVehicle_code(cacheVehile); + schBaseTask.setBarcodeArr(cacheVehile); schBaseTask.setPoint_code2(nextPoint); schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode()); schBaseTask.setUpdate_time(new Date()); @@ -161,8 +166,9 @@ public class AgvInstService { throw new BadRequestException(String.format("缓存线%s上含物料%s的载具已分配完",startPoint,task.getString("material_id"))); } SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class); - schBaseTask.setVehicle_code(cacheVehile); + schBaseTask.setBarcodeArr(cacheVehile); schBaseTask.setPoint_code1(startPoint); + schBaseTask.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode()); schBaseTask.setPoint_code3(startPoint); schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode()); schBaseTask.setUpdate_time(new Date()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index f36c814a..6d279131 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -32,8 +32,10 @@ public class WmsToAcsServiceImpl implements WmsToAcsService{ , "next_point_code", task.getString("point_code3")//空盘返回点 , "task_group_id", StringUtils.isBlank(task.getString("task_group_id"))? IdUtil.getStringId():task.getString("task_group_id") , "priority", task.getString("priority") - , "is_send", task.getString("is_send") + , "is_send", task.getBoolean("is_send")?"1":"0" , "vehicle_code", task.getString("vehicle_code") + , "barcodeArr", task.getString("barcodeArr") + , "proprity_floor", "2" , "agv_system_type", task.getString("agv_system_type") )); form.add(param); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeFullTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeFullTask.java index bb62bc4d..cb074327 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeFullTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeFullTask.java @@ -65,11 +65,11 @@ public class SpeFullTask extends AbstractAcsTask { @Override @Transactional public void updateTaskStatus(JSONObject param,String status) { - WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); log.info(InterfaceLogType.ACS_TO_LMS.getDesc()); // 指令执行中 SchBaseTask task = taskService.getById(param.getString("task_id")); AcsTaskEnum taskType = AcsTaskEnum.getType(task.getTask_type(),"TASK_"); + pointService.update(new UpdateWrapper().set("lock_type","0").in("point_code",task.getPoint_code1(),task.getPoint_code2(),task.getPoint_code3())); try { SpeHandles.get(taskType.name()).handle(param,status,task); }catch (Exception ex){ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/TaskScheduleService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/TaskScheduleService.java index 4d7cb4d6..4cbfde32 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/TaskScheduleService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/TaskScheduleService.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; 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.apache.commons.lang3.StringUtils; @@ -14,10 +15,14 @@ import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService; +import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask; import org.springframework.http.HttpStatus; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.lang.reflect.Method; import java.util.*; @@ -34,7 +39,9 @@ import java.util.stream.Collectors; public class TaskScheduleService { private ReentrantLock lock = new ReentrantLock(); + private final WmsToAcsService wmsToAcsService; + private final ISchBaseTaskService taskService; @Scheduled(cron = "0/30 * * * * ?") public void taskPublish(){ @@ -43,64 +50,62 @@ public class TaskScheduleService { if (islock){ WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); //查询所有自动下发的任务 - JSONArray all = taskTable.query("is_auto_issue = '1' and task_status < '" + StatusEnum.TASK_PUBLISH.getCode() + "'").getResultJSONArray(0); + List all = taskService.list(new QueryWrapper().eq("is_auto_issue", "1").lt("task_status", StatusEnum.TASK_PUBLISH.getCode())); //进行起点终点确认: if (all.size() == 0){ return; } log.info("TaskScheduleService#taskPublish all_task:{}",all.size()); - Iterator iterator = all.iterator(); + Iterator iterator = all.iterator(); while (iterator.hasNext()){ - JSONObject task = (JSONObject)iterator.next(); - if (task.getString("task_status").equals(StatusEnum.TASK_START_END_P.getCode())){ + SchBaseTask task =iterator.next(); + if (task.getTask_status().equals(StatusEnum.TASK_START_END_P.getCode())){ continue; } try { - Class clz = Class.forName(task.getString("handle_class")); - Object obj = clz.newInstance(); + Object obj = SpringContextHolder.getBean(Class.forName(task.getHandle_class())); // 调用每个任务类的forceFinishInst()强制结束方法 Method m = obj.getClass().getDeclaredMethod("pointConfirm", JSONObject.class, String.class); m.invoke(obj,task); - task.put("task_type", StatusEnum.TASK_START_END_P.getCode()); + task.setTask_type(StatusEnum.TASK_START_END_P.getCode()); }catch (Exception ex){ - task.put("task_type", StatusEnum.TASK_START_ERROR.getCode()); - task.put("remark",ex.getMessage()); - task.put("update_time",DateUtil.now()); - taskTable.update(task); + task.setTask_type(StatusEnum.TASK_START_ERROR.getCode()); + task.setRemark(ex.getMessage()); + task.setUpdate_time(new Date()); + taskService.updateById(task); iterator.remove(); } } //分区域:不同区域调用不同acs接口 - Map> areaCollent = all.stream().collect(Collectors.groupingBy(o -> ((JSONObject) o).getString("product_area"))); + Map> areaCollent = all.stream().collect(Collectors.groupingBy(SchBaseTask::getProduct_area)); for (String area : areaCollent.keySet()) { - List array = areaCollent.get(area); + List array = areaCollent.get(area); if (array.size()>0){ - String pointCollect = array.stream().map(o -> ((JSONObject) o).getString("point_code1") + "','" + ((JSONObject) o).getString("point_code2")).collect(Collectors.joining("','")); + String pointCollect = array.stream().map(a->a.getPoint_code1() + "','" + a.getPoint_code2()).collect(Collectors.joining("','")); JSONArray needMergeCollect = WQL.getWO("sch_point").addParamMap(MapOf.of("flag", "5", "point_codes", "'" + pointCollect + "'")).process().getResultJSONArray(0); //区域编号对应point_code Map> pointRegionCollent = needMergeCollect.stream().collect(Collectors.groupingBy(o -> ((JSONObject) o).getString("point_code"))); Set mergePointCollent = needMergeCollect.stream().map(item -> ((JSONObject) item).getString("point_code")).collect(Collectors.toSet()); //合并下发的任务 - List notMerge = new ArrayList<>();//单独下发的任务 - List Merge = new ArrayList<>();//单独下发的任务 - List waitingTask = new ArrayList<>();//可合并,但是只有单条任务 - Map taskGroupMap = array.stream().filter(a-> StringUtils.isNotEmpty(((JSONObject)a).getString("task_group_id"))).collect(HashMap::new, (k, v) -> k.put(((JSONObject)v).getString("task_id"), ((JSONObject)v).getString("task_group_id")), HashMap::putAll); - - for (Object o : array) { + List notMerge = new ArrayList<>();//单独下发的任务 + List Merge = new ArrayList<>();//单独下发的任务 + List waitingTask = new ArrayList<>();//可合并,但是只有单条任务 + //Map taskGroupMap = array.stream().filter(a-> StringUtils.isNotEmpty(a.getTask_group_id())).collect(HashMap::new, (k, v) -> k.put(v.getTask_id(), v.getTask_group_id()), HashMap::putAll); + Map taskGroupMap = new HashMap<>(); + for (SchBaseTask task : array) { String taskGroupId = IdUtil.getStringId(); - JSONObject task = (JSONObject) o; - String taskId = task.getString("task_id"); - task.put("is_send","1"); + String taskId = task.getTask_id(); + task.setIs_send(true); if (taskGroupMap.get(taskId) != null){ - task.put("task_group_id",taskGroupMap.get(taskId)); - task.put("is_send","0"); + task.setTask_group_id(taskGroupMap.get(taskId)); + task.setIs_send(false); Merge.add(task); continue; } - String start = task.getString("point_code1"); - String end = task.getString("point_code2"); + String start = task.getPoint_code1(); + String end = task.getPoint_code2(); taskGroupMap.put(taskId,taskGroupId); - task.put("task_group_id",taskGroupId); + task.setTask_group_id(taskGroupId); //如果点位不属于查询出来可以合并点位集合:则单独下发集合 if (!mergePointCollent.contains(start) && !mergePointCollent.contains(end)){ notMerge.add(task); @@ -120,27 +125,33 @@ public class TaskScheduleService { } //开始下发:处理waitingTask:如果创建时间>2分钟:则改单独下发 if (waitingTask.size()>0){ - List needPublish = waitingTask.stream().filter(a -> DateUtil.between(new Date(),DateUtil.parseDateTime(((JSONObject)a).getString("create_time") ), DateUnit.MINUTE) >2 ).collect(Collectors.toList()); + List needPublish = waitingTask.stream().filter(a -> DateUtil.between(new Date(),a.getCreate_time(), DateUnit.MINUTE) >2 ).collect(Collectors.toList()); notMerge.addAll(needPublish); } - String notMergeID = notMerge.stream().map(a -> ((JSONObject) a).getString("task_id")).collect(Collectors.joining(",")); - String waitingTaskId = waitingTask.stream().map(a -> ((JSONObject) a).getString("task_id")).collect(Collectors.joining(",")); - String MergeId = Merge.stream().map(a -> ((JSONObject) a).getString("task_id")).collect(Collectors.joining(",")); + String notMergeID = notMerge.stream().map(a -> a.getTask_id()).collect(Collectors.joining(",")); + String waitingTaskId = waitingTask.stream().map(a -> a.getTask_id()).collect(Collectors.joining(",")); + String MergeId = Merge.stream().map(a -> a.getTask_id()).collect(Collectors.joining(",")); log.info("TaskScheduleService#taskPublish notMerge:{},waitingTask:{},merge:{}",notMergeID,waitingTaskId,MergeId); notMerge.forEach(a->{ - ((JSONObject)a).put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode()); + a.setIs_send(true); + if (a.getAcs_task_type().equals(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_TASK.getCode())){ + a.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode()); + } + if (a.getAcs_task_type().equals(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK.getCode())){ + a.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK.getCode()); + } }); Merge.addAll(notMerge); - JSONArray jsonArray = new JSONArray(Merge); //批量更新任务状态,is_send,task_group_id - for (Object task : Merge) { - JSONObject task1 = (JSONObject) task; - task1.put("update_name","schedule"); - task1.put("update_time",DateUtil.now()); - taskTable.update(task1,"task_id = '"+task1.getString("task_id")+"'"); + JSONArray arr = new JSONArray(); + for (SchBaseTask task : Merge) { + task.setUpdate_name("schedule"); + task.setUpdate_time(new Date()); + taskService.updateById(task); + arr.add(JSONObject.toJSON(task)); } //缓存线任务待确认是否生成多个 - Map resp = wmsToAcsService.issueTaskToAcs(jsonArray); + Map resp = wmsToAcsService.issueTaskToAcs(arr); // if (((int)resp.get("status")) == (HttpStatus.BAD_REQUEST.value())){ // Object errArr = resp.get("errArr"); // throw new BadRequestException(String.valueOf(resp.get("message"))); @@ -156,7 +167,7 @@ public class TaskScheduleService { } - private String getMergePoint(Map> pointRegionCollent, String start,String end,List tasks,List taskIds) { + private String getMergePoint(Map> pointRegionCollent, String start,String end,List tasks,List taskIds) { String findpoint = findpoint(pointRegionCollent, start, tasks, taskIds); if (findpoint == null){ findpoint = findpoint(pointRegionCollent, end, tasks, taskIds); @@ -164,15 +175,18 @@ public class TaskScheduleService { return findpoint; } - private String findpoint(Map> pointRegionCollent, String start, List tasks, List taskIds) { + private String findpoint(Map> pointRegionCollent, String start, List tasks, List taskIds) { List objects = pointRegionCollent.get(start); + if (CollectionUtils.isEmpty(objects)){ + return null; + } JSONObject startPointInfo = (JSONObject) objects.get(0); String startPointCollent = startPointInfo.getString("pointcollent"); String[] split = startPointCollent.split(","); for (String s : split) { - Optional any = tasks.stream().filter(a -> ((JSONObject) a).getString("point_code1").equals(s) && !taskIds.contains(((JSONObject) a).getString("task_id"))).findAny(); + Optional any = tasks.stream().filter(a -> a.getPoint_code1().equals(s) && !taskIds.contains((a.getTask_id()))).findAny(); if (any.isPresent()){ - return ((JSONObject)any.get()).getString("task_id"); + return any.get().getTask_id(); } } return null; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.xml index 17efe475..d7142872 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.xml @@ -28,7 +28,7 @@ left join pdm_bi_device on pdm_bi_device.device_code = sch_base_point.device_code left JOIN sch_base_task ON sch_base_point.point_code = point_code2 and '7' > task_status where - sch_base_point.point_type = '4' + sch_base_point.point_type = '4' and pdm_bi_device.is_used = true and sch_base_point.lock_type = '0' and workprocedure_id = #{workprocedure_id} and (pdm_bi_device.material_id = #{material_id} or pdm_bi_device.material_id is null ) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorder.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorder.java index 9d43749c..128ff135 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorder.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorder.java @@ -220,10 +220,6 @@ public class PdmProduceWorkorder implements Serializable { * 完工时间 */ private String confirm_time; - /** - * 自增序号 - */ - private Integer seq_number; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java index fb20ee9f..c5296326 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java @@ -512,7 +512,7 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl() .eq("device_code", param.getString("device_code")) - .in("workorder_status", "2", "3", "4") + .in("workorder_status", "3", "4") .ne("workorder_id", param.getString("workorder_id"))); if (ObjectUtil.isNotEmpty(result)) { throw new BadRequestException("已有工单选择该设备开工,请更换开工设备!"); @@ -526,7 +526,7 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl().eq("workorder_id", param.getString("workorder_id"))); workOrder.setWorkorder_status(WorkerOrderEnum.PRODUCTING.getCode()); if (((int) resp.get("status")) == (HttpStatus.BAD_REQUEST.value())) { - throw new BadRequestException(String.valueOf(resp.get("message"))); + throw new BadRequestException(resp.get("message")!=null?String.valueOf(resp.get("message")):"acs反馈异常"); } workOrder.setReal_qty(null); this.update(workOrder, new QueryWrapper().eq("workorder_id", param.getString("workorder_id"))); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/SchBaseTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/SchBaseTask.java index 4a6eb419..67c86878 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/SchBaseTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/SchBaseTask.java @@ -117,6 +117,10 @@ public class SchBaseTask implements Serializable { * 载具编码1 */ private String vehicle_code; + /** + * 缓存线专用字段 + */ + private String barcodeArr; /** * 载具编码2 diff --git a/mes/hd/nladmin-system/src/main/resources/scheduler.xml b/mes/hd/nladmin-system/src/main/resources/scheduler.xml index 87f97807..62cc0d57 100644 --- a/mes/hd/nladmin-system/src/main/resources/scheduler.xml +++ b/mes/hd/nladmin-system/src/main/resources/scheduler.xml @@ -19,8 +19,8 @@ - - + + diff --git a/mes/qd/src/views/wms/product_manage/workorder/ViewDialog.vue b/mes/qd/src/views/wms/product_manage/workorder/ViewDialog.vue index 03a686ed..06b79fdf 100644 --- a/mes/qd/src/views/wms/product_manage/workorder/ViewDialog.vue +++ b/mes/qd/src/views/wms/product_manage/workorder/ViewDialog.vue @@ -68,7 +68,7 @@ style="width: 200px;" /> - + {{ scope.row.workorder_code }} - + @@ -396,21 +396,21 @@ - + - - - + + +