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 cf0e2142..7055b90f 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 @@ -28,6 +28,8 @@ import org.nl.wms.product_manage.sch.manage.AbstractAcsTask; import org.nl.wms.product_manage.sch.service.TaskService; import org.nl.wms.product_manage.sch.service.dto.TaskDto; import org.nl.wms.product_manage.sch.tasks.WashMachineryTask; +import org.nl.wms.product_manage.service.device.IPdmBiDeviceService; +import org.nl.wms.product_manage.service.device.dao.PdmBiDevice; import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService; import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder; import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM; @@ -60,6 +62,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ private CacheLineHandService cacheLineHandService; @Autowired private IPdmProduceWorkorderService workorderService; + @Autowired + private IPdmBiDeviceService deviceService; @@ -139,7 +143,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ if (taskHandler!=null){ taskHandler.updateTaskStatus(row,status); } - //发布一个任务执行事件 + //发布一个任务执行事件:服务跟任务不一样,可以同事存在 TaskEvent event = TaskEvent.builder() .task_id(task_id) .task_type(taskDto.getTask_type()) @@ -261,8 +265,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ while (iterator.hasNext()){ String deviceCode = (String)iterator.next(); if (!StringUtils.isEmpty(deviceCode)){ - String qty = String.valueOf(param.get(deviceCode)); - deviceTab.update(MapOf.of("deviceinstor_qty",qty),"device_code = '"+deviceCode+"'"); + Map item = (Map)param.get(deviceCode); + Object qty = item.get("qty"); + Object weight = item.get("weight"); + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.set("deviceinstor_qty",qty); + if (weight!=null){ + wrapper.set("deviceinstor_weight",weight); + } + wrapper.eq("device_code",deviceCode); + deviceService.update(wrapper); } } } 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 50b5c3cd..d67e8937 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 @@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -78,14 +79,17 @@ public class AgvInstService { Map query = MapOf.of("workprocedure_id", basePointService.getWorkprodureByCode(next.getId()).get("workprocedure_id") , "qty", quantity,"spec",workprodure.get("spec")); //判断缓存线是不是去深坑清洗:深坑区域15个点:判断空的物料坑位: + List> collect = new ArrayList<>(); if (next.getName().equals("深坑清洗")){ - query.put("material_id",task.getString("material_id")); -// query.put("qty",quantity) 深坑物料需要转重量 task.put("task_type",AcsTaskEnum.TASK_PRODUCT_WASH.getCode()); task.put("task_name",AcsTaskEnum.TASK_PRODUCT_WASH.getDesc()); - + query.put("material_id",task.getString("material_id")); +// query.put("qty",quantity) 深坑物料需要转重量 + collect = deviceService.workproceduceDevicesWeight(query); + }else { + collect = deviceService.workproceduceDevicesQty(query); } - List> collect = deviceService.workproceduceDevices(query); + log.info("调度任务分配点位信息:", JSON.toJSONString(collect)); List> list = collect.stream().filter(stringStringMap -> stringStringMap.get("tasks") == null || stringStringMap.get("materials").contains(task.getString("material_id"))).collect(Collectors.toList()); task.put("acs_task_type",AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/device/SpecialDeviceController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/device/SpecialDeviceController.java index 18519171..159e64c8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/device/SpecialDeviceController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/device/SpecialDeviceController.java @@ -46,6 +46,7 @@ public class SpecialDeviceController { @GetMapping("/query") @ApiOperation("查询生产设备") + @Log("深坑物料") @SaIgnore public ResponseEntity query(DeviceQuery query,PageQuery page) { Page> list = iDeviceService.pageMaps(page.build(PdmBiDevice.class), query.build()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeEmpTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeEmpTask.java index fccbbd3a..a429274c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeEmpTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/tasks/SpeMachinery/SpeEmpTask.java @@ -202,7 +202,6 @@ public class SpeEmpTask extends AbstractAcsTask { if (!("fall_finish"+task.getTask_id()).equals(device.getRemark())){ iDeviceService.update(new UpdateWrapper() .set("material_id", task.getMaterial_id()) - .set("deviceinstor_qty",device.getDeviceinstor_qty().add(task.getMaterial_qty())) .set("remark","fall_finish"+task.getTask_id()) .eq("device_code", task.getPoint_code2())); } 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 a55be15b..4d1925b6 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 @@ -265,7 +265,6 @@ public class SpeFullTask extends AbstractAcsTask { if (!("fall_finish"+task.getTask_id()).equals(one.getRemark())){ deviceService.update(new UpdateWrapper() .set("material_id", task.getMaterial_id()) - .set("deviceinstor_qty",one.getDeviceinstor_qty().add(task.getMaterial_qty())) .set("remark","fall_finish"+task.getTask_id()) .eq("device_code", task.getPoint_code2())); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/IPdmBiDeviceService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/IPdmBiDeviceService.java index 9428e420..28a021ee 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/IPdmBiDeviceService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/IPdmBiDeviceService.java @@ -25,7 +25,8 @@ public interface IPdmBiDeviceService extends IService { * @param param * @return */ - List workproceduceDevices(Map param); + List workproceduceDevicesQty(Map param); + List workproceduceDevicesWeight(Map param); /** * 根据点位查询对应设备 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/PdmBiDevice.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/PdmBiDevice.java index 9e3e4f69..4744105d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/PdmBiDevice.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/PdmBiDevice.java @@ -98,6 +98,7 @@ public class PdmBiDevice implements Serializable { * 设备实时来料仓数:用于数量校验 */ private BigDecimal deviceinstor_qty; + private BigDecimal deviceinstor_weight; /** * 设备实时产品仓数 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.java index 115bc281..d860d200 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/device/dao/mapper/PdmBiDeviceMapper.java @@ -19,7 +19,9 @@ public interface PdmBiDeviceMapper extends BaseMapper { List getNotWorkDevice(Map query); - List workproceduceDevices(Map query); + List workproceduceDevicesQty(Map query); + + List workproceduceDevicesWeight(Map query); PdmBiDevice getDeviceByPoint(String pointCode); } 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 dda8af9f..72d62b99 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 @@ -18,7 +18,7 @@ from PDM_produce_workOrder o where '5' > o.workorder_status and o.is_delete = '0' ) - select GROUP_CONCAT(sch_base_task.task_id) as tasks,GROUP_CONCAT(sch_base_task.material_id) as materials, pdm_bi_device.inupperlimit_qty - ifnull( sum( sch_base_task.material_qty ), 0 ) - pdm_bi_device.deviceinstor_qty AS currentQty, @@ -39,6 +39,30 @@ GROUP BY pdm_bi_device.device_code HAVING currentQty > #{qty} + + +