Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
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.service.iostorInv.util.impl.LashManageServiceImpl;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.LashManageServiceImpl;
|
||||||
|
import org.nl.common.utils.RedissonUtils;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
@@ -235,7 +236,7 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
|||||||
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
||||||
bean1.createLashTask(jsonParam);
|
bean1.createLashTask(jsonParam);
|
||||||
// 再次下发:找相同任务组的下发
|
// 再次下发:找相同任务组的下发
|
||||||
sendTaskAcs(jsonTask.getString("task_group_id"));
|
sendTaskAcs(jsonTask.getString("task_group_id"),false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -299,7 +300,7 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
|||||||
this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code("否"));
|
this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code("否"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendTaskAcs(String groupTaskId) {
|
public void sendTaskAcs(String groupTaskId,boolean retry) {
|
||||||
/*
|
/*
|
||||||
* 下发给ACS时需要特殊处理
|
* 下发给ACS时需要特殊处理
|
||||||
*/
|
*/
|
||||||
@@ -310,7 +311,7 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
|||||||
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and task_group_id = '" + groupTaskId + "'" + " and is_delete ='0' ORDER BY create_time")
|
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and task_group_id = '" + groupTaskId + "'" + " and is_delete ='0' ORDER BY create_time")
|
||||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(taskArrAll)) {
|
if (ObjectUtil.isEmpty(taskArrAll) && retry) {
|
||||||
taskArrAll = wo_Task
|
taskArrAll = wo_Task
|
||||||
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time")
|
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time")
|
||||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.nl.b_lms.sch.tasks.first_floor_area.auto;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -95,6 +96,14 @@ public class AutoSendZxToDjw extends Prun{
|
|||||||
if (ObjectUtils.isEmpty(zxwPackageinfoivtList)) {
|
if (ObjectUtils.isEmpty(zxwPackageinfoivtList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
int count = taskService.count(new QueryWrapper<SchBaseTask>()
|
||||||
|
.eq("task_type", PackageInfoIvtEnum.TASK_TYPE.code("装箱区->装箱对接位"))
|
||||||
|
.eq("is_delete", "0")
|
||||||
|
.lt("task_status", TaskStatusEnum.FINISHED.getCode()));
|
||||||
|
if (count>0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (BstIvtPackageinfoivt bstIvtPackageinfoivt : zxwPackageinfoivtList) {
|
for (BstIvtPackageinfoivt bstIvtPackageinfoivt : zxwPackageinfoivtList) {
|
||||||
//装箱位上的木箱号
|
//装箱位上的木箱号
|
||||||
String boxNo = bstIvtPackageinfoivt.getContainer_name();
|
String boxNo = bstIvtPackageinfoivt.getContainer_name();
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ public class LashManageServiceImpl implements LashManageService {
|
|||||||
|
|
||||||
TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class);
|
TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class);
|
||||||
bean.createTask(jsonTaskParam);
|
bean.createTask(jsonTaskParam);
|
||||||
bean.sendTaskAcs(whereJson.getString("task_group_id"));
|
bean.sendTaskAcs(whereJson.getString("task_group_id"),true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import org.nl.modules.wql.WQL;
|
|||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
|
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
|
||||||
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -195,52 +196,49 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
|
||||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||||
// 仓位表
|
// 仓位表
|
||||||
|
JSONObject jsonAttrNow = null;
|
||||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||||
|
|
||||||
// 查询任务
|
// 查询任务
|
||||||
SchBaseTask taskDao = ischBaseTaskService.getOne(
|
SchBaseTask taskDao = ischBaseTaskService.getOne(
|
||||||
new QueryWrapper<SchBaseTask>().lambda()
|
new QueryWrapper<SchBaseTask>().lambda()
|
||||||
.eq(SchBaseTask::getTask_code, jsonObject.getString("task_code"))
|
.eq(SchBaseTask::getTask_code, jsonObject.getString("task_code"))
|
||||||
);
|
);
|
||||||
|
|
||||||
// 标记原货位为满入异常锁
|
|
||||||
JSONObject jsonAttr = attrTab.query("struct_code = '" + taskDao.getPoint_code1() + "'").uniqueResult(0);
|
JSONObject jsonAttr = attrTab.query("struct_code = '" + taskDao.getPoint_code1() + "'").uniqueResult(0);
|
||||||
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("货位异常锁"));
|
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
|
||||||
|
jsonAttr.put("storagevehicle_code",null);
|
||||||
|
jsonAttr.put("remark", "空出设置为空"+taskDao.getTask_id());
|
||||||
attrTab.update(jsonAttr);
|
attrTab.update(jsonAttr);
|
||||||
if (taskDao.getPoint_code2().contains("ZXQ")){
|
|
||||||
throw new BadRequestException("当前木箱出库至ZXQ,木箱空出异常");
|
if ("010706".equals(taskDao.getTask_type())){
|
||||||
|
BstIvtBoxinfo boxDao = bstIvtBoxinfoMapper.selectOne(
|
||||||
|
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||||
|
.eq(BstIvtBoxinfo::getBox_no, taskDao.getVehicle_code())
|
||||||
|
);
|
||||||
|
|
||||||
|
JSONObject jsonParam = new JSONObject();
|
||||||
|
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
|
||||||
|
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
|
||||||
|
jsonParam.put("material_code", boxDao.getMaterial_code());
|
||||||
|
jsonParam.put("move_block_num", jsonAttr.getString("block_num"));
|
||||||
|
jsonParam.put("num", boxDao.getNum());
|
||||||
|
jsonAttrNow = getStruct(jsonParam);
|
||||||
|
if (ObjectUtil.isEmpty(jsonAttrNow)) {
|
||||||
|
throw new BadRequestException("空出重新分配:库存不足!");
|
||||||
|
}
|
||||||
|
// 锁定新终点
|
||||||
|
jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("空托盘出库锁"));
|
||||||
|
attrTab.update(jsonAttrNow);
|
||||||
|
// 更新任务起点
|
||||||
|
taskDao.setPoint_code1(jsonAttrNow.getString("struct_code"));
|
||||||
|
taskDao.setVehicle_code(jsonAttrNow.getString("storagevehicle_code"));
|
||||||
|
ischBaseTaskService.updateById(taskDao);
|
||||||
|
}else {
|
||||||
|
taskDao.setRemark("空出,手动处理任务");
|
||||||
|
ischBaseTaskService.updateById(taskDao);
|
||||||
|
throw new BadRequestException("空出异常:手动维护业务及任务");
|
||||||
}
|
}
|
||||||
// 重新分配货位
|
|
||||||
BstIvtBoxinfo boxDao = bstIvtBoxinfoMapper.selectOne(
|
|
||||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
|
||||||
.eq(BstIvtBoxinfo::getBox_no, taskDao.getVehicle_code())
|
|
||||||
);
|
|
||||||
|
|
||||||
JSONObject jsonParam = new JSONObject();
|
|
||||||
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
|
|
||||||
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
|
|
||||||
jsonParam.put("material_code", boxDao.getMaterial_code());
|
|
||||||
jsonParam.put("move_block_num", jsonAttr.getString("block_num"));
|
|
||||||
jsonParam.put("num", boxDao.getNum());
|
|
||||||
|
|
||||||
// 调用找货位方法
|
|
||||||
JSONObject jsonAttrNow = getStruct(jsonParam);
|
|
||||||
if (ObjectUtil.isEmpty(jsonAttrNow)) {
|
|
||||||
throw new BadRequestException("库存不足!");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 锁定新终点
|
|
||||||
jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("木箱出库锁"));
|
|
||||||
attrTab.update(jsonAttrNow);
|
|
||||||
|
|
||||||
// 更新任务起点
|
|
||||||
taskDao.setPoint_code1(jsonAttrNow.getString("struct_code"));
|
|
||||||
taskDao.setVehicle_code(jsonAttrNow.getString("storagevehicle_code"));
|
|
||||||
ischBaseTaskService.updateById(taskDao);
|
|
||||||
|
|
||||||
return jsonAttrNow;
|
return jsonAttrNow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2252,7 +2252,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public JSONObject deviceApplyExceptional(JSONObject whereJson) {
|
public JSONObject deviceApplyExceptional(JSONObject whereJson) {
|
||||||
log.info("deviceApplyExceptional请求参数:---------------------------------------------" + whereJson.toString());
|
log.info("deviceApplyExceptional请求参数:---------------------------------------------" + whereJson.toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user