Merge remote-tracking branch 'origin/b_lms' into b_lms
# Conflicts: # lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java # lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
This commit is contained in:
Binary file not shown.
@@ -29,12 +29,16 @@ public class AcsToWmsController {
|
||||
|
||||
@PostMapping("/status")
|
||||
@Log(value = "ACS给WMS反馈任务状态", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) {
|
||||
return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("/orderFinish")
|
||||
@Log(value = "ACS给WMS下发工单完成状态", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
|
||||
@@ -137,4 +141,34 @@ public class AcsToWmsController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/sendProductToFirstFloor")
|
||||
@Log(value = "成品子卷到达一楼输送线", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> sendProductToFirstFloor(@RequestBody JSONObject json) {
|
||||
return new ResponseEntity<>(acsToWmsService.sendProductToFirstFloor(json), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/applyTwo")
|
||||
@Log(value = "二期入库申请任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> applyTwo(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.applyTwo(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/applySendOutTwo")
|
||||
@Log(value = "二期发货申请任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> applySendOutTwo(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.applySendOutTwo(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/deviceApplyTwo")
|
||||
@Log(value = "二期发货申请捆扎、贴标", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> deviceApplyTwo(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.deviceApplyTwo(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -79,6 +79,9 @@ public interface AcsToWmsService {
|
||||
*/
|
||||
JSONObject shipDeviceUpdate(JSONObject whereJson);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* ACS客户端--->LMS服务端
|
||||
* 输送线光电无货上报
|
||||
@@ -105,4 +108,51 @@ public interface AcsToWmsService {
|
||||
* 点位初始化
|
||||
*/
|
||||
void initPoint();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* ACS客户端--->LMS服务端
|
||||
* 成品子卷到达一楼输送线
|
||||
*
|
||||
* @param whereJson 条件
|
||||
* @return JSONObject
|
||||
*/
|
||||
JSONObject sendProductToFirstFloor(JSONObject whereJson);
|
||||
|
||||
|
||||
/**
|
||||
* 二期入库任务申请
|
||||
* @param whereJson {
|
||||
* type:任务类型(1-成品入库任务 2-空盘入库 3-空盘出库 4-异常处理位)
|
||||
* device_code:设备号
|
||||
* vehicle_code:载具号
|
||||
* material_barcode:子卷编码(a,b,c)
|
||||
* container_type:托盘类型(1-小托盘 2-大托盘)
|
||||
*
|
||||
* }
|
||||
* @return JSONObject 反馈状态
|
||||
*/
|
||||
JSONObject applyTwo(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 二期发货申请任务
|
||||
* @param whereJson {
|
||||
* device_code: 设备号
|
||||
* vehicle_code: 载具号
|
||||
* }
|
||||
* @return JSONObject: 反馈状态
|
||||
*/
|
||||
JSONObject applySendOutTwo(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 二期申请捆扎、贴标
|
||||
* @param whereJson {
|
||||
* device_code: 设备号
|
||||
* vehicle_code: 载具号
|
||||
* type: 任务类型(1-贴标 2-捆扎)
|
||||
* }
|
||||
* @return
|
||||
*/
|
||||
JSONObject deviceApplyTwo(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.ext.acs.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
@@ -7,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.google.common.collect.Interner;
|
||||
import com.google.common.collect.Interners;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -38,12 +40,15 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@@ -66,6 +71,37 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
private final ISysNoticeService noticeService;
|
||||
|
||||
/**
|
||||
* 入库处理类服务
|
||||
*/
|
||||
private final InBussManageService inBussManageService;
|
||||
|
||||
/**
|
||||
* 空载具入库处理服务
|
||||
*/
|
||||
private final InVehicleManageService inVehicleManageService;
|
||||
|
||||
/**
|
||||
* 空载具出库处理服务
|
||||
*/
|
||||
private final OutVehicleManageService outVehicleManageService;
|
||||
|
||||
/**
|
||||
* 发货处理服务
|
||||
*/
|
||||
private final SendOutManageService sendOutManageService;
|
||||
|
||||
@Resource
|
||||
private IschBaseTaskService taskService;
|
||||
@Resource
|
||||
private IschBasePointService pointService;
|
||||
@Resource
|
||||
private IbstIvtPackageinfoivtService packageinfoivtService;
|
||||
|
||||
@Resource
|
||||
private MzhcwTask mzhcwTask;
|
||||
|
||||
|
||||
/**
|
||||
* task_id:任务标识
|
||||
* task_code:任务编码
|
||||
@@ -1655,4 +1691,244 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 成品子卷到达一楼输送线
|
||||
*/
|
||||
@Override
|
||||
public JSONObject sendProductToFirstFloor(JSONObject whereJson) {
|
||||
// JSONObject whereJson 应该传子卷号,设备号,车间号
|
||||
// 先查询满轴缓存位是否有可用库位,有创建搬运任务
|
||||
// 任务完成创建空载具补充到输送线桁架任务,子卷搬运至待检区或或管制区agv任务
|
||||
// 如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
// 这个情况是有agv任务在搬去待检区或管制区的路上,还没有更新任务状态;需要查询是否有这种任务,等这个任务更新完后,
|
||||
// 再补发之前创建的输送线到满轴缓存位任务;
|
||||
log.info("sendProductToFirstFloor--------------------------:" + whereJson.toString());
|
||||
JSONObject result = new JSONObject();
|
||||
if (StringUtils.isBlank(whereJson.getString("device_code")) || StringUtils.isBlank(whereJson.getString("material_barcode"))) {
|
||||
throw new BadRequestException("接口sendProductToFirstFloor,任务号或子卷号参数为空!");
|
||||
|
||||
}
|
||||
//1.查询满轴缓存位是否有空位
|
||||
List<BstIvtPackageinfoivt> bstIvtPackageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
//todo 获取子卷号,子卷号就是载具号?
|
||||
jo.put("vehicle_code", whereJson.getString("material_barcode"));
|
||||
//2.创建输送线->满轴位桁架任务,
|
||||
String point_code1 = whereJson.getString("device_code");
|
||||
jo.put("point_code1", point_code1);
|
||||
if (CollectionUtils.isNotEmpty(bstIvtPackageinfoivtList)) {
|
||||
//任意一个满轴缓存位为终点
|
||||
jo.put("point_code2", bstIvtPackageinfoivtList.get(0).getPoint_code());
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "反馈成功!");
|
||||
return result;
|
||||
} else {
|
||||
//3.满轴缓存位点位,查找正在搬运到待检区的任务
|
||||
List<BstIvtPackageinfoivt> packageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位")));
|
||||
//todo 查找正在起点为满轴缓存位点位,且执行中搬运到待检区或管制区的任务,如果有一个或多个,现场其实有多个车正在搬运过去
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
//执行中
|
||||
.nested(
|
||||
r -> r.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))
|
||||
.or().eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->管制区")))
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.and(
|
||||
r -> r.in(SchBaseTask::getPoint_code1, packageinfoivtList)
|
||||
));
|
||||
//4.满轴缓存位无空闲库位,且无执行中搬运到待检区或管制区的任务,则报错!
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
throw new BadRequestException("接口sendProductToFirstFloor,满轴缓存位暂无空闲库位!");
|
||||
}
|
||||
// 5.如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
// 创建前先判断是否有已创建相同任务
|
||||
List<SchBaseTask> existTaskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getPoint_code1, point_code1)
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()));
|
||||
//6.如果有就不创建,没有就创建
|
||||
// 等这边空出来点位,也就是满轴位->待检区或管制区任务完成后,再补发;
|
||||
if (CollectionUtils.isEmpty(existTaskList)) {
|
||||
//暂时只确定起点,正在搬运的满轴位->待检区的点位,暂不作为终点
|
||||
//jo.put("point_code2", taskList.get(0).getPoint_code1());
|
||||
jo.put("task_status", TaskStatusEnum.SURE_START.getCode());
|
||||
jo.put("is_send", false);
|
||||
mzhcwTask.createTask(jo);
|
||||
}
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "反馈成功!");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@SneakyThrows
|
||||
public JSONObject applyTwo(JSONObject whereJson) {
|
||||
log.info("applyTwo请求参数:---------------------------------------------" + whereJson.toString());
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
String type = whereJson.getString("type");
|
||||
RLock lock = redissonClient.getLock("acs_to_wms_two_a:" + type);
|
||||
boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS);
|
||||
|
||||
try {
|
||||
if (tryLock) {
|
||||
// 基础校验
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("device_code"))) {
|
||||
throw new BadRequestException("设备不能为空!");
|
||||
}
|
||||
|
||||
if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库")) || type.equals(IOSEnum.ACSTOLMS_TYPE.code("异常处理位"))) {
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("container_type"))) {
|
||||
throw new BadRequestException("载具类型不能为空!");
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("vehicle_code"))) {
|
||||
throw new BadRequestException("载具不能为空!");
|
||||
}
|
||||
}
|
||||
|
||||
// 1-成品入库任务
|
||||
if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("成品入库任务"))) {
|
||||
|
||||
// 调用服务处理
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("material_barcode"))) {
|
||||
throw new BadRequestException("子卷号不能为空!");
|
||||
}
|
||||
|
||||
inBussManageService.inTask(whereJson);
|
||||
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库"))) {
|
||||
|
||||
// 2-空盘入库
|
||||
whereJson.put("vehicle_type", whereJson.getString("container_type"));
|
||||
inVehicleManageService.inVehicle(whereJson);
|
||||
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘出库"))) {
|
||||
|
||||
// 3-空盘出库
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("container_type"))) {
|
||||
throw new BadRequestException("载具类型不能为空!");
|
||||
}
|
||||
|
||||
whereJson.put("vehicle_type", whereJson.getString("container_type"));
|
||||
outVehicleManageService.outVehicle(whereJson);
|
||||
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("异常处理位"))) {
|
||||
|
||||
// 4-异常处理
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010504");
|
||||
jsonTaskParam.put("start_device_code", whereJson.getString("device_code"));
|
||||
jsonTaskParam.put("next_device_code", "");
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("container_type"));
|
||||
|
||||
TwoEmpExcepTask taskBean = new TwoEmpExcepTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
}
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
log.info("applyTwo返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "申请任务超时!" + type);
|
||||
log.info("applyTwo返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject applySendOutTwo(JSONObject whereJson) {
|
||||
log.info("applySendOutTwo输入参数:---------------------------------------------" + whereJson.toString());
|
||||
|
||||
// 校验
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("device_code"))) {
|
||||
throw new BadRequestException("设备号不能为空!");
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("vehicle_code"))) {
|
||||
throw new BadRequestException("载具号不能为空!");
|
||||
}
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
try {
|
||||
// 调用服务
|
||||
sendOutManageService.createSendOutTask(whereJson);
|
||||
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", e.getMessage());
|
||||
}
|
||||
|
||||
log.info("applySendOutTwo返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@SneakyThrows
|
||||
public JSONObject deviceApplyTwo(JSONObject whereJson) {
|
||||
log.info("deviceApplyTwo请求参数:---------------------------------------------" + whereJson.toString());
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
String type = whereJson.getString("type");
|
||||
RLock lock = redissonClient.getLock("acs_to_wms_two_b:" + type);
|
||||
boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS);
|
||||
|
||||
try {
|
||||
if (tryLock) {
|
||||
// 校验
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("device_code"))) {
|
||||
throw new BadRequestException("设备号不能为空!");
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("vehicle_code"))) {
|
||||
throw new BadRequestException("载具号不能为空!");
|
||||
}
|
||||
|
||||
// 1-贴标
|
||||
if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("贴标"))) {
|
||||
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("贴标"))) {
|
||||
// 2-捆扎
|
||||
}
|
||||
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
log.info("deviceApplyTwo返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "申请任务超时!" + type);
|
||||
log.info("deviceApplyTwo返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -114,4 +114,12 @@ public class MesToLmsController {
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/sendTargetHouse")
|
||||
@Log("MES传递给LMS入线边库或者入成品库")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> sendTargetHouse(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.sendTargetHouse(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -62,4 +62,12 @@ public interface MesToLmsService {
|
||||
JSONObject sendAuditResult(JSONObject param);
|
||||
|
||||
JSONObject sendProcessInfo(JSONObject param);
|
||||
|
||||
/**
|
||||
* MES传递给LMS入线边库或者入成品库
|
||||
*/
|
||||
JSONObject sendTargetHouse(JSONObject param);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,9 +7,17 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.tasks.ProcessTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.GzqTask;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
@@ -28,8 +36,11 @@ import org.nl.wms.st.instor.service.impl.ProductScrapServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@@ -42,6 +53,15 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
|
||||
private final InService inService;
|
||||
|
||||
@Resource
|
||||
private DjqTask djqTask;
|
||||
@Resource
|
||||
private GzqTask gzqTask;
|
||||
|
||||
@Resource
|
||||
private IbstIvtPackageinfoivtService packageinfoivtService;
|
||||
|
||||
|
||||
/**
|
||||
* 生箔烘箱:
|
||||
* 母卷批次创建信息发送智能物流(MES生箔工序Move In)
|
||||
@@ -1470,68 +1490,68 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
throw new BadRequestException("传入的类型不能为空!");
|
||||
}
|
||||
|
||||
JSONObject device_jo = WQLObject.getWQLObject("st_ivt_stpointivt").query("ext_code = '"+ResourceName+"'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(device_jo)){
|
||||
throw new BadRequestException("未查询到["+ResourceName+"]应的表处机设备!");
|
||||
JSONObject device_jo = WQLObject.getWQLObject("st_ivt_stpointivt").query("ext_code = '" + ResourceName + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(device_jo)) {
|
||||
throw new BadRequestException("未查询到[" + ResourceName + "]应的表处机设备!");
|
||||
}
|
||||
|
||||
ProcessTask processTask = SpringContextHolder.getBean(ProcessTask.class);
|
||||
|
||||
//上料
|
||||
if ("1".equals(Type)){
|
||||
if ("1".equals(Type)) {
|
||||
String up_scroll = device_jo.getString("up_scroll");
|
||||
String up_pcsn = device_jo.getString("up_pcsn");
|
||||
if (StrUtil.isNotEmpty(up_pcsn)){
|
||||
throw new BadRequestException("LMS系统上【"+ResourceName+"】表处机上还存在母卷号,不能进行上料!");
|
||||
if (StrUtil.isNotEmpty(up_pcsn)) {
|
||||
throw new BadRequestException("LMS系统上【" + ResourceName + "】表处机上还存在母卷号,不能进行上料!");
|
||||
}
|
||||
//查询母卷所在点位
|
||||
JSONObject jsonCoolIvt = coolIvtTab.query("container_name = '" + containerName + "' and full_point_status = '02' and cool_ivt_status <> '04'").uniqueResult(0);
|
||||
JSONObject form = new JSONObject();
|
||||
if (StrUtil.isEmpty(up_scroll)){
|
||||
if (StrUtil.isEmpty(up_scroll)) {
|
||||
//取满放满
|
||||
form.put("point_code1",jsonCoolIvt.getString("point_code"));
|
||||
form.put("point_code2",device_jo.getString("point_code"));
|
||||
form.put("task_type","010702");
|
||||
form.put("material_code",jsonCoolIvt.getString("container_name"));
|
||||
form.put("vehicle_code",jsonCoolIvt.getString("full_vehicle_code"));
|
||||
form.put("product_area",device_jo.getString("product_area"));
|
||||
}else {
|
||||
form.put("point_code1", jsonCoolIvt.getString("point_code"));
|
||||
form.put("point_code2", device_jo.getString("point_code"));
|
||||
form.put("task_type", "010702");
|
||||
form.put("material_code", jsonCoolIvt.getString("container_name"));
|
||||
form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code"));
|
||||
form.put("product_area", device_jo.getString("product_area"));
|
||||
} else {
|
||||
//取满取空放满放空
|
||||
form.put("point_code1",jsonCoolIvt.getString("full_point_code"));
|
||||
form.put("point_code2",device_jo.getString("point_code"));
|
||||
form.put("point_code3",device_jo.getString("point_code"));
|
||||
form.put("point_code1", jsonCoolIvt.getString("full_point_code"));
|
||||
form.put("point_code2", device_jo.getString("point_code"));
|
||||
form.put("point_code3", device_jo.getString("point_code"));
|
||||
//判断对应空轴点位是否为空,为空用当前点位,不为空查询其他点位
|
||||
if (jsonCoolIvt.getString("empty_point_status").equals("01")){
|
||||
form.put("point_code4",jsonCoolIvt.getString("empty_point_code"));
|
||||
}else {
|
||||
if (jsonCoolIvt.getString("empty_point_status").equals("01")) {
|
||||
form.put("point_code4", jsonCoolIvt.getString("empty_point_code"));
|
||||
} else {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("flag", "6");
|
||||
map.put("product_area", device_jo.getString("product_area"));
|
||||
JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);
|
||||
form.put("point_code4",jsonIvt.getString("empty_point_code"));
|
||||
form.put("point_code4", jsonIvt.getString("empty_point_code"));
|
||||
}
|
||||
form.put("task_type","010701");
|
||||
form.put("material_code",jsonCoolIvt.getString("container_name"));
|
||||
form.put("vehicle_code",jsonCoolIvt.getString("full_vehicle_code"));
|
||||
form.put("product_area",device_jo.getString("product_area"));
|
||||
form.put("task_type", "010701");
|
||||
form.put("material_code", jsonCoolIvt.getString("container_name"));
|
||||
form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code"));
|
||||
form.put("product_area", device_jo.getString("product_area"));
|
||||
}
|
||||
processTask.createTask(form);
|
||||
}
|
||||
//退料
|
||||
if ("2".equals(Type)){
|
||||
if ("2".equals(Type)) {
|
||||
//取满取空放满放空
|
||||
JSONObject form = new JSONObject();
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("flag", "1");
|
||||
map.put("product_area", device_jo.getString("product_area"));
|
||||
JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);
|
||||
form.put("point_code1",device_jo.getString("point_code"));
|
||||
form.put("point_code1", device_jo.getString("point_code"));
|
||||
//寻找可用的冷却区满轴点位
|
||||
form.put("point_code2",jsonIvt.getString("full_point_code"));
|
||||
form.put("task_type","010704");
|
||||
form.put("material_code",device_jo.getString("up_pcsn"));
|
||||
form.put("vehicle_code",device_jo.getString("up_scroll"));
|
||||
form.put("product_area",device_jo.getString("product_area"));
|
||||
form.put("point_code2", jsonIvt.getString("full_point_code"));
|
||||
form.put("task_type", "010704");
|
||||
form.put("material_code", device_jo.getString("up_pcsn"));
|
||||
form.put("vehicle_code", device_jo.getString("up_scroll"));
|
||||
form.put("product_area", device_jo.getString("product_area"));
|
||||
processTask.createTask(form);
|
||||
}
|
||||
|
||||
@@ -1547,4 +1567,68 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
log.info("sendProcessInfo接口输出参数为:-------------------" + resultParam.toString());
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject sendTargetHouse(JSONObject param) {
|
||||
log.info("sendTargetHouse输入参数为:-------------------" + param.toString());
|
||||
JSONObject resultParam = new JSONObject();
|
||||
try {
|
||||
String containerName = param.getString("sconds");
|
||||
String TargetHouse = param.getString("TargetHouse");
|
||||
if (StringUtils.isBlank(containerName)) {
|
||||
throw new BadRequestException("传入的母卷号不能为空!");
|
||||
}
|
||||
if (StringUtils.isBlank(TargetHouse)) {
|
||||
throw new BadRequestException("传入的目标库不能为空!");
|
||||
}
|
||||
//待检区和管制区库位信息
|
||||
List<BstIvtPackageinfoivt> bstIvtPackageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.in(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.POINT_STATUS.code("管制区"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
//子卷信息
|
||||
BstIvtPackageinfoivt containerInfo =
|
||||
bstIvtPackageinfoivtList.stream().filter(r -> r.getContainer_name().equals(containerName)).collect(Collectors.toList()).get(0);
|
||||
JSONObject toDjqTask = new JSONObject();
|
||||
toDjqTask.put("vehicle_code", containerName);
|
||||
//0 管制区 1待检区
|
||||
if ("0".equals(TargetHouse)) {
|
||||
if (containerInfo.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区"))) {
|
||||
List<BstIvtPackageinfoivt> djqList = bstIvtPackageinfoivtList.stream().filter(r -> r.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区")) && r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))).collect(Collectors.toList());
|
||||
//待检区有空位,搬到待检区
|
||||
if (CollectionUtils.isNotEmpty(djqList)) {
|
||||
toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("管制区->待检区"));
|
||||
toDjqTask.put("point_code1", containerInfo.getPoint_code());
|
||||
toDjqTask.put("point_code2", djqList.get(0).getPoint_code());
|
||||
djqTask.createTask(toDjqTask);
|
||||
}
|
||||
}
|
||||
|
||||
} else if ("1".equals(TargetHouse)) {
|
||||
if (containerInfo.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("管制区"))) {
|
||||
List<BstIvtPackageinfoivt> gzqList = bstIvtPackageinfoivtList.stream().filter(r -> r.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("管制区")) && r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))).collect(Collectors.toList());
|
||||
//管制区有空位
|
||||
if (CollectionUtils.isNotEmpty(gzqList)) {
|
||||
toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("管制区->待检区"));
|
||||
toDjqTask.put("point_code1", containerInfo.getPoint_code());
|
||||
toDjqTask.put("point_code2", gzqList.get(0).getPoint_code());
|
||||
gzqTask.createTask(toDjqTask);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
} catch (Exception e) {
|
||||
resultParam.put("RTYPE", "E");
|
||||
resultParam.put("Code", "1");
|
||||
resultParam.put("RTMSG", "操作失败!," + e.getMessage());
|
||||
}
|
||||
log.info("sendTargetHouse接口输出参数为:-------------------" + resultParam);
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -20,8 +20,12 @@ public enum RegionTypeEnum {
|
||||
LKCK("17", "密集库出库输送线", "1585167595403874304"),
|
||||
XN01("18", "虚拟区", "1586913215886004224"),
|
||||
PD01("19", "盘点区", "1645705331612979200"),
|
||||
TWO_ZZ01("20", "二期暂存区", ""),
|
||||
TWO_TTP01("21", "二期空托盘区", "1750471797729529856");
|
||||
TWO_ZZ01("20", "二期暂存区", "1760183596628447232"),
|
||||
TWO_TTP01("21", "二期空托盘区", "1750471797729529856"),
|
||||
TWO_MX01("22", "二期木箱区", "1752254266938101760"),
|
||||
TWO_KZ01("23", "二期捆扎区", "1754774130626007040"),
|
||||
TWO_FH01("24", "二期发货区", "1759453285649092608"),
|
||||
TWO_OUT01("25", "二期出库区", "1760141408548818944");
|
||||
|
||||
private String name;
|
||||
private String code;
|
||||
|
||||
@@ -110,7 +110,6 @@ public abstract class AbstractAcsTask {
|
||||
public JSONObject immediateNotifyAcs(String task_id) {
|
||||
List<AcsTaskDto> taskList = this.schedule();
|
||||
if (ObjectUtil.isNotEmpty(taskList)) {
|
||||
|
||||
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(taskList));
|
||||
return AcsUtil.notifyAcs("api/wms/task", arr);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.sch.manage;
|
||||
|
||||
public enum TaskStatusEnum {
|
||||
|
||||
CREATED("01", "生成"),
|
||||
SURE_START("02", "确定起点"),
|
||||
SURE_END("03", "确定终点"),
|
||||
|
||||
@@ -85,71 +85,6 @@ public class CutTrussTask extends AbstractAcsTask {
|
||||
String task_id = taskObj.getString("task_id");
|
||||
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
|
||||
if (StrUtil.equals(status, "0")) {
|
||||
// 更新删除字段
|
||||
jsonTask.put("is_delete", "1");
|
||||
jsonTask.put("update_time", DateUtil.now());
|
||||
taskTab.update(jsonTask);
|
||||
|
||||
//桁架标准任务
|
||||
if ("010403".equals(jsonTask.getString("task_type"))) {
|
||||
//更新入站气涨轴的分切计划状态
|
||||
JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status IN ('04','05')").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(plan_jo)) {
|
||||
throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:入站中或入站完成的分切计划!");
|
||||
}
|
||||
for (int i = 0; i < plan_jo.size(); i++) {
|
||||
JSONObject plan_row = plan_jo.getJSONObject(i);
|
||||
plan_row.put("status", "03");
|
||||
plan_row.put("end_time", DateUtil.now());
|
||||
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
|
||||
}
|
||||
|
||||
//更新出站气涨轴的分切计划状态
|
||||
JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code2") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '06'").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(plan_jo2)) {
|
||||
throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code2") + "状态为:出站中的分切计划!");
|
||||
}
|
||||
for (int i = 0; i < plan_jo2.size(); i++) {
|
||||
JSONObject plan_row = plan_jo2.getJSONObject(i);
|
||||
plan_row.put("status", "05");
|
||||
plan_row.put("end_time", DateUtil.now());
|
||||
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
|
||||
}
|
||||
}
|
||||
|
||||
//分切>输送线 子卷出站
|
||||
if ("010404".equals(jsonTask.getString("task_type"))) {
|
||||
if (!jsonTask.getString("vehicle_code").contains("废箔")) {
|
||||
//更新出站气涨轴的分切计划状态
|
||||
JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '06'").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(plan_jo2)) {
|
||||
throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:出站中的分切计划!");
|
||||
}
|
||||
for (int i = 0; i < plan_jo2.size(); i++) {
|
||||
JSONObject plan_row = plan_jo2.getJSONObject(i);
|
||||
plan_row.put("status", "05");
|
||||
plan_row.put("end_time", DateUtil.now());
|
||||
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
|
||||
}
|
||||
}
|
||||
}
|
||||
//分切>输送线 子卷入站
|
||||
if ("010405".equals(jsonTask.getString("task_type"))) {
|
||||
//更新入站气涨轴的分切计划状态
|
||||
JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status IN ('04','05') ").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(plan_jo)) {
|
||||
throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:入站中或入站完成的分切计划!");
|
||||
}
|
||||
for (int i = 0; i < plan_jo.size(); i++) {
|
||||
JSONObject plan_row = plan_jo.getJSONObject(i);
|
||||
plan_row.put("status", "03");
|
||||
plan_row.put("end_time", DateUtil.now());
|
||||
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
@@ -165,7 +100,6 @@ public class CutTrussTask extends AbstractAcsTask {
|
||||
jsonTask.put("update_time", DateUtil.now());
|
||||
taskTab.update(jsonTask);
|
||||
|
||||
|
||||
//桁架标准任务,双工位任务
|
||||
if ("010403".equals(jsonTask.getString("task_type"))) {
|
||||
//更新分切机对应位置的气涨轴
|
||||
@@ -264,84 +198,6 @@ public class CutTrussTask extends AbstractAcsTask {
|
||||
cutConveyorTask.createTask(form);
|
||||
}
|
||||
|
||||
//子卷入站
|
||||
if ("010405".equals(jsonTask.getString("task_type"))) {
|
||||
//更新输送线的气涨轴编码
|
||||
JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(delivery_point)) {
|
||||
throw new BadRequestException("未查询到对应的输送线点位!");
|
||||
}
|
||||
delivery_point.put("qzzno", "");
|
||||
delivery_point.put("point_status", "02");
|
||||
WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").update(delivery_point);
|
||||
|
||||
//更新入站气涨轴的分切计划状态
|
||||
JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status IN ('04','05') ").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(plan_jo)) {
|
||||
throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "对应的分切计划!");
|
||||
}
|
||||
for (int i = 0; i < plan_jo.size(); i++) {
|
||||
JSONObject plan_row = plan_jo.getJSONObject(i);
|
||||
plan_row.put("status", "05");
|
||||
plan_row.put("end_time", DateUtil.now());
|
||||
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
|
||||
}
|
||||
|
||||
//如果桁架任务执行完,右侧的输送线上存在气涨轴,则生成一个输送出的任务,防止左侧空载具挡住右侧气涨轴进行横移
|
||||
log.debug("如果桁架任务执行完,缓存位的输送线上存在气涨轴,则对上料位的空载具生成一个输送出的任务");
|
||||
char dtl_type = jsonTask.getString("point_code1").charAt(jsonTask.getString("point_code1").length() - 1);
|
||||
if (Integer.valueOf(String.valueOf(dtl_type)) % 2 != 0) {
|
||||
String point_location = delivery_point.getString("point_location");
|
||||
String product_area = delivery_point.getString("product_area");
|
||||
String sort_seq = delivery_point.getString("sort_seq");
|
||||
JSONObject right_point = WQL.getWO("PDA_02")
|
||||
.addParam("point_location", point_location)
|
||||
.addParam("point_code", jsonTask.getString("point_code1"))
|
||||
.addParam("product_area", product_area)
|
||||
.addParam("sort_seq", sort_seq)
|
||||
.addParam("find_type", "3")
|
||||
.addParam("flag", "17").process().uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(right_point)) {
|
||||
log.debug("生成一个输送线出库任务");
|
||||
//生成一个输送线出库任务
|
||||
JSONObject form = new JSONObject();
|
||||
form.put("point_code1", jsonTask.getString("point_code1"));
|
||||
JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + delivery_point.getString("product_area") + "' AND point_type = '7'").uniqueResult(0);
|
||||
form.put("point_code2", ss_jo.getString("point_code"));
|
||||
if (StrUtil.isEmpty(delivery_point.getString("vehicle_code"))) {
|
||||
throw new BadRequestException("点位:" + delivery_point.getString("point_code") + "载具号为空!");
|
||||
}
|
||||
form.put("vehicle_code2", delivery_point.getString("vehicle_code"));
|
||||
//分切输送出
|
||||
form.put("task_type", "010401");
|
||||
form.put("product_area", delivery_point.getString("product_area"));
|
||||
cutConveyorTask.createTask(form);
|
||||
} else {
|
||||
|
||||
right_point = WQL.getWO("PDA_02")
|
||||
.addParam("point_location", point_location)
|
||||
.addParam("point_code", jsonTask.getString("point_code1"))
|
||||
.addParam("product_area", product_area)
|
||||
.addParam("sort_seq", sort_seq)
|
||||
.addParam("find_type", "4")
|
||||
.addParam("flag", "18").process().uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(right_point)) {
|
||||
//判断对应缓存位是否存在需要末次下卷或者废箔下卷的任务
|
||||
JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + right_point.getString("vehicle_code") + "' AND is_delete = '0' AND task_status = '02'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(task_jo)) {
|
||||
if ("010404".equals(task_jo.getString("task_type"))) {
|
||||
//出站
|
||||
task_jo.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
task_jo.put("point_code2", jsonTask.getString("point_code1"));
|
||||
task_jo.put("vehicle_code2", delivery_point.getString("vehicle_code"));
|
||||
WQLObject.getWQLObject("sch_base_task").update(task_jo);
|
||||
new CutTrussTask().immediateNotifyAcs(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,10 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.InVehicleManageServiceImpl;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.OutVehicleManageServiceImpl;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.*;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManageService;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.st.inbill.service.CheckOutBillService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -36,6 +38,12 @@ public class CheckOutBillController {
|
||||
@Autowired
|
||||
private IStIvtIostorinvOutService iStIvtIostorinvOutService;
|
||||
|
||||
private final LashManageService lashManageService;
|
||||
|
||||
private final InBussManageService inBussManageService;
|
||||
|
||||
private final SendOutManageServiceImpl sendOutManageService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询出库单")
|
||||
|
||||
@@ -377,4 +385,39 @@ public class CheckOutBillController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/testInBox")
|
||||
@Log("木箱入库测试")
|
||||
public ResponseEntity<Object> testInBox(@RequestBody JSONObject whereJson) {
|
||||
new InBoxManageServiceImpl().inBox(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/testOutBox")
|
||||
@Log("木箱出库测试")
|
||||
public ResponseEntity<Object> testOutBox(@RequestBody JSONObject whereJson) {
|
||||
new OutBoxManageServiceImpl().outBox(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/testBoxLash")
|
||||
@Log("木箱捆扎测试")
|
||||
public ResponseEntity<Object> testBoxLash(@RequestBody JSONObject whereJson) {
|
||||
lashManageService.createLashTask(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/testSendOut")
|
||||
@Log("发货区测试")
|
||||
public ResponseEntity<Object> testSendOut(@RequestBody JSONObject whereJson) {
|
||||
sendOutManageService.createSendOutTask(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/testIn")
|
||||
@Log("申请入库")
|
||||
public ResponseEntity<Object> testIn(@RequestBody JSONObject whereJson) {
|
||||
inBussManageService.inTask(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user