Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -127,6 +127,11 @@ public enum IOSEnum {
|
|||||||
"子卷下线行架任务", "16","退货入库行架任务", "14","RGV输送任务", "15",
|
"子卷下线行架任务", "16","退货入库行架任务", "14","RGV输送任务", "15",
|
||||||
"木箱堆叠行架任务", "17"
|
"木箱堆叠行架任务", "17"
|
||||||
)),
|
)),
|
||||||
|
|
||||||
|
// acs反馈异常出库
|
||||||
|
ACS_EXCEPTIONAL_TYPE(MapOf.of("入库满入", "1","浅货位有货(入库)", "4",
|
||||||
|
"出库空出", "2","浅货位有货(出库)", "3"
|
||||||
|
)),
|
||||||
;
|
;
|
||||||
|
|
||||||
private Map<String, String> code;
|
private Map<String, String> code;
|
||||||
|
|||||||
@@ -138,4 +138,11 @@ public interface IStIvtIostorinvOutService extends IService<StIvtIostorinv> {
|
|||||||
* @param whereJson: 任务对象
|
* @param whereJson: 任务对象
|
||||||
*/
|
*/
|
||||||
void finishTask(JSONObject whereJson);
|
void finishTask(JSONObject whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库浅货位有货阻挡异常处理
|
||||||
|
* @param whereJson /
|
||||||
|
* @return String 任务标识
|
||||||
|
*/
|
||||||
|
String taskExceptionalOut(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.nl.b_lms.pdm_manage.enums.SUBEnum;
|
import org.nl.b_lms.pdm_manage.enums.SUBEnum;
|
||||||
|
import org.nl.b_lms.sch.tasks.TwoExcepionalMoveTask;
|
||||||
import org.nl.b_lms.sch.tasks.TwoOutExceptionalTask;
|
import org.nl.b_lms.sch.tasks.TwoOutExceptionalTask;
|
||||||
import org.nl.b_lms.sch.tasks.TwoOutTask;
|
import org.nl.b_lms.sch.tasks.TwoOutTask;
|
||||||
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
||||||
@@ -1051,6 +1052,45 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public String taskExceptionalOut(JSONObject jsonObject) {
|
||||||
|
// 任务表
|
||||||
|
WQLObject taskService = WQLObject.getWQLObject("sch_base_task");
|
||||||
|
// 仓位表
|
||||||
|
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||||
|
|
||||||
|
JSONObject jsonTask = taskService.query("task_code = '" + jsonObject.getString("task_code") + "'").uniqueResult(0);
|
||||||
|
|
||||||
|
// 找出对应的浅货位
|
||||||
|
JSONObject jsonAttrOrder = attrTab.query("struct_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
|
||||||
|
|
||||||
|
JSONObject jsonAttrNow = attrTab.query("row_num = '" + jsonAttrOrder.getString("row_num") + "' AND layer_num = '" + jsonAttrOrder.getString("layer_num") + "' AND col_num = '" + jsonAttrOrder.getString("col_num") + "' and zdepth = '" + IOSEnum.ZDEPTH_STRUCT.code("浅") + "' and stor_id = '" + jsonAttrOrder.getString("stor_id") + "' and is_delete = '0' and is_used = '1'")
|
||||||
|
.uniqueResult(0);
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(jsonAttrNow)) {
|
||||||
|
throw new BadRequestException("对应浅货位不存在或未启用!" + jsonTask.getString("point_code1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 锁住仓位
|
||||||
|
jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("货位异常出库锁"));
|
||||||
|
attrTab.update(jsonAttrNow);
|
||||||
|
|
||||||
|
// 生成任务
|
||||||
|
JSONObject taskParam = new JSONObject();
|
||||||
|
taskParam.put("start_device_code", jsonAttrNow.getString("struct_code"));
|
||||||
|
taskParam.put("next_device_code", IOSEnum.OUT_POINT.code(jsonAttrNow.getString("row_num")));
|
||||||
|
taskParam.put("task_type", "010712");
|
||||||
|
taskParam.put("car_no", "此货位LMS系统未有库存,请待出至【CK2001】点位后确认实物并重新手工入回库!");
|
||||||
|
taskParam.put("vehicle_code",IOSEnum.IS_NOTANDYES.code("否"));
|
||||||
|
|
||||||
|
TwoExcepionalMoveTask taskBean = new TwoExcepionalMoveTask();
|
||||||
|
String task_id = taskBean.createTask(taskParam);
|
||||||
|
taskBean.immediateNotifyAcs(null);
|
||||||
|
|
||||||
|
return task_id;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建调拨入库单
|
* 创建调拨入库单
|
||||||
* @param disDaoList:出库分配明细集合
|
* @param disDaoList:出库分配明细集合
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
|||||||
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
||||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||||
import org.nl.b_lms.storage_manage.ios.enums.TASKEnum;
|
import org.nl.b_lms.storage_manage.ios.enums.TASKEnum;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService;
|
||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*;
|
||||||
import org.nl.common.enums.NoticeTypeEnum;
|
import org.nl.common.enums.NoticeTypeEnum;
|
||||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||||
@@ -162,6 +163,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ProductOutTwoService productOutTwoService;
|
private ProductOutTwoService productOutTwoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IStIvtIostorinvOutService iStIvtIostorinvOutService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task_id:任务标识
|
* task_id:任务标识
|
||||||
@@ -2249,40 +2253,40 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// 判断任务类型
|
// 判断任务类型
|
||||||
if (taskDao.getTask_type().equals(TASKEnum.BOX_TYPE.code("木箱入库"))) {
|
if (taskDao.getTask_type().equals(TASKEnum.BOX_TYPE.code("木箱入库"))) {
|
||||||
// 木箱入库:满入、浅货位有货-放货时
|
// 木箱入库:满入、浅货位有货-放货时
|
||||||
if (type.equals("1") || type.equals("4")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("入库满入")) || type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(入库)"))) {
|
||||||
point_code = inBoxManageService.taskExceptional(whereJson);
|
point_code = inBoxManageService.taskExceptional(whereJson);
|
||||||
}
|
}
|
||||||
} else if (taskDao.getTask_type().equals(TASKEnum.BOX_TYPE.code("木箱出库"))) {
|
} else if (taskDao.getTask_type().equals(TASKEnum.BOX_TYPE.code("木箱出库"))) {
|
||||||
// 木箱出库:空出、浅货位有货-取货时
|
// 木箱出库:空出、浅货位有货-取货时
|
||||||
if (type.equals("2")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("出库空出"))) {
|
||||||
point_code = outBoxManageService.taskExceptional(whereJson);
|
point_code = outBoxManageService.taskExceptional(whereJson);
|
||||||
}
|
}
|
||||||
if (type.equals("3")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(出库)"))) {
|
||||||
String task_id = outBoxManageService.taskExceptionalOut(whereJson);
|
String task_id = outBoxManageService.taskExceptionalOut(whereJson);
|
||||||
result.put("task_id", task_id);
|
result.put("task_id", task_id);
|
||||||
}
|
}
|
||||||
} else if (taskDao.getTask_type().equals(TASKEnum.VEHICLE_TYPE.code("托盘入库"))) {
|
} else if (taskDao.getTask_type().equals(TASKEnum.VEHICLE_TYPE.code("托盘入库"))) {
|
||||||
// 托盘入库:满入、浅货位有货-放货时
|
// 托盘入库:满入、浅货位有货-放货时
|
||||||
if (type.equals("1") || type.equals("4")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("入库满入")) || type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(入库)"))) {
|
||||||
point_code = inVehicleManageService.taskExceptional(whereJson);
|
point_code = inVehicleManageService.taskExceptional(whereJson);
|
||||||
}
|
}
|
||||||
} else if (taskDao.getTask_type().equals(TASKEnum.VEHICLE_TYPE.code("托盘出库"))) {
|
} else if (taskDao.getTask_type().equals(TASKEnum.VEHICLE_TYPE.code("托盘出库"))) {
|
||||||
// 托盘出库:空出、浅货位有货-取货时
|
// 托盘出库:空出、浅货位有货-取货时
|
||||||
if (type.equals("2")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("出库空出"))) {
|
||||||
point_code = outVehicleManageService.taskExceptional(whereJson);
|
point_code = outVehicleManageService.taskExceptional(whereJson);
|
||||||
}
|
}
|
||||||
if (type.equals("3")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(出库)"))) {
|
||||||
String task_id = outVehicleManageService.taskExceptionalOut(whereJson);
|
String task_id = outVehicleManageService.taskExceptionalOut(whereJson);
|
||||||
result.put("task_id", task_id);
|
result.put("task_id", task_id);
|
||||||
}
|
}
|
||||||
} else if (taskDao.getTask_type().equals(TASKEnum.PROUD_TYPE.code("成品入库"))) {
|
} else if (taskDao.getTask_type().equals(TASKEnum.PROUD_TYPE.code("成品入库"))) {
|
||||||
// 成品入库:满入、浅货位有货-放货时
|
// 成品入库:满入、浅货位有货-放货时
|
||||||
if (type.equals("1") || type.equals("4")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("入库满入")) || type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(入库)"))) {
|
||||||
point_code = inBussManageService.taskExceptional(whereJson);
|
point_code = inBussManageService.taskExceptional(whereJson);
|
||||||
}
|
}
|
||||||
} else if (taskDao.getTask_type().equals(TASKEnum.PROUD_TYPE.code("成品出库"))) {
|
} else if (taskDao.getTask_type().equals(TASKEnum.PROUD_TYPE.code("成品出库"))) {
|
||||||
// 成品出库:空出
|
// 成品出库:空出
|
||||||
if (type.equals("2")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("出库空出"))) {
|
||||||
taskDao.setRemark("【空出】请检查货位库存!");
|
taskDao.setRemark("【空出】请检查货位库存!");
|
||||||
taskDao.setCar_no("【空出】请检查货位库存!");
|
taskDao.setCar_no("【空出】请检查货位库存!");
|
||||||
taskService.updateById(taskDao);
|
taskService.updateById(taskDao);
|
||||||
@@ -2293,11 +2297,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
log.info("deviceApplyExceptional返回参数:---------------------------------------------" + result.toString());
|
log.info("deviceApplyExceptional返回参数:---------------------------------------------" + result.toString());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(出库)"))) {
|
||||||
|
// 浅货位阻挡-取货时
|
||||||
|
String task_id = iStIvtIostorinvOutService.taskExceptionalOut(whereJson);
|
||||||
|
result.put("task_id", task_id);
|
||||||
|
}
|
||||||
} else if (taskDao.getTask_type().equals(TASKEnum.PROUD_TYPE.code("立库转库"))) {
|
} else if (taskDao.getTask_type().equals(TASKEnum.PROUD_TYPE.code("立库转库"))) {
|
||||||
// 立库转库:满入、浅货位有货-放货时
|
// 立库转库:满入、浅货位有货-放货时
|
||||||
if (type.equals("1") || type.equals("4")) {
|
if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("入库满入")) || type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(入库)"))) {
|
||||||
point_code = outBussManageService.taskExceptional(whereJson);
|
point_code = outBussManageService.taskExceptional(whereJson);
|
||||||
} else if (type.equals("2")) {
|
} else if (type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("出库空出"))) {
|
||||||
// 立库转库空出
|
// 立库转库空出
|
||||||
taskDao.setRemark("【空出】请检查货位库存!");
|
taskDao.setRemark("【空出】请检查货位库存!");
|
||||||
taskDao.setCar_no("【空出】请检查货位库存!");
|
taskDao.setCar_no("【空出】请检查货位库存!");
|
||||||
@@ -2311,7 +2320,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!type.equals("3") && ObjectUtil.isEmpty(point_code)) {
|
if (!type.equals(IOSEnum.ACS_EXCEPTIONAL_TYPE.code("浅货位有货(出库)")) && ObjectUtil.isEmpty(point_code)) {
|
||||||
throw new BadRequestException("立库异常任务处理失败,仓位为空!");
|
throw new BadRequestException("立库异常任务处理失败,仓位为空!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user