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 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.common.utils.RedissonUtils;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
@@ -235,7 +236,7 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
||||
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
||||
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("否"));
|
||||
}
|
||||
|
||||
public void sendTaskAcs(String groupTaskId) {
|
||||
public void sendTaskAcs(String groupTaskId,boolean retry) {
|
||||
/*
|
||||
* 下发给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")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
if (ObjectUtil.isEmpty(taskArrAll)) {
|
||||
if (ObjectUtil.isEmpty(taskArrAll) && retry) {
|
||||
taskArrAll = wo_Task
|
||||
.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);
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.nl.b_lms.sch.tasks.first_floor_area.auto;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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.UpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -95,6 +96,14 @@ public class AutoSendZxToDjw extends Prun{
|
||||
if (ObjectUtils.isEmpty(zxwPackageinfoivtList)) {
|
||||
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) {
|
||||
//装箱位上的木箱号
|
||||
String boxNo = bstIvtPackageinfoivt.getContainer_name();
|
||||
|
||||
@@ -316,7 +316,7 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
|
||||
TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class);
|
||||
bean.createTask(jsonTaskParam);
|
||||
bean.sendTaskAcs(whereJson.getString("task_group_id"));
|
||||
bean.sendTaskAcs(whereJson.getString("task_group_id"),true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
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.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -195,52 +196,49 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
JSONObject jsonAttrNow = null;
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
// 查询任务
|
||||
SchBaseTask taskDao = ischBaseTaskService.getOne(
|
||||
new QueryWrapper<SchBaseTask>().lambda()
|
||||
.eq(SchBaseTask::getTask_code, jsonObject.getString("task_code"))
|
||||
);
|
||||
|
||||
// 标记原货位为满入异常锁
|
||||
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);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -2252,7 +2252,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@SneakyThrows
|
||||
public JSONObject deviceApplyExceptional(JSONObject whereJson) {
|
||||
log.info("deviceApplyExceptional请求参数:---------------------------------------------" + whereJson.toString());
|
||||
|
||||
Reference in New Issue
Block a user