diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index 6f91dcac..675ab41b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; import java.util.Map; /** @@ -74,8 +75,25 @@ public class AcsToWmsController { + @PostMapping("/feedDeviceQty") + @Log("向wms反馈设备实时数量") + @ApiOperation("向wms反馈设备实时数量") + public ResponseEntity feedDeviceRealQty(@RequestBody List param) { + acsToWmsService.feedDevQty(param); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/feedcachelineVe") + @Log("向wms反馈缓存载具信息") + @ApiOperation("向wms反馈缓存载具信息") + public ResponseEntity feedcachelineVe(@RequestBody JSONObject param) { + acsToWmsService.feedcachelineVe(param); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/feedOrderRealQty") - @Log("向wms反订单实施数量") + @Log("向wms反实施数量") @ApiOperation("向wms反订单实施数量") public ResponseEntity feedOrderRealQty(@RequestBody String string) { return new ResponseEntity<>(acsToWmsService.feedOrderRealQty(string), HttpStatus.OK); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index ee6e6825..6e7341a3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -2,6 +2,7 @@ package org.nl.wms.ext.acs.service; import com.alibaba.fastjson.JSONObject; +import java.util.List; import java.util.Map; public interface AcsToWmsService { @@ -49,11 +50,17 @@ public interface AcsToWmsService { /** * ACS给WMS下发工单强制完成状态 - * @param string * @return */ Map orderStatus(JSONObject param); + /** + * 设备实时数量 + * @param param + * @return + */ + void feedDevQty(List param); + /** * ACS给WMS反馈设备状态状态 * @param string @@ -61,6 +68,13 @@ public interface AcsToWmsService { */ Map feedDeviceStatusType(String string); + /** + * acs反馈缓存线载具对应关系 + * 缓存线变化时候全部反馈 + * @param param:{""cacheline_code":"xxx","param":"01_zj001,02_zj002,...""} + */ + void feedcachelineVe(JSONObject param); + /** * ACS给WMS反馈订单实时数量 * @param string 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 ac534556..b84309f4 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,13 +9,14 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.nl.common.anno.Log; import lombok.extern.slf4j.Slf4j; import org.nl.common.enums.AcsTaskEnum; import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.wms.ext.acs.service.AcsToWmsService; +import org.nl.wms.pda.service.CacheLineHandService; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.service.TaskService; import org.nl.wms.sch.service.dto.TaskDto; @@ -23,19 +24,21 @@ import org.nl.wms.sch.service.dto.TaskDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; +import java.util.List; import java.util.Map; @Service +@RequiredArgsConstructor @Slf4j public class AcsToWmsServiceImpl implements AcsToWmsService { - @Autowired - private TaskService taskService; - @Autowired - private AgvInstService agvInstService; + private final TaskService taskService; + private final AgvInstService agvInstService; + private final CacheLineHandService cacheLineHandService; @Override public Map apply(JSONObject jsonObject) { @@ -243,6 +246,37 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return result; } + @Override + public void feedDevQty(List param) { + WQLObject deviceTab = WQLObject.getWQLObject("pdm_bi_device"); + if (CollectionUtils.isEmpty(param)){ + return; + } + for (JSONObject item : param) { + String deviceCode = item.getString("device_code"); + String qty = item.getString("qty"); + deviceTab.update(MapOf.of("deviceinstor_qty",qty),"device_code = '"+deviceCode+"'"); + } + } + + @Override + public void feedcachelineVe(JSONObject param) { + WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position"); + //{""cacheline_code":"xxx","param":"01_zj001,02_zj002,...""} + if (param == null|| StringUtils.isEmpty(param.getString("cacheline_code")) || StringUtils.isEmpty(param.getString("param"))){ + return; + } + String cachelineCode = param.getString("cacheline_code"); + String cacheVehicle = param.getString("param"); + String[] collect = cacheVehicle.split(","); + for (String positionVehicle : collect) { + String[] s = positionVehicle.split("_"); + positionTab.update(MapOf.of("position_code",s[0],"Vehicle_code",s[1]),"cacheline_code = '"+cachelineCode+"'"); + } + //更新缓存线及缓存线载具表对应关系 + cacheLineHandService.cacheLineMaterSync(); + } + @Override public Map feedOrderRealQty(String string) { JSONObject result = new JSONObject(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceWorkorderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceWorkorderServiceImpl.java index fa0ea02d..80e89b6e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceWorkorderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceWorkorderServiceImpl.java @@ -220,9 +220,9 @@ public class ProduceWorkorderServiceImpl implements ProduceWorkorderService { if (param == null || param.size()==0){ return; } - String sql = param.stream().collect(Collectors.joining("','")); String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); + String sql = param.stream().collect(Collectors.joining("','")); WQLObject wo = WQLObject.getWQLObject("PDM_produce_workOrder"); wo.update(MapOf.of("workorder_status", WorkerOrderEnum.SEND.getCode() ,"update_id", currentUserId,"update_name" diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java index 954ffd75..ad535a3b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java @@ -106,7 +106,7 @@ public class CacheLineHandController{ @ApiOperation("缓存线物料盘点") public CommonResult cacheLineMaterCheck(@RequestBody JSONObject param) { log.info("海亮缓存线手持服务 [缓存线物料盘点] 接口被请求, 请求参数-{}", param); - return RestBusinessTemplate.execute(cacheLineHandService::cacheLineMaterCheck); + return null; } @PostMapping("/instOperation") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/CacheLineHandService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/CacheLineHandService.java index a9a726be..fb32b984 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/CacheLineHandService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/CacheLineHandService.java @@ -107,12 +107,12 @@ public interface CacheLineHandService{ Map instPageQuery(Map param, Pageable page); /** - * 缓存线盘点 + * 缓存线位置关系同步 * * @author gbx * @date 2023/3/24 */ - JSONArray cacheLineMaterCheck(); + JSONArray cacheLineMaterSync(JSONObject ); /** * 缓存线料箱条码查询料箱信息 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java index 4336057e..fdf85cc1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java @@ -168,7 +168,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ } @Override - public JSONArray cacheLineMaterCheck() { + public JSONArray cacheLineMaterSync() { WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position"); JSONArray positionArr = positionTab.query("is_delete = '0'").getResultJSONArray(0); // 缓存线位置表