Merge remote-tracking branch 'origin/master_merge' into master_merge
# Conflicts: # lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java
This commit is contained in:
@@ -91,6 +91,15 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询没有搬运任务的空的目标点位
|
||||||
|
* @param ivtType 点位类型
|
||||||
|
* @param ivtStatus 库存状态
|
||||||
|
* @param pointCode 取货还是放货
|
||||||
|
* @param sortType 点位排序规则1:升序2:降序
|
||||||
|
* @param taskType 任务类型
|
||||||
|
* @return List<BstIvtPackageinfoivt>
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<BstIvtPackageinfoivt> checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
public List<BstIvtPackageinfoivt> checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
||||||
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
||||||
@@ -132,7 +141,6 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
} else {
|
} else {
|
||||||
pointSets = taskList.stream()
|
pointSets = taskList.stream()
|
||||||
// 对每个任务应用映射操作,将point_code字段添加到Stream中
|
|
||||||
.flatMap(task -> Stream.of(
|
.flatMap(task -> Stream.of(
|
||||||
task.getPoint_code1(),
|
task.getPoint_code1(),
|
||||||
task.getPoint_code2(),
|
task.getPoint_code2(),
|
||||||
@@ -412,6 +420,11 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param actionType 分配类型-取货分配/放货分配
|
||||||
|
* @param taskPointType 任务类型
|
||||||
|
* @param baseTask 任务信息
|
||||||
|
*/
|
||||||
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
||||||
BstIvtPackageinfoivt newPoint;
|
BstIvtPackageinfoivt newPoint;
|
||||||
//1取货任务2放货任务
|
//1取货任务2放货任务
|
||||||
@@ -422,7 +435,11 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
} else if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货分配").equals(actionType)) {
|
} else if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货分配").equals(actionType)) {
|
||||||
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code4());
|
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code4());
|
||||||
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务");
|
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务");
|
||||||
|
} else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) {
|
||||||
|
//放满轴任务不判断终点是否有任务
|
||||||
|
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货");
|
||||||
}
|
}
|
||||||
|
|
||||||
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
||||||
//根据任务类型返回点位分配规则
|
//根据任务类型返回点位分配规则
|
||||||
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
||||||
|
|||||||
@@ -78,7 +78,6 @@ public class DjqTask extends AbstractAcsTask {
|
|||||||
.product_area(r.getProduct_area())
|
.product_area(r.getProduct_area())
|
||||||
.agv_action_type(r.getVehicle_code2())
|
.agv_action_type(r.getVehicle_code2())
|
||||||
.agv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼诺宝任务"))
|
.agv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼诺宝任务"))
|
||||||
.interaction_json(JSON.parseObject(r.getRequest_param()))
|
|
||||||
.build();
|
.build();
|
||||||
resultList.add(dto);
|
resultList.add(dto);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ public class GzqTask extends AbstractAcsTask {
|
|||||||
.agv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼诺宝任务"))
|
.agv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼诺宝任务"))
|
||||||
//.truss_type(PackageInfoIvtEnum.TRUSS_TYPE.code("点对点任务"))
|
//.truss_type(PackageInfoIvtEnum.TRUSS_TYPE.code("点对点任务"))
|
||||||
//.dtl_type(r.getDtl_type())
|
//.dtl_type(r.getDtl_type())
|
||||||
.interaction_json(JSON.parseObject(r.getRequest_param()))
|
|
||||||
.build();
|
.build();
|
||||||
resultList.add(dto);
|
resultList.add(dto);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
FROM `bst_ivt_cutpointivt` bct
|
FROM `bst_ivt_cutpointivt` bct
|
||||||
WHERE bct.point_type = '3'
|
WHERE bct.point_type = '3'
|
||||||
AND bct.point_status = '3'
|
AND bct.point_status = '3'
|
||||||
|
AND bct.product_area = 'B2'
|
||||||
AND bct.is_used = '1'
|
AND bct.is_used = '1'
|
||||||
AND 0 = (SELECT COUNT(*)
|
AND 0 = (SELECT COUNT(*)
|
||||||
FROM sch_base_task t
|
FROM sch_base_task t
|
||||||
|
|||||||
@@ -445,7 +445,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
public JSONObject mesSlittingMachineSendMaterial(JSONObject param) {
|
public JSONObject mesSlittingMachineSendMaterial(JSONObject param) {
|
||||||
log.info("分切机下料的输入参数为:{}", param);
|
log.info("分切机下料的输入参数为:{}", param);
|
||||||
JSONObject res = new JSONObject();
|
JSONObject res = new JSONObject();
|
||||||
// todo: 获取子卷号数组
|
// 获取子卷号数组
|
||||||
JSONArray containers = param.getJSONArray("container");
|
JSONArray containers = param.getJSONArray("container");
|
||||||
List<String> containerList = containers.toJavaList(String.class);
|
List<String> containerList = containers.toJavaList(String.class);
|
||||||
if (containerList.size() == 0) {
|
if (containerList.size() == 0) {
|
||||||
@@ -955,7 +955,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
try {
|
try {
|
||||||
openLock = open.tryLock(0, TimeUnit.SECONDS);
|
openLock = open.tryLock(0, TimeUnit.SECONDS);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new BadRequestException("获取锁异常");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
if (openLock) {
|
if (openLock) {
|
||||||
@@ -975,7 +975,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
try {
|
try {
|
||||||
tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new BadRequestException("获取锁异常");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
if (tryLock) {
|
if (tryLock) {
|
||||||
|
|||||||
@@ -305,13 +305,15 @@ public class StIvtIostorinvdtlServiceImpl extends ServiceImpl<StIvtIostorinvdtlM
|
|||||||
|
|
||||||
this.updateById(dtlDao);
|
this.updateById(dtlDao);
|
||||||
|
|
||||||
// 更新此木箱中所有的明细状态
|
// 更新此木箱中所有的明细状态 (如果此明细的木箱不为空)
|
||||||
this.update(
|
if (ObjectUtil.isNotEmpty(dtlDao.getBox_no())) {
|
||||||
new UpdateWrapper<StIvtIostorinvdtl>().lambda()
|
this.update(
|
||||||
.set(StIvtIostorinvdtl::getBill_status, dtlDao.getBill_status())
|
new UpdateWrapper<StIvtIostorinvdtl>().lambda()
|
||||||
.eq(StIvtIostorinvdtl::getIostorinv_id, dtlDao.getIostorinv_id())
|
.set(StIvtIostorinvdtl::getBill_status, dtlDao.getBill_status())
|
||||||
.eq(StIvtIostorinvdtl::getBox_no, dtlDao.getBox_no())
|
.eq(StIvtIostorinvdtl::getIostorinv_id, dtlDao.getIostorinv_id())
|
||||||
);
|
.eq(StIvtIostorinvdtl::getBox_no, dtlDao.getBox_no())
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
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.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.hibernate.annotations.Source;
|
import org.hibernate.annotations.Source;
|
||||||
@@ -69,8 +68,6 @@ public class LashManageServiceImpl implements LashManageService {
|
|||||||
*/
|
*/
|
||||||
private final TwoLashTask twoLashTask;
|
private final TwoLashTask twoLashTask;
|
||||||
|
|
||||||
private final TwoOutHeapTask twoOutHeapTask;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 木箱类型信息服务
|
* 木箱类型信息服务
|
||||||
*/
|
*/
|
||||||
@@ -94,8 +91,11 @@ public class LashManageServiceImpl implements LashManageService {
|
|||||||
throw new BadRequestException("没有此木箱信息:"+whereJson.getString("vehicle_code"));
|
throw new BadRequestException("没有此木箱信息:"+whereJson.getString("vehicle_code"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询该木箱的堆叠模版信息
|
// 获取次木箱对应的木箱类型
|
||||||
MdpbBoxtype boxtype = iMdpbBoxtypeService.getOne(new LambdaQueryWrapper<MdpbBoxtype>().eq(MdpbBoxtype::getBox_type, boxDao.getMaterial_code()));
|
MdpbBoxtype boxTypeDao = iMdpbBoxtypeService.getById(boxDao.getMaterial_code());
|
||||||
|
if (ObjectUtil.isEmpty(boxTypeDao)) {
|
||||||
|
throw new BadRequestException("木箱类型不存在!"+boxDao.getMaterial_code());
|
||||||
|
}
|
||||||
|
|
||||||
JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelation")
|
JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelation")
|
||||||
.query("package_box_sn = '" + boxDao.getBox_no() + "'")
|
.query("package_box_sn = '" + boxDao.getBox_no() + "'")
|
||||||
@@ -139,7 +139,7 @@ public class LashManageServiceImpl implements LashManageService {
|
|||||||
|
|
||||||
jsonPoint.put("vehicle_qty", NumberUtil.add(jsonPoint.getBigDecimal("vehicle_qty"),1));
|
jsonPoint.put("vehicle_qty", NumberUtil.add(jsonPoint.getBigDecimal("vehicle_qty"),1));
|
||||||
|
|
||||||
if (jsonPoint.getIntValue("vehicle_qty") == Integer.parseInt(boxtype.getLash_num())) {
|
if (jsonPoint.getIntValue("vehicle_qty") == Integer.parseInt(boxTypeDao.getLash_num_tow())) {
|
||||||
// 相同清空载具以及数量
|
// 相同清空载具以及数量
|
||||||
jsonPoint.put("vehicle_qty",0);
|
jsonPoint.put("vehicle_qty",0);
|
||||||
jsonPoint.put("vehicle_code","");
|
jsonPoint.put("vehicle_code","");
|
||||||
|
|||||||
Reference in New Issue
Block a user