diff --git a/youchain-system/src/main/java/com/youchain/appupdate/rest/SysAppUpdateController.java b/youchain-system/src/main/java/com/youchain/appupdate/rest/SysAppUpdateController.java index e544fba..07af32a 100644 --- a/youchain-system/src/main/java/com/youchain/appupdate/rest/SysAppUpdateController.java +++ b/youchain-system/src/main/java/com/youchain/appupdate/rest/SysAppUpdateController.java @@ -71,8 +71,8 @@ public class SysAppUpdateController { return new ResponseEntity<>(sysAppUpdateService.queryAll(criteria,pageable),HttpStatus.OK); } - - @ApiOperation("获取最新版本tdshfdisuhfosihfosi093t") + @Log("获取最新版本") + @ApiOperation("获取最新版本") @AnonymousGetMapping(value = "/new") public ResponseEntity querySysNewAppUpdate(SysAppUpdateQueryCriteria criteria, Pageable pageable){ @@ -94,6 +94,7 @@ public class SysAppUpdateController { @PostMapping @ApiOperation("上传文件") + @Log("上传文件") @PreAuthorize("@el.check('sysAppUpdate:add')") public ResponseEntity createSysAppUpdate(@RequestParam String appName,@RequestParam int versionCode,@RequestParam String versionName,@RequestParam String modifyContent, @RequestParam("file") MultipartFile file){ @@ -107,11 +108,7 @@ public class SysAppUpdateController { @PreAuthorize("@el.check('sysAppUpdate:edit')") public ResponseEntity updateSysAppUpdate(@Validated @RequestBody SysAppUpdate resources){ sysAppUpdateService.update(resources); - for (Channel client : ServerListenerHandler.clients) { - String devce_ip =((InetSocketAddress)client.remoteAddress()).getAddress().getHostAddress(); - NettyUtils.light_on(devce_ip,NettyUtils.light_1,null); - } - return new ResponseEntity<>(HttpStatus.NO_CONTENT); + return new ResponseEntity<>(HttpStatus.OK); } @DeleteMapping diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java index c6ce7a9..44328fd 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java @@ -599,7 +599,16 @@ public class StockServiceImpl implements StockService { } private void moveFxOffLine(TransTask transTask) { - + Point srcPoint = validateSrcPoint(transTask.getPointCode());//起点 + List pointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.FXSXQ, null, null); + if (pointList.isEmpty()) { + throw new RuntimeException("返修上线区没有空闲点位!"); + } + Point endPoint = pointList.get(0); + AgvTask agvTask = new AgvTask(BizStatus.Fx_Off_Line, null, srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "ROLLER_MOVE"); + agvTask.setSlotCode(srcPoint.getName()); + agvTaskRepository.save(agvTask); + agvTaskService.sendAgvTaskGTImpl(agvTask); } @Override diff --git a/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java b/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java index 76f1e81..0624c42 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java @@ -42,12 +42,12 @@ public class AgvTask extends BaseEntity implements Serializable { @ApiModelProperty(value = "任务ID") private Long id; - @Column(name = "`stock_code`",nullable = true) + @Column(name = "`stock_code`") @NotBlank @ApiModelProperty(value = "容器号") private String stockCode; - @Column(name = "`stock_type_code`",nullable = true) + @Column(name = "`stock_type_code`") @NotBlank @ApiModelProperty(value = "") private String stockTypeCode; @@ -57,12 +57,12 @@ public class AgvTask extends BaseEntity implements Serializable { @ApiModelProperty(value = "起点位置") private String startSlotCode; - @Column(name = "`end_slot_code`",nullable = true) + @Column(name = "`end_slot_code`") @ApiModelProperty(value = "终点位置") private String endSlotCode; - @Column(name = "`slot_code`",nullable = true) - @ApiModelProperty(value = "") + @Column(name = "`slot_code`") + @ApiModelProperty(value = "设备编号") private String slotCode; @Column(name = "`status`",nullable = false) diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java b/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java index 54c67e8..e5a7890 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java @@ -119,11 +119,11 @@ public interface AgvTaskService { /** * 发送滚筒搬运接口任务 * - * @param agvTasks1-满箱任务 - * @param agvTasks1-控销任务 + * @param agvTasks + * @param * @return */ - String sendAgvTaskGTImpl(List agvTasks1, List agvTasks2); + void sendAgvTaskGTImpl(AgvTask agvTasks); /** * 任务回报更新状态 diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/dto/PickDto.java b/youchain-system/src/main/java/com/youchain/businessdata/service/dto/PickDto.java index c03f731..ee25284 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/dto/PickDto.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/dto/PickDto.java @@ -97,6 +97,7 @@ public class PickDto implements Serializable { */ private Boolean isCall; + /** * 来源ID */ diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java index 7a180de..e4d1ced 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java @@ -188,28 +188,8 @@ public class AgvTaskServiceImpl implements AgvTaskService { objMap.put("missionData", missionDataArray); jsonObject.putAll(objMap); - String resultJson = HttpPostUtil.sendPostReq(UrlApi.submitMission(), jsonObject.toString()); - if (StringUtils.isEmpty(resultJson)) { - throw new RuntimeException("AGV返回信息:下发任务接口调用失败!"); - } - JSONObject resulObject = JSON.parseObject(resultJson); - if (resulObject == null) { - throw new RuntimeException("AGV返回信息:下发任务接口返回为空!"); - } - String code = resulObject.getString("code"); - String message = resulObject.getString("message"); - if (!"0".equals(code)) { - throw new RuntimeException("AGV返回信息:" + message); - } else { - agvTasks.setJobForce(agvTasks.getId().toString());//任务组 - agvTasks.setJobForceAsc((1)); - agvTasks.setStatus(BizStatus.ATCALL); - agvTasks.setJobMessage(resultJson); - agvTasks.setReqMessage(jsonObject.toString()); - agvTasks.setStartTime(new Timestamp(new Date().getTime())); - update(agvTasks); - } + sendAgvTask(agvTasks, jsonObject.toString()); } @Override @@ -238,28 +218,8 @@ public class AgvTaskServiceImpl implements AgvTaskService { objMap.put("missionData", missionDataArray); jsonObject.putAll(objMap); - String resultJson = HttpPostUtil.sendPostReq(UrlApi.submitMission(), jsonObject.toString()); - if (StringUtils.isEmpty(resultJson)) { - throw new RuntimeException("AGV返回信息:下发任务接口调用失败!"); - } - JSONObject resulObject = JSON.parseObject(resultJson); - if (resulObject == null) { - throw new RuntimeException("AGV返回信息:下发任务接口返回为空!"); - } - String code = resulObject.getString("code"); - String message = resulObject.getString("message"); - if (!"0".equals(code)) { - throw new RuntimeException("AGV返回信息:" + message); - } else { - agvTasks.setJobForce(agvTasks.getId().toString());//任务组 - agvTasks.setJobForceAsc((1)); - agvTasks.setStatus(BizStatus.ATCALL); - agvTasks.setJobMessage(resultJson); - agvTasks.setReqMessage(jsonObject.toString()); - agvTasks.setStartTime(new Timestamp(new Date().getTime())); - update(agvTasks); - } + sendAgvTask(agvTasks, jsonObject.toString()); } @Override @@ -316,21 +276,21 @@ public class AgvTaskServiceImpl implements AgvTaskService { agvTask.setJobMessage(resultJson); agvTask.setReqMessage(jsonObject.toString()); agvTask.setStartTime(new Timestamp(new Date().getTime())); - update(agvTask); + agvTaskRepository.save(agvTask); } } else { for (int i = 0; i < agvTasks.size(); i++) { AgvTask agvTask = agvTasks.get(i); agvTask.setJobMessage(resultJson); agvTask.setReqMessage(jsonObject.toString()); - update(agvTask); + agvTaskRepository.save(agvTask); } } return resultJson; } @Override - public synchronized String sendAgvTaskGTImpl(List agvTasks1, List agvTasks2) { + public synchronized void sendAgvTaskGTImpl(AgvTask agvTask) { JSONObject jsonObject = new JSONObject(new LinkedHashMap<>()); String agvCode = TimeNumberUtils.getGTTaskCode(); Map objMap = new LinkedHashMap<>(); @@ -339,80 +299,83 @@ public class AgvTaskServiceImpl implements AgvTaskService { objMap.put("missionCode", agvCode);//任务编号 objMap.put("missionType", "ROLLER_MOVE");//任务类型 :滚筒 objMap.put("viewBoardType", "");//上视识别类型: + objMap.put("robotType", "ROLLER"); + objMap.put("priority", "1"); + objMap.put("lockRobotAfterFinish", false); JSONArray missionDataArray = new JSONArray(); - for (int i = 0; i < agvTasks1.size(); i++) { - AgvTask agvTask = agvTasks1.get(i); - JSONObject missionDataObj = new JSONObject(new LinkedHashMap<>()); - Map missionDataMap = new LinkedHashMap<>(); - missionDataMap.put("sequence", (i + 1));//序号 - missionDataMap.put("binCode", agvTask.getStockCode());//料箱号 - missionDataMap.put("startDeviceCode", agvTask.getStartSlotCode());//料箱所在的起始槽位 - missionDataMap.put("endDeviceCode", agvTask.getEndSlotCode());//料箱所在的目标槽位 - missionDataMap.put("rollerLevel", 2);//层 - missionDataMap.put("rollerColumn", (i + 1));//列 - missionDataObj.putAll(missionDataMap); - missionDataArray.add(missionDataObj); - } - int sum = agvTasks1.size(); - if (agvTasks2.size() > 0) { - for (int i = 0; i < agvTasks2.size(); i++) { - AgvTask agvTask = agvTasks2.get(i); - JSONObject missionDataObj = new JSONObject(new LinkedHashMap<>()); - Map missionDataMap = new LinkedHashMap<>(); - missionDataMap.put("sequence", (sum + (i + 1)));//序号 - missionDataMap.put("binCode", agvTask.getStockCode());//料箱号 - missionDataMap.put("startDeviceCode", agvTask.getStartSlotCode());//料箱所在的起始槽位 - missionDataMap.put("endDeviceCode", agvTask.getEndSlotCode());//料箱所在的目标槽位 - missionDataMap.put("rollerLevel", 1);//层 - missionDataMap.put("rollerColumn", (i + 1));//列 - missionDataObj.putAll(missionDataMap); - missionDataArray.add(missionDataObj); - } - } + JSONObject missionDataObj = new JSONObject(new LinkedHashMap<>()); + Map missionDataMap = new LinkedHashMap<>(); + missionDataMap.put("sequence", 1);//序号 + missionDataMap.put("position", agvTask.getStartSlotCode());//起点 + missionDataMap.put("type", "NODE_POINT");// + missionDataMap.put("actionType", "ROLLER_RECEIVE");// + missionDataMap.put("binCode", agvTask.getStockCode());//容器 + missionDataMap.put("rollerLevel", 1);// + missionDataMap.put("deviceCode", agvTask.getSlotCode());//设备编号 + missionDataMap.put("actionConfirm", true);// + missionDataMap.put("passStrategy", "AUTO");// + missionDataObj.putAll(missionDataMap); + missionDataArray.add(missionDataObj); + + JSONObject missionDataObj2 = new JSONObject(new LinkedHashMap<>()); + Map missionDataMap2 = new LinkedHashMap<>(); + missionDataMap2.put("sequence", 2);//序号 + missionDataMap2.put("position", agvTask.getEndSlotCode());//起点 + missionDataMap2.put("type", "NODE_POINT");// + missionDataMap2.put("actionType", "");// + missionDataMap2.put("binCode", agvTask.getStockCode());//容器 + missionDataMap2.put("rollerLevel", 1);// + missionDataMap2.put("deviceCode", "");// + missionDataMap2.put("actionConfirm", false);// + missionDataMap2.put("passStrategy", "MANUAL");// + missionDataObj2.putAll(missionDataMap2); + missionDataArray.add(missionDataObj2); + + JSONObject missionDataObj3 = new JSONObject(new LinkedHashMap<>()); + Map missionDataMap3 = new LinkedHashMap<>(); + missionDataMap3.put("sequence", 3);//序号 + missionDataMap3.put("position", agvTask.getStartSlotCode());//起点 + missionDataMap3.put("type", "NODE_POINT");// + missionDataMap3.put("actionType", "ROLLER_RECEIVE");// + missionDataMap3.put("binCode", agvTask.getStockCode());//容器 + missionDataMap3.put("rollerLevel", 1);// + missionDataMap3.put("deviceCode", agvTask.getSlotCode());// + missionDataMap3.put("actionConfirm", true);// + missionDataMap3.put("passStrategy", "AUTO");// + missionDataObj3.putAll(missionDataMap3); + missionDataArray.add(missionDataObj3); objMap.put("missionData", missionDataArray); jsonObject.putAll(objMap); - System.out.println(jsonObject.toString()); - String resultJson = HttpPostUtil.sendPostReq(UrlApi.submitMission(), jsonObject.toString());//返回ResponseJson*/ - JSONObject resulObject = JSON.parseObject(resultJson); - String code = resulObject.getString("code") == null ? "" : resulObject.getString("code"); - if (code.equals("0")) { - for (int i = 0; i < agvTasks1.size(); i++) { - AgvTask agvTask = agvTasks1.get(i); - agvTask.setJobForce(agvCode);//任务组 - agvTask.setJobForceAsc((i + 1)); - agvTask.setStatus(BizStatus.ATCALL); - agvTask.setJobMessage(resultJson); - agvTask.setReqMessage(jsonObject.toString()); - agvTask.setStartTime(new Timestamp(new Date().getTime())); - update(agvTask); - } - for (int i = 0; i < agvTasks2.size(); i++) { - AgvTask agvTask = agvTasks2.get(i); - agvTask.setJobForce(agvCode);//任务组 - agvTask.setJobForceAsc((i + 1)); - agvTask.setStatus(BizStatus.ATCALL); - agvTask.setJobMessage(resultJson); - agvTask.setReqMessage(jsonObject.toString()); - agvTask.setStartTime(new Timestamp(new Date().getTime())); - update(agvTask); - } - } else { - for (int i = 0; i < agvTasks1.size(); i++) { - AgvTask agvTask = agvTasks1.get(i); - agvTask.setJobMessage(resultJson); - agvTask.setReqMessage(jsonObject.toString()); - update(agvTask); - } - for (int i = 0; i < agvTasks2.size(); i++) { - AgvTask agvTask = agvTasks2.get(i); - agvTask.setJobMessage(resultJson); - agvTask.setReqMessage(jsonObject.toString()); - update(agvTask); - } + + sendAgvTask(agvTask, jsonObject.toString());//发送任务 + } + + private void sendAgvTask(AgvTask agvTask, String json) { + String resultJson = HttpPostUtil.sendPostReq(UrlApi.submitMission(), json); + if (StringUtils.isEmpty(resultJson)) { + throw new RuntimeException("AGV返回信息:下发任务接口调用失败!"); } - return resultJson; + JSONObject resulObject = JSON.parseObject(resultJson); + if (resulObject == null) { + throw new RuntimeException("AGV返回信息:下发任务接口返回为空!"); + } + + String code = resulObject.getString("code"); + String message = resulObject.getString("message"); + if (!"0".equals(code)) { + throw new RuntimeException("AGV返回信息:" + message); + } else { + agvTask.setJobForce(agvTask.getId().toString());//任务组 + agvTask.setJobForceAsc((1)); + agvTask.setStatus(BizStatus.ATCALL); + agvTask.setJobMessage(resultJson); + agvTask.setReqMessage(json); + agvTask.setStartTime(new Timestamp(new Date().getTime())); + agvTaskRepository.save(agvTask); + } + } @Override diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java index e6f7df4..6350cbc 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java @@ -314,7 +314,13 @@ public class PickDetailServiceImpl implements PickDetailService { //目标库位 Point endPoint = null; if (pick.getPoint() == null) { - List pointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.XJFBQ, null, null); + String areaCode = null; + if (BaseStatus.GD_TYPE_CT.equals(pick.getOrderType())) { + areaCode = AreaNameDic.XJFBQ; + } else if (BaseStatus.GD_TYPE_DP.equals(pick.getOrderType())) { + areaCode = AreaNameDic.DJFBQ; + } + List pointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, areaCode, null, null); if (pointList.isEmpty()) { logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", "分配失败,翻包区没有空闲点位!", "出库单分配", 200, "info"); throw new IllegalArgumentException(pick.getCode() + "分配失败,翻包区没有空闲点位!"); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java index 924eb04..5cb64bb 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java @@ -199,7 +199,7 @@ public class PickServiceImpl implements PickService { /** 遍历成品集合 */ yclbl.getBlzc().forEach(zcData -> { - Pick pick = createPick(orderNo, taskCode, lineNo.getAndIncrement(), zcData.getCompleteCode(), zcData.getStation()); + Pick pick = createPick(orderNo, taskCode, lineNo.getAndIncrement(), zcData.getCompleteCode(), zcData.getStation(), BaseStatus.GD_TYPE_CT); createPicks.add(pick); zcData.getBlzcmx().forEach(itemDate -> { Item item = itemMap.get(itemDate.getItemCode()); @@ -210,7 +210,7 @@ public class PickServiceImpl implements PickService { /** 遍历单品品集合 */ yclbl.getBlzcmx().forEach(itemDate -> { - Pick pick = createPick(orderNo, taskCode, lineNo.getAndIncrement(), itemDate.getItemCode(), itemDate.getStation()); + Pick pick = createPick(orderNo, taskCode, lineNo.getAndIncrement(), itemDate.getItemCode(), itemDate.getStation(), BaseStatus.GD_TYPE_DP); createPicks.add(pick); Item item = itemMap.get(itemDate.getItemCode()); PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null); @@ -324,7 +324,7 @@ public class PickServiceImpl implements PickService { return pickDetail; } - public Pick createPick(String gdCode, String taskCode, int lineNo, String cpCodeOrpCode, String station) { + public Pick createPick(String gdCode, String taskCode, int lineNo, String cpCodeOrpCode, String station,String orderType) { Pick pick = new Pick(); pick.setTaskCode(taskCode); pick.setLineNo(lineNo); @@ -335,6 +335,7 @@ public class PickServiceImpl implements PickService { pick.setStatus(BizStatus.OPEN); pick.setIsCall(false); pick.setDept(deptService.getDefaultDept()); + pick.setOrderType(orderType); return pick; } diff --git a/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java b/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java index 51f0025..637bc3f 100644 --- a/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java +++ b/youchain-system/src/main/java/com/youchain/utils/AreaNameDic.java @@ -10,51 +10,67 @@ public interface AreaNameDic { /** * 大小件入库区 */ - public static String DXJRKQ = "DXJRKQ"; + String DXJRKQ = "DXJRKQ"; /** * 大件存储区 */ - public static String DJQ = "DJQ"; + String DJQ = "DJQ"; /** * 小件存储区 */ - public static String XJQ = "XJQ"; + String XJQ = "XJQ"; /** * 小件翻包区 */ - public static String XJFBQ = "XJFBQ"; + String XJFBQ = "XJFBQ"; /** * 小件翻包存储区 */ - public static String XJFBCQ = "XJFBCQ"; + String XJFBCQ = "XJFBCQ"; + + /** + * 大件翻包区 + */ + String DJFBQ = "DJFBQ"; + + /** + * 大件翻包存储区 + */ + String DJFBCQ = "DJFBCQ"; /** * 成品入库区 */ - public static String CPRKQ = "CPRKQ"; + String CPRKQ = "CPRKQ"; /** * 成品入库缓存区 */ - public static String CPRKHCQ = "CPRKHCQ"; + String CPRKHCQ = "CPRKHCQ"; /** * 成品下线区 */ - public static String CPXXQ = "CPXXQ"; + String CPXXQ = "CPXXQ"; /** - * 返修区 + * 返修上线区 */ - public static String FXQ = "FXQ"; + String FXSXQ = "FXSXQ"; + + /** + * 返修下线区 + */ + String FXXXQ = "FXXXQ"; + /** * 叫料区 */ - public static String JLQ = "JLQ"; + String JLQ = "JLQ"; } diff --git a/youchain-system/src/main/java/com/youchain/utils/BizStatus.java b/youchain-system/src/main/java/com/youchain/utils/BizStatus.java index 8182dc7..c046467 100644 --- a/youchain-system/src/main/java/com/youchain/utils/BizStatus.java +++ b/youchain-system/src/main/java/com/youchain/utils/BizStatus.java @@ -91,27 +91,6 @@ public interface BizStatus { */ String FINISH = "FINISH"; - /** - * 任务类型-翻包返库 - */ - String FB_RETURN = "FB_RETURN"; - - /** - * 任务类型-成品上线 - */ - String Cp_Off_Up = "Cp_Off_Up"; - - /** - * 任务类型-成品下线 - */ - String Cp_Off_Line = "Cp_Off_Line"; - - /** - * 任务类型-返修下线 - */ - String Fx_Off_Line = "Fx_Off_Line"; - - /** * 任务类型-原材料入库 @@ -123,16 +102,47 @@ public interface BizStatus { */ String PICK = "PICK"; - /** - * 任务类型-叫料任务 - */ - String CALL_PICK = "CALL_PICK"; - /** * 任务类型-盘点任务 */ String INV = "INV"; + /** + * 空车出库/空箱出库 + */ + String EMPTY_OUT = "EMPTY_OUT"; + + /** + * 空车入库 + */ + String EMPTY_IN = "EMPTY_IN"; + + /** + * 任务类型-翻包返库 + */ + String FB_RETURN = "FB_RETURN"; + + /** + * 任务类型-成品下线 + */ + String Cp_Off_Line = "Cp_Off_Line"; + + /** + * 任务类型-成品上线 + */ + String Cp_Off_Up = "Cp_Off_Up"; + + /** + * 任务类型-返修下线 + */ + String Fx_Off_Line = "Fx_Off_Line"; + + /** + * 任务类型-叫料 + */ + String CALL_PICK = "CALL_PICK"; + + /** * 库存日志-移位 */ @@ -241,14 +251,6 @@ public interface BizStatus { * 物料类型,轴承座 */ String ZC = "ZC"; - /** - * 空车入库 - */ - String EMPTY_IN = "EMPTY_IN"; - /** - * 空车出库/空箱出库 - */ - String EMPTY_OUT = "EMPTY_OUT"; }