This commit is contained in:
zhouz
2024-05-17 17:02:49 +08:00
23 changed files with 179 additions and 132 deletions

View File

@@ -199,29 +199,35 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
String boxType = whereJson.getString("checked");
updateWrapper.set("box_type", boxType);
updateWrapper.set("box_group", maxBoxGroup);
// updateWrapper.set("status", "0");
updateWrapper.in("workorder_id", entityList);
pdmBiSubpackagerelationMapper.update(null, updateWrapper);
//下发空木箱出库任务
JSONObject boxInfo = new JSONObject();
//todo 测试暂时默认ZXQ_1_1
boxInfo.put("device_code", "ZXQ_1_1");
boxInfo.put("material_code", boxType);
boxInfo.put("num", entityList.size());
String boxSn = outBoxManageService.outBox(boxInfo);
if (StringUtils.isBlank(boxSn)) {
throw new BadRequestException("满轴缓存位 -> 待检区,木箱码不能为空!");
}
//更新子卷包装关系更新木箱号
UpdateWrapper<PdmBiSubpackagerelation> updateWrapper1 = new UpdateWrapper<>();
updateWrapper1.set("package_box_sn", boxSn);
updateWrapper1.in("workorder_id", entityList);
pdmBiSubpackagerelationMapper.update(null, updateWrapper1);
//下发空木箱出库任务
//outBox(entityList, boxType);
//下发装箱区桁架任务
transferToPacking(packagerelationList);
} catch (Exception e) {
throw new BadRequestException(e.getMessage());
}
}
private void outBox(List<String> entityList, String boxType) {
JSONObject boxInfo = new JSONObject();
//todo 测试暂时默认ZXQ_1_1
boxInfo.put("device_code", "ZXQ_1_1");
boxInfo.put("material_code", boxType);
boxInfo.put("num", entityList.size());
String boxSn = outBoxManageService.outBox(boxInfo);
if (StringUtils.isBlank(boxSn)) {
throw new BadRequestException("满轴缓存位 -> 待检区,木箱码不能为空!");
}
//更新子卷包装关系更新木箱号
UpdateWrapper<PdmBiSubpackagerelation> updateWrapper1 = new UpdateWrapper<>();
updateWrapper1.set("package_box_sn", boxSn);
updateWrapper1.in("workorder_id", entityList);
pdmBiSubpackagerelationMapper.update(null, updateWrapper1);
}
private void transferToPacking(List<PdmBiSubpackagerelation> packagerelationList) {
//创建子卷搬运到装箱区任务
// List<BstIvtPackageinfoivt> zxqPointList = packageinfoivtService

View File

@@ -93,6 +93,8 @@ public class TwoInEmpTask extends AbstractAcsTask {
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定"));
jsonAttr.put("storagevehicle_code",jsonTask.getString("vehicle_code"));
jsonAttr.put("storagevehicle_type",jsonTask.getString("vehicle_type"));
jsonAttr.put("is_emptyvehicle",IOSEnum.IS_NOTANDYES.code(""));
attrTab.update(jsonAttr);
}

View File

@@ -90,6 +90,7 @@ public class TwoOutEmpTask extends AbstractAcsTask {
JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定"));
jsonAttr.put("storagevehicle_code","");
jsonAttr.put("is_emptyvehicle",IOSEnum.IS_NOTANDYES.code(""));
attrTab.update(jsonAttr);
}

View File

@@ -145,7 +145,7 @@ public class SlitterTaskUtil {
param.put("currentRight", plan.getFRP_material());
param.put("currentRightSize", plan.getFRP_model().split("\\|")[2].charAt(0));
}
param.put("currentLeftSpec", SlitterTaskUtil.getPaperTubeInformation(plan));
param.put("currentRightSpec", SlitterTaskUtil.getPaperTubeInformation(plan));
}
}
}

View File

@@ -72,6 +72,11 @@ public class BstIvtBoxinfo implements Serializable {
*/
private String vehicle_type;
/*
* 是否装箱
*/
private String is_packing;
/*
* 捆绑数量
*/

View File

@@ -1106,7 +1106,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
// 查询移入货位
JSONObject moveParam = new JSONObject();
moveParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
moveParam.put("sect_id", RegionTypeEnum.TWO_ZZ01.getId());
moveParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
moveParam.put("box_no", jsonLow.getString("storagevehicle_code"));
// moveParam.put("material_id", jsonMater.getString("material_id"));
JSONObject jsonMove = inBussManageService.getOneStruct(moveParam);

View File

@@ -263,35 +263,26 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
// 库区表
WQLObject sectTab = WQLObject.getWQLObject("st_ivt_sectattr");
// 参数类型转换 Map-> JSONObject
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(whereJson));
// 分配明细集合
ArrayList<HashMap> list = (ArrayList<HashMap>) whereJson.get("tableMater");
// 类型转换linkenHashMap -> JSONObject
JSONObject jsonDis = list.stream()
.map(row -> JSONObject.parseObject(JSON.toJSONString(row)))
.collect(Collectors.toList()).get(0);
// 判断当前木箱是否已经分配过货位
StIvtIostorinvdis disDao = iStIvtIostorinvdisService.getById(jsonDis.getString("iostorinvdis_id"));
if (ObjectUtil.isNotEmpty(disDao.getStruct_id())) {
throw new BadRequestException("该木箱已经分配过货位,无法继续分配!");
}
// 主表实体类
StIvtIostorinv mstDao = this.getById(disDao.getIostorinv_id());
// 用于锁定货位
JSONObject jsonLock = new JSONObject();
ArrayList<String> paramLockList = new ArrayList<>();
// 仓位对象
JSONObject jsonAttr;
// 是否自动分配货位
Boolean checked = jsonObject.getBoolean("checked");
if (ObjectUtil.isNotEmpty(checked) && checked) {
@@ -301,11 +292,12 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
attrParam.put("sect_id", jsonObject.getString("sect_id"));
attrParam.put("material_id", disDao.getMaterial_id());
attrParam.put("box_no", disDao.getBox_no());
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, disDao.getBox_no())
);
BstIvtBoxinfo boxDao = getBstIvtBoxinfo(whereJson);
if (boxDao == null) {
throw new BadRequestException("未找到该木箱信息!");
}
jsonObject.put("box_no",boxDao.getBox_no());
jsonObject.put("vehicle_type",boxDao.getVehicle_type());
attrParam.put("vehicle_type", boxDao.getVehicle_type());
//根据木箱高度,判断入库仓位的高度
String height = "";
@@ -320,9 +312,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
height = "3";
}
attrParam.put("height", height);
JSONObject jsonSect = sectTab.query("sect_id = '" + jsonObject.getString("sect_id") + "'").uniqueResult(0);
// 判断是否是虚拟区
if (jsonSect.getString("sect_type_attr").equals(IOSEnum.SECT_TYPE.code("虚拟区"))) {
jsonAttr = attrTab.query("sect_id = '" + jsonObject.getString("sect_id") + "' AND lock_type = '1' AND is_delete = '0' AND IFNULL( storagevehicle_code, '' ) = ''").uniqueResult(0);
@@ -333,25 +323,20 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
// 指定分配
jsonAttr = attrTab.query("struct_id = '" + jsonDis.getString("struct_id") + "'").uniqueResult(0);
}
if (ObjectUtil.isEmpty(jsonAttr)) {
throw new BadRequestException("没有可用仓位!");
}
// 调用业务处理类锁定货位
paramLockList.add(jsonAttr.getString("struct_code"));
jsonLock.put("inv_type", mstDao.getBill_type());
jsonLock.put("inv_id", mstDao.getIostorinv_id());
jsonLock.put("inv_code", mstDao.getBill_code());
jsonLock.put("lock_type", IOSEnum.LOCK_TYPE.code("入库锁"));
jsonLock.put("operate", IOSEnum.IO_TYPE.code("入库"));
inBussManageService.lockStruct(paramLockList, jsonLock);
// 判断是否虚拟区
String work_status;
Long task_id = null;
JSONObject jsonSect = sectTab.query("sect_id = '" + jsonAttr.getString("sect_id") + "'").uniqueResult(0);
if (jsonSect.getString("sect_type_attr").equals(IOSEnum.SECT_TYPE.code("虚拟区"))) {
// 虚拟区:执行状态为完成
@@ -360,7 +345,6 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
} else {
work_status = IOSEnum.WORK_STATUS.code("未生成");
}
// 更新分配明细
iStIvtIostorinvdisService.update(
new UpdateWrapper<StIvtIostorinvdis>().lambda()
@@ -375,7 +359,6 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
.eq(StIvtIostorinvdis::getIostorinv_id, disDao.getIostorinv_id())
.eq(StIvtIostorinvdis::getBox_no, disDao.getBox_no())
);
// 更新库存
List<StIvtIostorinvdis> disDaoList = iStIvtIostorinvdisService.list(
new QueryWrapper<StIvtIostorinvdis>().lambda()
@@ -383,52 +366,35 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
.eq(StIvtIostorinvdis::getBox_no, disDao.getBox_no())
);
upateIvt(disDaoList, mstDao, IOSEnum.IVT_CHANGE.code("加待入"));
// 更新明细状态
iStIvtIostorinvdtlService.updateStatus(disDao.getIostorinvdtl_id());
// 更新主表状态
StIvtIostorinv mst = updateMstStatus(disDao.getIostorinv_id());
mst.setDis_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
mst.setDis_optname(SecurityUtils.getCurrentNickName());
mst.setDis_time(DateUtil.now());
this.updateById(mst);
// 判断是否自动下发任务
if (jsonObject.getString("is_send").equals(IOSEnum.IS_NOTANDYES.code("")) && ObjectUtil.isNotEmpty(jsonObject.getString("is_send"))) {
JSONObject jsonSend = new JSONObject();
StIvtIostorinvdtl dtlDao = iStIvtIostorinvdtlService.list(
new QueryWrapper<StIvtIostorinvdtl>().lambda()
.eq(StIvtIostorinvdtl::getIostorinv_id, mst.getIostorinv_id())
).get(0);
List<LinkedHashMap> disList = iStIvtIostorinvdisService.list(
new QueryWrapper<StIvtIostorinvdis>().lambda()
.eq(StIvtIostorinvdis::getIostorinv_id, mst.getIostorinv_id())
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
.collect(Collectors.toList());
//查询木箱码
PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper<PdmBiSubpackagerelation>()
.eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode")));
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn())
);
if (boxDao == null) {
throw new BadRequestException("未找到该木箱信息!");
}
jsonSend.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao)));
jsonSend.put("tableMater", disList);
jsonSend.put("point_code", jsonObject.getString("point_code"));
jsonSend.put("stor_id", mst.getStor_id());
//成品入库托盘类型
jsonSend.put("vehicle_code", boxDao.getBox_no());
jsonSend.put("vehicle_code", jsonObject.getString("box_no"));
jsonSend.put("vehicle_code2", jsonObject.getString("vehicle_code"));
JSONObject param = new JSONObject();
param.put("containerType", boxDao.getVehicle_type());
param.put("containerType", jsonObject.getString("vehicle_type"));
jsonSend.put("request_param", param.toString());
String task_id1 = this.setPoint(jsonSend);
// 下发任务
@@ -438,6 +404,18 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
}
}
private BstIvtBoxinfo getBstIvtBoxinfo(Map whereJson) {
//查询木箱码
PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper<PdmBiSubpackagerelation>()
.eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode")));
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn())
);
return boxDao;
}
@Override
@Transactional
public void unDivStruct(Map whereJson) {

View File

@@ -85,14 +85,18 @@ public class InBoxManageServiceImpl implements InBoxManageService {
WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point");
// 仓位表
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
String box_arr = whereJson.getString("box_no");
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, whereJson.getString("box_no"))
);
/*
* 找一个木箱区的一个仓位,生成任务并下发
*/
@@ -101,13 +105,10 @@ public class InBoxManageServiceImpl implements InBoxManageService {
IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" +
IOSEnum.IS_NOTANDYES.code("是") + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) {
throw new BadRequestException("起始点位不存在或未启用!");
}*/
// 找一个木箱区空位
//根据木箱高度,判断入库仓位的高度
String height = "";
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
@@ -120,26 +121,20 @@ public class InBoxManageServiceImpl implements InBoxManageService {
} else {
height = "3";
}
JSONObject jsonParam = new JSONObject();
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId());
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
jsonParam.put("box_length", boxDao.getBox_length());
jsonParam.put("box_width", boxDao.getBox_width());
jsonParam.put("box_high", boxDao.getBox_high());
jsonParam.put("vehicle_type", boxDao.getVehicle_type());
jsonParam.put("height", height);
JSONObject jsonAttr = getStruct(jsonParam);
if (ObjectUtil.isEmpty(jsonAttr)) {
notInRowList.clear();
notInBlockList.clear();
throw new BadRequestException("仓位不足!");
}
// 生成任务
JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010702");
@@ -150,16 +145,12 @@ public class InBoxManageServiceImpl implements InBoxManageService {
JSONObject param = new JSONObject();
param.put("containerType", boxDao.getVehicle_type());
jsonTaskParam.put("request_param", param.toString());
TwoInBoxTask taskBean = new TwoInBoxTask();
taskBean.createTask(jsonTaskParam);
taskBean.immediateNotifyAcs(null);
// 锁定终点
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("木箱入库锁"));
attrTab.update(jsonAttr);
// 清空缓存
notInRowList.clear();
notInBlockList.clear();
@@ -355,7 +346,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
JSONObject jsonParam = new JSONObject();
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId());
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
jsonParam.put("box_length", boxDao.getBox_length());
jsonParam.put("box_width", boxDao.getBox_width());
jsonParam.put("box_high", boxDao.getBox_high());
@@ -712,6 +703,13 @@ public class InBoxManageServiceImpl implements InBoxManageService {
if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) {
// 判断深货位是否是空木箱,判断内容:是否空载具,是否成品箱
if (jsonAttrDark.getString("is_packing").equals(IOSEnum.IS_NOTANDYES.code("")) ||
jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code(""))
) {
continue;
}
if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
jsonAttr = json;
break;

View File

@@ -672,6 +672,13 @@ public class InBussManageServiceImpl implements InBussManageService {
if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) {
// 判断是否是成品箱,判断内容:是否空托盘、是否空木箱
if (jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code("")) ||
jsonAttrDark.getString("is_packing").equals(IOSEnum.IS_NOTANDYES.code(""))
) {
continue;
}
if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
jsonAttr = json;
break;

View File

@@ -71,7 +71,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
// 找一个托盘区的空仓位
JSONObject jsonParam = new JSONObject();
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
jsonParam.put("sect_id", RegionTypeEnum.TWO_TTP01.getId());
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
jsonParam.put("vehicle_type", whereJson.getString("vehicle_type"));
JSONObject jsonAttr = getStruct(jsonParam);
@@ -124,7 +124,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
// 重新分配货位
JSONObject jsonParam = new JSONObject();
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
jsonParam.put("sect_id", RegionTypeEnum.TWO_TTP01.getId());
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
jsonParam.put("vehicle_type", taskDao.getVehicle_type());
// 调用找货位方法
@@ -460,6 +460,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) {
// 判断是否是空托盘
if (jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code(""))
) {
continue;
}
if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
if (jsonAttrDark.getString("storagevehicle_type").equals(jsonParam.getString("vehicle_type"))) {

View File

@@ -71,9 +71,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point");
// 仓位表
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期"));
whereJson.put("sect_id", RegionTypeEnum.TWO_MX01.getId());
whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
/* // 判断起点点位是否存在
JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" +
@@ -103,19 +102,15 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
JSONObject request_param = new JSONObject();
request_param.put("containerType", jsonAttr.getString("storagevehicle_type"));
jsonTaskParam.put("request_param", request_param.toString());
TwoOutBoxTask taskBean = new TwoOutBoxTask();
taskBean.createTask(jsonTaskParam);
taskBean.immediateNotifyAcs(null);
// 锁定起点
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("木箱出库锁"));
attrTab.update(jsonAttr);
// 清空缓存
notOutRowList.clear();
notOutBlockList.clear();
return jsonAttr.getString("storagevehicle_code");
}
@@ -144,7 +139,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
JSONObject jsonParam = new JSONObject();
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId());
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
jsonParam.put("box_length", boxDao.getBox_length());
jsonParam.put("box_width", boxDao.getBox_width());
jsonParam.put("box_high", boxDao.getBox_high());
@@ -542,7 +537,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
// 找一个空的仓位
JSONObject paramIn = new JSONObject();
paramIn.put("stor_id", IOSEnum.STOR_ID.code("二期"));
paramIn.put("sect_id", RegionTypeEnum.TWO_MX01.getId());
paramIn.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
InBoxManageServiceImpl bean = SpringContextHolder.getBean(InBoxManageServiceImpl.class);
JSONObject jsonAttr = bean.getStruct(paramIn);

View File

@@ -377,7 +377,7 @@ public class OutBussManageServiceImpl implements OutBussManageService {
// 查询移入货位
JSONObject moveParam = new JSONObject();
moveParam.put("stor_id", json.getString("stor_id"));
moveParam.put("sect_id", RegionTypeEnum.TWO_ZZ01.getId());
moveParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
moveParam.put("box_no", json.getString("storagevehicle_code"));
moveParam.put("material_id", jsonMater.getString("material_id"));
JSONObject jsonMove = inBussManageService.getOneStruct(moveParam);

View File

@@ -66,7 +66,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期"));
whereJson.put("sect_id", RegionTypeEnum.TWO_TTP01.getId());
whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
whereJson.put("storagevehicle_type", whereJson.getString("vehicle_type"));
/* // 判断起点点位是否存在
@@ -131,7 +131,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
// 重新分配货位
JSONObject jsonParam = new JSONObject();
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期"));
jsonParam.put("sect_id", RegionTypeEnum.TWO_TTP01.getId());
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
jsonParam.put("storagevehicle_type", taskDao.getVehicle_type());
// 调用找货位方法
@@ -139,6 +139,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
if (ObjectUtil.isEmpty(jsonAttrNow)) {
throw new BadRequestException("仓位不足!");
}
// 锁定新终点
jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("空托盘出库锁"));

View File

@@ -79,6 +79,7 @@
attr.*
FROM
st_ivt_structattr attr
INNER JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code
WHERE
attr.is_used = '1'
AND attr.is_delete = '0'
@@ -88,6 +89,8 @@
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.storagevehicle_type = 输入.vehicle_type
AND attr.height = 输入.height
AND box.is_packing = '0'
OPTION 输入.block_in <> ""
attr.block_num in 输入.block_in
ENDOPTION
@@ -157,9 +160,18 @@
IF 输入.flag = "5"
QUERY
SELECT
attr.*
attr.*,
CASE
WHEN IFNULL(box.is_packing,'') = '' THEN '0'
ELSE box.is_packing
END AS is_packing,
CASE
WHEN IFNULL(attr.is_emptyvehicle,'') = '' THEN '0'
ELSE attr.is_emptyvehicle
END AS is_vehicle
FROM
st_ivt_structattr attr
LEFT JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code
WHERE
attr.is_used = '1'
AND attr.is_delete = '0'

View File

@@ -86,12 +86,14 @@
attr.*
FROM
st_ivt_structattr attr
INNER JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code
WHERE
attr.is_used = '1'
AND attr.is_delete = '0'
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND box.is_packing = '1'
OPTION 输入.block_in <> ""
attr.block_num in 输入.block_in
@@ -120,6 +122,7 @@
FROM
st_ivt_structattr attr
INNER JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
INNER JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code
LEFT JOIN md_me_materialbase mater ON mater.material_code = sub.product_name
WHERE
attr.is_used = '1'
@@ -127,6 +130,7 @@
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND box.is_packing = '1'
OPTION 输入.material_id <> ""
mater.material_id = 输入.material_id
@@ -227,9 +231,19 @@
IF 输入.flag = "6"
QUERY
SELECT
attr.*
attr.*,
CASE
WHEN IFNULL(box.is_packing,'') = '' THEN '0'
ELSE box.is_packing
END AS is_packing,
CASE
WHEN IFNULL(attr.is_emptyvehicle,'') = '' THEN '0'
ELSE attr.is_emptyvehicle
END AS is_vehicle
FROM
st_ivt_structattr attr
LEFT JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code
WHERE
attr.is_used = '1'
AND attr.is_delete = '0'

View File

@@ -89,6 +89,7 @@
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.is_emptyvehicle = '1'
OPTION 输入.block_in <> ""
attr.block_num in 输入.block_in
@@ -157,9 +158,18 @@
IF 输入.flag = "5"
QUERY
SELECT
attr.*
attr.*,
CASE
WHEN IFNULL(box.is_packing,'') = '' THEN '0'
ELSE box.is_packing
END AS is_packing,
CASE
WHEN IFNULL(attr.is_emptyvehicle,'') = '' THEN '0'
ELSE attr.is_emptyvehicle
END AS is_vehicle
FROM
st_ivt_structattr attr
LEFT JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code
WHERE
attr.is_used = '1'
AND attr.is_delete = '0'

View File

@@ -66,6 +66,7 @@
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND box.is_packing = '0'
OPTION 输入.not_block_id <> ""
attr.block_num not in = 输入.not_block_id
@@ -121,6 +122,7 @@
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND box.is_packing = '0'
OPTION 输入.block_num <> ""
attr.block_num = 输入.block_num
@@ -172,6 +174,7 @@
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND box.is_packing = '0'
OPTION 输入.block_num <> ""
attr.block_num = 输入.block_num
@@ -223,6 +226,7 @@
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND box.is_packing = '0'
OPTION 输入.block_num <> ""
attr.block_num = 输入.block_num
@@ -296,6 +300,7 @@
AND IFNULL(storagevehicle_code,'') <> ''
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
AND box.is_packing = '0'
OPTION 输入.box_length <> ""
box.box_length = 输入.box_length

View File

@@ -57,6 +57,7 @@
AND attr.is_delete = '0'
AND attr.lock_type = '1'
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.is_emptyvehicle = '1'
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
@@ -86,6 +87,7 @@
AND attr.is_delete = '0'
AND attr.lock_type = '1'
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.is_emptyvehicle = '1'
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
@@ -120,6 +122,7 @@
AND attr.is_delete = '0'
AND attr.lock_type = '1'
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.is_emptyvehicle = '1'
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id
@@ -152,6 +155,7 @@
attr.is_used = '1'
AND attr.is_delete = '0'
AND attr.lock_type = '1'
AND attr.is_emptyvehicle = '1'
AND IFNULL(attr.storagevehicle_code,'') <> ''
AND attr.stor_id = 输入.stor_id
AND attr.sect_id = 输入.sect_id

View File

@@ -26,6 +26,7 @@ public enum RegionTypeEnum {
TWO_KZ01("23", "二期捆扎区", "1754774130626007040"),
TWO_FH01("24", "二期发货区", "1759453285649092608"),
TWO_OUT01("25", "二期出库区", "1760141408548818944"),
TWO_BZC01("26", "二期主存区", "1748219897940414464"),
B2_HKZC("26", "B2烘烤暂存区", "1766012860535803904");

View File

@@ -108,11 +108,11 @@ 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);
}
List<AcsTaskDto> taskList = this.schedule();
if (ObjectUtil.isNotEmpty(taskList)) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(taskList));
return AcsUtil.notifyAcs("api/wms/task", arr);
}
return null;
}

View File

@@ -391,6 +391,7 @@ public class CheckOutBillController {
@PostMapping("/testInBox")
@Log("木箱入库测试")
@SaIgnore
public ResponseEntity<Object> testInBox(@RequestBody JSONObject whereJson) {
InBoxManageServiceImpl bean = SpringContextHolder.getBean(InBoxManageServiceImpl.class);
bean.inBox(whereJson);

View File

@@ -155,6 +155,8 @@ export default {
previousSelection: [],
// 存储搜索后的选中状态
currentSelection: [],
// 上面表格选中的
upSelection: [],
// 取消选中
cancelSelection: [],
multipleSelection: [],
@@ -200,7 +202,9 @@ export default {
methods: {
handleSearch() {
debugger
this.multipleSelection = this.multipleSelection.filter(i => { return this.$refs.dis_table.selection.includes(i) })
this.multipleSelection = this.multipleSelection.filter(i => {
return this.$refs.dis_table.selection.includes(i)
})
this.currentSelection = [...this.$refs.dis_table.selection]
},
handleSelectionChange(selection) {
@@ -256,17 +260,16 @@ export default {
this.clearSearch1()
},
table2RowStyle({ row }) {
// if(this.cancelSelection.includes(row))
// {
// return {background: 'white'}; // 修改颜色
// }
if (this.currentSelection.includes(row)) {
return { background: 'orange' } // 修改颜色
if (row.box_group !== '0') {
return { background: 'orange' } // 修改颜色
}
}
if (this.multipleSelection.includes(row)) {
return { background: 'orange' } // 修改颜色
if (row.box_group !== '0') {
return { background: 'orange' } // 修改颜色
}
}
return {}
},
getMultipleSelection(multipleSelection) {
return multipleSelection.reduce((acc, item) => {
@@ -295,10 +298,11 @@ export default {
},
// 表格1的行点击事件
handleRowClick(scope) {
debugger
const table2 = this.$refs.dis_table
const table2Data = Array.from(this.openParam)
const groupValue = scope.box_group === 0 ? scope.container_name : scope.box_group
const selectedRows = table2Data.filter(row => row.box_group === groupValue && row.box_group !== null && row.box_group !== 0)
const groupValue = scope.box_group === '0' ? scope.container_name : scope.box_group
const selectedRows = table2Data.filter(row => (row.container_name == groupValue) || (row.box_group === groupValue && row.box_group !== null && row.box_group !== '0'))
table2.clearSelection()
selectedRows.forEach(row => table2.toggleRowSelection(row))
},
@@ -325,20 +329,18 @@ export default {
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
tableChanged(row) {
async tableChanged(row) {
debugger
this.form.tableMater = this.currentSelection
this.form.checked = row.material_code
debugger
this.form.sale_order_name = this.sale_order_name
crudPackagerelation.updateEntityList(this.form).then(res => {
crudSubpackagerelation.queryContainerization({ 'sale_order_name': this.sale_order_name }).then(res => {
this.openParam = res.content
this.$emit('childEvent')
this.clearSelection()
})
this.form.tableMater = []
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
await crudPackagerelation.updateEntityList(this.form)
const res = crudSubpackagerelation.queryContainerization({ 'sale_order_name': this.sale_order_name })
this.openParam = res.content
this.clearSelection()
this.form.tableMater = []
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.$emit('childEvent')
},
divStruct() {
if (this.currentSelection.length > 0 && this.$refs.dis_table.selection.length > 0) {

View File

@@ -85,7 +85,6 @@
size="mini"
@select="handleSelectionChange"
@selection-change="crud.selectionChangeHandler"
@row-dblclick="handleRowDblClick"
>
<el-table-column type="selection" />
<el-table-column
@@ -125,7 +124,13 @@
<!--分页组件-->
<pagination />
</div>
<DivDialog :dialog-show.sync="divShow" :open-param="openParam" :sale_order_name="this.sale_order_name" @childEvent="handleChildEvent" @AddChanged="querytable" />
<DivDialog
:dialog-show.sync="divShow"
:open-param="openParam"
:sale_order_name="this.sale_order_name"
@childEvent="handleChildEvent"
@AddChanged="querytable"
/>
</div>
</template>
@@ -218,20 +223,12 @@ export default {
this.query.status = tab.name === 'first' ? '99' : '0'
this.crud.toQuery()
},
// 表格双击事件
handleRowDblClick(row, column, event) {
// 双击事件的处理逻辑
this.divOpen(row)
},
// 双击
divOpen(row) {
async divOpen() {
debugger
this.sale_order_name = row.sale_order_name
crudSubpackagerelation.queryContainerization({ 'sale_order_name': row.sale_order_name }).then(res => {
debugger
this.openParam = res.content
this.divShow = true
})
this.sale_order_name = this.currentRow.sale_order_name
const res = await crudSubpackagerelation.queryContainerization({ 'sale_order_name': this.currentRow.sale_order_name })
this.openParam = res.content
// this.divShow = true
},
divOpen1() {
debugger
@@ -298,9 +295,11 @@ export default {
.custom-tabs {
margin-bottom: 0px; /* 调整垂直间距,根据需要调整数值 */
}
.custom-table {
margin-top: 0px; /* 调整垂直间距,根据需要调整数值 */
}
.tableAuto.el-table .cell {
white-space: nowrap;
}