Merge branch 'b_lms' of http://121.40.234.130:8899/root/lanzhouhailiang_one into b_lms
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,11 @@ public class BstIvtBoxinfo implements Serializable {
|
||||
*/
|
||||
private String vehicle_type;
|
||||
|
||||
/*
|
||||
* 是否装箱
|
||||
*/
|
||||
private String is_packing;
|
||||
|
||||
/*
|
||||
* 捆绑数量
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"))) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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("空托盘出库锁"));
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user