diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java index 659b3717f..9f6c8e5d6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java @@ -99,7 +99,6 @@ public class TwoInEmpTask extends AbstractAcsTask { JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定")); jsonAttr.put("storagevehicle_code",jsonTask.getString("vehicle_code")); - jsonAttr.put("storagevehicle_type",jsonTask.getString("vehicle_type")); jsonAttr.put("is_emptyvehicle",IOSEnum.IS_NOTANDYES.code("是")); attrTab.update(jsonAttr); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java index 43f1abfb5..6fa312241 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java @@ -23,6 +23,8 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; 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.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; @@ -85,13 +87,13 @@ public class TwoLashTask extends AbstractAcsTask { } JSONObject interaction_json = new JSONObject(); - interaction_json.put("isLeave",json.getString("is_auto_issue")); - interaction_json.put("length",dao.get(0).getBox_length()); - interaction_json.put("weight",dao.get(0).getBox_width()); - interaction_json.put("height",dao.get(0).getBox_high()); - interaction_json.put("template",dao.get(0).getLash_num()); + interaction_json.put("isLeave", json.getString("is_auto_issue")); + interaction_json.put("length", dao.get(0).getBox_length()); + interaction_json.put("weight", dao.get(0).getBox_width()); + interaction_json.put("height", dao.get(0).getBox_high()); + interaction_json.put("template", dao.get(0).getLash_num()); //第二次捆扎次数 - interaction_json.put("bindingTimes","3"); + interaction_json.put("bindingTimes", "3"); interaction_json.put("isBinding", IOSEnum.IS_SEND.code("是")); char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); AcsTaskDto dto = AcsTaskDto.builder() @@ -121,6 +123,7 @@ public class TwoLashTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_code = '"+taskObj.getString("task_code")+"'").uniqueResult(0); // 点位表 WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); // 木箱绑定表 @@ -140,19 +143,28 @@ public class TwoLashTask extends AbstractAcsTask { // 完成 if (status.equals(TaskStatusEnum.FINISHED.getCode())) { - // 判断当前任务组的所有任务是否都为完成:如果都为完成则 调用acs接口允许此木箱离开 - JSONObject groupTask = WQLObject.getWQLObject("sch_base_task").query("task_group_id = '" + taskObj.getString("task_group_id") + "' and is_delete = '0' and task_status <> 07 and task_id <> '"+taskObj.getString("task_id")+"'") + JSONObject groupTask = WQLObject.getWQLObject("sch_base_task").query("task_group_id = '" + task_jo.getString("task_group_id") + "' and is_delete = '0' and task_status <> 07 and task_id <> '" + taskObj.getString("task_id") + "'") .uniqueResult(0); if (ObjectUtil.isEmpty(groupTask)) { - // 更新点位载具、数量 - JSONObject pointDao = pointTab.query("point_code = '" + taskObj.getString("point_code2") + "'").uniqueResult(0); - pointDao.put("vehicle_code", ""); - pointDao.put("vehicle_qty",0); - WQLObject.getWQLObject("sch_base_point").update(pointDao); - // TODO 调用acs接口告诉此木箱可以离开 + //给捆扎点下发强制放行 + WmsToAcsService wmsToAcsService = SpringContextHolder.getBean(WmsToAcsService.class); + JSONArray action_rows = new JSONArray(); + JSONObject action_jo = new JSONObject(); + action_jo.put("device_code", task_jo.getString("point_code2")); + action_jo.put("code", "to_command"); + action_jo.put("product_area", "BLK"); + action_jo.put("value", "26"); + action_rows.add(action_jo); + wmsToAcsService.action(action_rows); + + // 更新点位载具、数量 + JSONObject pointDao = pointTab.query("point_code = '" + task_jo.getString("point_code2") + "'").uniqueResult(0); + pointDao.put("vehicle_code", ""); + pointDao.put("vehicle_qty", 0); + WQLObject.getWQLObject("sch_base_point").update(pointDao); } @@ -170,26 +182,26 @@ public class TwoLashTask extends AbstractAcsTask { map.put("is_delete", IOSEnum.IS_NOTANDYES.code("是")); // 减去终点点位载具数量 - JSONObject pointDao = pointTab.query("point_code = '" + taskObj.getString("point_code2") + "'").uniqueResult(0); + JSONObject pointDao = pointTab.query("point_code = '" + task_jo.getString("point_code2") + "'").uniqueResult(0); - pointDao.put("vehicle_qty", NumberUtil.sub(pointDao.getIntValue("vehicle_qty"),1)); + pointDao.put("vehicle_qty", NumberUtil.sub(pointDao.getIntValue("vehicle_qty"), 1)); if (pointDao.getIntValue("vehicle_qty") <= 0) { // 清空载具号 pointDao.put("vehicle_code", ""); - pointDao.put("vehicle_qty",0); + pointDao.put("vehicle_qty", 0); } pointTab.update(pointDao); // 删除木箱绑定数据 - boxTab.delete("box_no = '"+taskObj.getString("vehicle_code")+"'"); + boxTab.delete("box_no = '" + task_jo.getString("vehicle_code") + "'"); } map.put("update_optid", SecurityUtils.getCurrentUserId()); map.put("update_optname", SecurityUtils.getCurrentNickName()); map.put("update_time", DateUtil.now()); - WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'"); + WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + task_jo.getString("task_id") + "'"); } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java index 1f695df2b..809c20814 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java @@ -17,6 +17,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import static org.nl.wms.util.TaskUtil.getRoutePlanCode; + /** * 二期空木箱移库任务类 * Created by Lxy on 2024/1/19. @@ -46,6 +48,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) + .route_plan_code(getRoutePlanCode(json.getString("point_code2"))) .vehicle_code(json.getString("vehicle_code")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java index 1b840b546..d73c03dc0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java @@ -538,6 +538,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { JSONObject paramIn = new JSONObject(); paramIn.put("stor_id", IOSEnum.STOR_ID.code("二期")); paramIn.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); + paramIn.put("vehicle_type", jsonObject.getString("storagevehicle_type")); + paramIn.put("height", jsonObject.getString("height")); InBoxManageServiceImpl bean = SpringContextHolder.getBean(InBoxManageServiceImpl.class); JSONObject jsonAttr = bean.getStruct(paramIn); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java index 2ea448b12..67a495ef7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java @@ -129,7 +129,12 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService code = "VEHICLE_CODE_GXTP"; break; case "0003": - code = "VEHICLE_CODE_LK"; + if (class_jo.getString("class_code").equals("000301")){ + code = "VEHICLE_CODE_LK"; + } + if (class_jo.getString("class_code").equals("000302")){ + code = "VEHICLE_CODE_LKB"; + } break; default: break; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/BLmsToMesController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/BLmsToMesController.java new file mode 100644 index 000000000..ab2106a67 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/BLmsToMesController.java @@ -0,0 +1,40 @@ +package org.nl.wms.ext.mes.rest; + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.ext.mes.service.LmsToMesService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor + +@RequestMapping("/CamstarApi") +@Slf4j +public class BLmsToMesController { + private final LmsToMesService lmsToMesService; + + @PostMapping("/momAutoTransterMoveIn") + @Log("表处、分切上料反馈接口") + public ResponseEntity momAutoTransterMoveIn(@RequestBody JSONObject jo) { + return new ResponseEntity<>(lmsToMesService.momAutoTransterMoveIn(jo), HttpStatus.OK); + } + + @PostMapping("/momGetPackingInfo") + @Log("LMS通过木箱号调用木箱信息") + public ResponseEntity momGetPackingInfo(@RequestBody JSONObject jo) { + return new ResponseEntity<>(lmsToMesService.momGetPackingInfo(jo), HttpStatus.OK); + } + + @PostMapping("/momBoxPackageSubmit") + @Log("LMS装箱完成传MES包装关系") + public ResponseEntity momBoxPackageSubmit(@RequestBody JSONObject jo) { + return new ResponseEntity<>(lmsToMesService.momBoxPackageSubmit(jo), HttpStatus.OK); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/LmsToMesService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/LmsToMesService.java index 0b0104e42..b15ab4505 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/LmsToMesService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/LmsToMesService.java @@ -135,4 +135,10 @@ public interface LmsToMesService { * } */ JSONObject ChildScrapUpdate(JSONObject jo); + + JSONObject momAutoTransterMoveIn(JSONObject jo); + + JSONObject momGetPackingInfo(JSONObject jo); + + JSONObject momBoxPackageSubmit(JSONObject jo); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java index 4d9624bf3..4317217a3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java @@ -700,4 +700,52 @@ public class LmsToMesServiceImpl implements LmsToMesService { } return result; } + + @Override + public JSONObject momAutoTransterMoveIn(JSONObject param){ return null;} /*{ + String from_area = param.getString("from_area"); + String to_area = param.getString("to_area"); + String container_name = param.getString("container_name"); + + + log.info("momAutoTransterMoveIn接口输入参数为:-------------------" + param.toString()); + + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); + String api = "CamstarApi/momAutoTransterMoveIn"; + url = url + api; + + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + param.put("UserName", UserName); + param.put("Password", Password); + + try { + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(param)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + log.info("LMSPackakge接口输出参数为:-------------------" + result.toString()); + + + String RTYPE = result.getString("RTYPE"); + if ("E".equals(RTYPE)) { + throw new BadRequestException(result.getString("RTMSG")); + } + + + } catch (Exception e) { + throw new BadRequestException("MES提示错误:" + e.getMessage()); + } + return result; + }*/ + + @Override + public JSONObject momGetPackingInfo(JSONObject jo) { + return null; + } + + @Override + public JSONObject momBoxPackageSubmit(JSONObject jo) { + return null; + } }