fix:出入库代码优化

This commit is contained in:
zhouz
2024-06-21 11:01:02 +08:00
parent cbfec25a9f
commit d95ecd0405
8 changed files with 136 additions and 21 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -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"))

View File

@@ -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);

View File

@@ -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;

View File

@@ -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<Object> momAutoTransterMoveIn(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.momAutoTransterMoveIn(jo), HttpStatus.OK);
}
@PostMapping("/momGetPackingInfo")
@Log("LMS通过木箱号调用木箱信息")
public ResponseEntity<Object> momGetPackingInfo(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.momGetPackingInfo(jo), HttpStatus.OK);
}
@PostMapping("/momBoxPackageSubmit")
@Log("LMS装箱完成传MES包装关系")
public ResponseEntity<Object> momBoxPackageSubmit(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.momBoxPackageSubmit(jo), HttpStatus.OK);
}
}

View File

@@ -135,4 +135,10 @@ public interface LmsToMesService {
* }
*/
JSONObject ChildScrapUpdate(JSONObject jo);
JSONObject momAutoTransterMoveIn(JSONObject jo);
JSONObject momGetPackingInfo(JSONObject jo);
JSONObject momBoxPackageSubmit(JSONObject jo);
}

View File

@@ -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;
}
}