fix: 部分修改
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
AND wo.workorder_code LIKE CONCAT('%', #{query.workorder_code}, '%')
|
AND wo.workorder_code LIKE CONCAT('%', #{query.workorder_code}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="query.point_code != null and query.point_code != ''">
|
<if test="query.point_code != null and query.point_code != ''">
|
||||||
AND wo.point_code LIKE CONCAT('%', #{query.point_code}, '%')
|
AND LOWER(wo.point_code) LIKE LOWER(CONCAT('%', #{query.point_code}, '%'))
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -135,5 +135,7 @@ public class SchBaseVehiclematerialgroup implements Serializable {
|
|||||||
private String material_code;
|
private String material_code;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String material_spec;
|
private String material_spec;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String region_name;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,10 @@
|
|||||||
, ma.material_name
|
, ma.material_name
|
||||||
, ma.material_code
|
, ma.material_code
|
||||||
, ma.material_spec
|
, ma.material_spec
|
||||||
|
, po.region_name
|
||||||
FROM sch_base_vehiclematerialgroup vg
|
FROM sch_base_vehiclematerialgroup vg
|
||||||
LEFT JOIN md_base_material ma ON vg.material_id = ma.material_id
|
LEFT JOIN md_base_material ma ON vg.material_id = ma.material_id
|
||||||
|
LEFT JOIN sch_base_point po ON po.point_code = vg.point_code
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<if test="query.vehicle_code != null">
|
<if test="query.vehicle_code != null">
|
||||||
AND vg.vehicle_code = #{query.vehicle_code}
|
AND vg.vehicle_code = #{query.vehicle_code}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class SchBasePoint implements Serializable {
|
|||||||
private String can_vehicle_type;
|
private String can_vehicle_type;
|
||||||
|
|
||||||
@ApiModelProperty(value = "载具允许最大数量")
|
@ApiModelProperty(value = "载具允许最大数量")
|
||||||
private BigDecimal vehicle_max_qty;
|
private Integer vehicle_max_qty;
|
||||||
|
|
||||||
@ApiModelProperty(value = "载具类型")
|
@ApiModelProperty(value = "载具类型")
|
||||||
private String vehicle_type;
|
private String vehicle_type;
|
||||||
@@ -59,31 +59,31 @@ public class SchBasePoint implements Serializable {
|
|||||||
private String vehicle_code;
|
private String vehicle_code;
|
||||||
|
|
||||||
@ApiModelProperty(value = "载具数量")
|
@ApiModelProperty(value = "载具数量")
|
||||||
private BigDecimal vehicle_qty;
|
private Integer vehicle_qty;
|
||||||
|
|
||||||
@ApiModelProperty(value = "块")
|
@ApiModelProperty(value = "块")
|
||||||
private BigDecimal block_num;
|
private Integer block_num;
|
||||||
|
|
||||||
@ApiModelProperty(value = "排")
|
@ApiModelProperty(value = "排")
|
||||||
private BigDecimal row_num;
|
private Integer row_num;
|
||||||
|
|
||||||
@ApiModelProperty(value = "列")
|
@ApiModelProperty(value = "列")
|
||||||
private BigDecimal col_num;
|
private Integer col_num;
|
||||||
|
|
||||||
@ApiModelProperty(value = "层")
|
@ApiModelProperty(value = "层")
|
||||||
private BigDecimal layer_num;
|
private Integer layer_num;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入库顺序")
|
@ApiModelProperty(value = "入库顺序")
|
||||||
private BigDecimal in_order_seq;
|
private Integer in_order_seq;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出库顺序")
|
@ApiModelProperty(value = "出库顺序")
|
||||||
private BigDecimal out_order_seq;
|
private Integer out_order_seq;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入空载具顺序")
|
@ApiModelProperty(value = "入空载具顺序")
|
||||||
private BigDecimal in_empty_seq;
|
private Integer in_empty_seq;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出空载具顺序")
|
@ApiModelProperty(value = "出空载具顺序")
|
||||||
private BigDecimal out_empty_seq;
|
private Integer out_empty_seq;
|
||||||
|
|
||||||
@ApiModelProperty(value = "父点位编码")
|
@ApiModelProperty(value = "父点位编码")
|
||||||
private String parent_point_code;
|
private String parent_point_code;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class SchBasePointDto implements Serializable {
|
|||||||
private String can_vehicle_type;
|
private String can_vehicle_type;
|
||||||
|
|
||||||
/** 载具允许最大数量 */
|
/** 载具允许最大数量 */
|
||||||
private BigDecimal vehicle_max_qty;
|
private Integer vehicle_max_qty;
|
||||||
|
|
||||||
/** 载具类型 */
|
/** 载具类型 */
|
||||||
private String vehicle_type;
|
private String vehicle_type;
|
||||||
@@ -46,31 +46,31 @@ public class SchBasePointDto implements Serializable {
|
|||||||
private String vehicle_code;
|
private String vehicle_code;
|
||||||
|
|
||||||
/** 载具数量 */
|
/** 载具数量 */
|
||||||
private BigDecimal vehicle_qty;
|
private Integer vehicle_qty;
|
||||||
|
|
||||||
/** 块 */
|
/** 块 */
|
||||||
private BigDecimal block_num;
|
private Integer block_num;
|
||||||
|
|
||||||
/** 排 */
|
/** 排 */
|
||||||
private BigDecimal row_num;
|
private Integer row_num;
|
||||||
|
|
||||||
/** 列 */
|
/** 列 */
|
||||||
private BigDecimal col_num;
|
private Integer col_num;
|
||||||
|
|
||||||
/** 层 */
|
/** 层 */
|
||||||
private BigDecimal layer_num;
|
private Integer layer_num;
|
||||||
|
|
||||||
/** 入库顺序 */
|
/** 入库顺序 */
|
||||||
private BigDecimal in_order_seq;
|
private Integer in_order_seq;
|
||||||
|
|
||||||
/** 出库顺序 */
|
/** 出库顺序 */
|
||||||
private BigDecimal out_order_seq;
|
private Integer out_order_seq;
|
||||||
|
|
||||||
/** 入空载具顺序 */
|
/** 入空载具顺序 */
|
||||||
private BigDecimal in_empty_seq;
|
private Integer in_empty_seq;
|
||||||
|
|
||||||
/** 出空载具顺序 */
|
/** 出空载具顺序 */
|
||||||
private BigDecimal out_empty_seq;
|
private Integer out_empty_seq;
|
||||||
|
|
||||||
/** 父点位编码 */
|
/** 父点位编码 */
|
||||||
private String parent_point_code;
|
private String parent_point_code;
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.EMPTY_PLACE.getValue())) {
|
if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.EMPTY_PLACE.getValue())) {
|
||||||
entity.setVehicle_type("");
|
entity.setVehicle_type("");
|
||||||
entity.setVehicle_code("");
|
entity.setVehicle_code("");
|
||||||
entity.setVehicle_qty(BigDecimal.valueOf(0));
|
entity.setVehicle_qty(0);
|
||||||
}
|
}
|
||||||
pointMapper.updateById(entity);
|
pointMapper.updateById(entity);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +1,24 @@
|
|||||||
package org.nl.wms.sch.task.service.impl;
|
package org.nl.wms.sch.task.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||||
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper;
|
|
||||||
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||||
|
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper;
|
||||||
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 java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lyd
|
* @author lyd
|
||||||
|
|||||||
@@ -51,11 +51,36 @@
|
|||||||
<el-form-item v-if="false" label="来源载具">
|
<el-form-item v-if="false" label="来源载具">
|
||||||
<el-input v-model="form.source_vehicle_code" style="width: 240px;" />
|
<el-input v-model="form.source_vehicle_code" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="入库时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="form.instorage_time"
|
||||||
|
type="datetime"
|
||||||
|
style="width: 240px;"
|
||||||
|
placeholder="选择日期时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="点位编码">
|
<el-form-item label="点位编码">
|
||||||
<el-input v-model="form.point_code" style="width: 240px;" />
|
<el-select
|
||||||
|
v-model="form.point_code"
|
||||||
|
filterable
|
||||||
|
placeholder="请选择"
|
||||||
|
style="width: 240px;"
|
||||||
|
@change="setPointName"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in pointList"
|
||||||
|
:key="item.point_code"
|
||||||
|
:label="item.point_code"
|
||||||
|
:value="item.point_code"
|
||||||
|
>
|
||||||
|
<span style="float: left">{{ item.point_name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.point_code }}</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<!-- <el-input v-model="form.point_code" style="width: 240px;" />-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="点位名称">
|
<el-form-item label="点位名称">
|
||||||
<el-input v-model="form.point_name" style="width: 240px;" />
|
<el-input v-model="form.point_name" style="width: 240px;" disabled/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否满托">
|
<el-form-item label="是否满托">
|
||||||
<el-radio-group v-model="form.is_full" style="width: 240px">
|
<el-radio-group v-model="form.is_full" style="width: 240px">
|
||||||
@@ -66,14 +91,6 @@
|
|||||||
<el-form-item label="批次">
|
<el-form-item label="批次">
|
||||||
<el-input v-model="form.pcsn" style="width: 240px;" />
|
<el-input v-model="form.pcsn" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="入库时间">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="form.instorage_time"
|
|
||||||
type="datetime"
|
|
||||||
style="width: 240px;"
|
|
||||||
placeholder="选择日期时间">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="静置时间(分钟)">
|
<el-form-item label="静置时间(分钟)">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model.number="form.standing_time"
|
v-model.number="form.standing_time"
|
||||||
@@ -83,10 +100,18 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料数量">
|
<el-form-item label="物料数量">
|
||||||
<el-input v-model="form.material_qty" style="width: 240px;" />
|
<el-input-number
|
||||||
|
v-model.number="form.material_qty"
|
||||||
|
:min="0"
|
||||||
|
style="width: 240px;"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料重量">
|
<el-form-item label="物料重量">
|
||||||
<el-input v-model="form.material_weight" style="width: 240px;" />
|
<el-input-number
|
||||||
|
v-model.number="form.material_weight"
|
||||||
|
:min="0"
|
||||||
|
style="width: 240px;"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工单编码">
|
<el-form-item label="工单编码">
|
||||||
<el-input v-model="form.workorder_code" style="width: 240px;" />
|
<el-input v-model="form.workorder_code" style="width: 240px;" />
|
||||||
@@ -185,7 +210,11 @@
|
|||||||
<el-table-column prop="group_number" label="组盘次数" :min-width="flexWidth('group_number',crud.data,'组盘次数')" />
|
<el-table-column prop="group_number" label="组盘次数" :min-width="flexWidth('group_number',crud.data,'组盘次数')" />
|
||||||
<el-table-column prop="task_code" label="任务编码" :min-width="flexWidth('task_code',crud.data,'任务编码')" />
|
<el-table-column prop="task_code" label="任务编码" :min-width="flexWidth('task_code',crud.data,'任务编码')" />
|
||||||
<!-- <el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')"/>-->
|
<!-- <el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')"/>-->
|
||||||
<el-table-column prop="group_status" label="组盘状态" :min-width="flexWidth('group_status',crud.data,'组盘状态')" />
|
<el-table-column prop="group_status" label="组盘状态" :min-width="flexWidth('group_status',crud.data,'组盘状态')">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ dict.label.group_status[scope.row.group_status] }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="is_first_flow_task" label="是否首个流程任务" :min-width="flexWidth('is_first_flow_task',crud.data,'是否首个流程任务')"/>-->
|
<!-- <el-table-column prop="is_first_flow_task" label="是否首个流程任务" :min-width="flexWidth('is_first_flow_task',crud.data,'是否首个流程任务')"/>-->
|
||||||
<!-- <el-table-column prop="flow_code" label="流程编码" :min-width="flexWidth('flow_code',crud.data,'流程编码')"/>-->
|
<!-- <el-table-column prop="flow_code" label="流程编码" :min-width="flexWidth('flow_code',crud.data,'流程编码')"/>-->
|
||||||
<!-- <el-table-column prop="flow_num" label="流程顺序" :min-width="flexWidth('flow_num',crud.data,'流程顺序')"/>-->
|
<!-- <el-table-column prop="flow_num" label="流程顺序" :min-width="flexWidth('flow_num',crud.data,'流程顺序')"/>-->
|
||||||
@@ -223,6 +252,7 @@ import pagination from '@crud/Pagination'
|
|||||||
import crudMdBaseWorkShop from '@/views/wms/basedata/workshop/mdBaseWorkshop'
|
import crudMdBaseWorkShop from '@/views/wms/basedata/workshop/mdBaseWorkshop'
|
||||||
import MaterialDialog from '@/views/wms/sch/group/MaterialDialog.vue'
|
import MaterialDialog from '@/views/wms/sch/group/MaterialDialog.vue'
|
||||||
import WorkOrderDialog from '@/views/wms/sch/group/WorkOrderDialog.vue'
|
import WorkOrderDialog from '@/views/wms/sch/group/WorkOrderDialog.vue'
|
||||||
|
import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint'
|
||||||
|
|
||||||
const defaultForm = {
|
const defaultForm = {
|
||||||
vehicle_code: null,
|
vehicle_code: null,
|
||||||
@@ -278,6 +308,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getWorkShopList()
|
this.getWorkShopList()
|
||||||
|
this.getPointList()
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -286,6 +317,7 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
},
|
},
|
||||||
workShopList: [],
|
workShopList: [],
|
||||||
|
pointList: [],
|
||||||
choose: '物料',
|
choose: '物料',
|
||||||
materialDialog: false,
|
materialDialog: false,
|
||||||
workOrderDialog: false
|
workOrderDialog: false
|
||||||
@@ -308,6 +340,11 @@ export default {
|
|||||||
this.workOrderDialog = true
|
this.workOrderDialog = true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getPointList() { // 获取点位列表
|
||||||
|
crudSchBasePoint.getPointList().then(res => {
|
||||||
|
this.pointList = res
|
||||||
|
})
|
||||||
|
},
|
||||||
tableChanged(row) {
|
tableChanged(row) {
|
||||||
this.form.material_name = row.material_name
|
this.form.material_name = row.material_name
|
||||||
this.form.material_id = row.material_id
|
this.form.material_id = row.material_id
|
||||||
@@ -322,6 +359,10 @@ export default {
|
|||||||
this.form.material_id = null
|
this.form.material_id = null
|
||||||
this.form.material_spec = null
|
this.form.material_spec = null
|
||||||
this.form.material_code = null
|
this.form.material_code = null
|
||||||
|
},
|
||||||
|
setPointName(data) {
|
||||||
|
var point = this.pointList.find(item => item.point_code === data)
|
||||||
|
this.form.point_name = point.point_name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,7 +218,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="载具数量" prop="vehicle_qty">
|
<el-form-item label="载具数量" prop="vehicle_qty">
|
||||||
<el-input-number :controls="false" class="clear-number-input" v-model="form.vehicle_qty" :min="0" :precision="3" :max="99999" label="载具数量" size="mini" />
|
<el-input-number :controls="false" class="clear-number-input" v-model="form.vehicle_qty" :min="0" :precision="0" :max="99999" label="载具数量" size="mini" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="form.point_status === '3'" label="库存数" prop="ivt_qty">
|
<el-form-item v-if="form.point_status === '3'" label="库存数" prop="ivt_qty">
|
||||||
<el-input-number :controls="false" class="clear-number-input" v-model="form.ivt_qty" type="number" :min="1" :precision="3" :max="99999" label="库存数" size="mini" />
|
<el-input-number :controls="false" class="clear-number-input" v-model="form.ivt_qty" type="number" :min="1" :precision="3" :max="99999" label="库存数" size="mini" />
|
||||||
@@ -262,7 +262,11 @@
|
|||||||
<el-table-column prop="point_status_name" label="点位状态" :min-width="flexWidth('point_status_name',crud.data,'点位类型')"/>
|
<el-table-column prop="point_status_name" label="点位状态" :min-width="flexWidth('point_status_name',crud.data,'点位类型')"/>
|
||||||
<!-- <el-table-column prop="point_type" label="点位类型" :min-width="flexWidth('point_type',crud.data,'点位类型')" />-->
|
<!-- <el-table-column prop="point_type" label="点位类型" :min-width="flexWidth('point_type',crud.data,'点位类型')" />-->
|
||||||
<!-- <el-table-column prop="point_status" label="点位状态" :min-width="flexWidth('point_status',crud.data,'点位状态')" />-->
|
<!-- <el-table-column prop="point_status" label="点位状态" :min-width="flexWidth('point_status',crud.data,'点位状态')" />-->
|
||||||
<el-table-column prop="vehicle_type" label="载具类型" :min-width="flexWidth('vehicle_type',crud.data,'载具类型')" />
|
<el-table-column prop="vehicle_type" label="载具类型" :min-width="flexWidth('vehicle_type',crud.data,'载具类型', 30)">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
|
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
|
||||||
<el-table-column prop="vehicle_qty" label="载具数量" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />
|
<el-table-column prop="vehicle_qty" label="载具数量" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />
|
||||||
<el-table-column prop="parent_point_code" label="父点位编码" :min-width="flexWidth('parent_point_code',crud.data,'父点位编码')" />
|
<el-table-column prop="parent_point_code" label="父点位编码" :min-width="flexWidth('parent_point_code',crud.data,'父点位编码')" />
|
||||||
@@ -324,7 +328,7 @@ const defaultForm = {
|
|||||||
vehicle_max_qty: null,
|
vehicle_max_qty: null,
|
||||||
vehicle_type: null,
|
vehicle_type: null,
|
||||||
vehicle_code: null,
|
vehicle_code: null,
|
||||||
vehicle_qty: null,
|
vehicle_qty: 0,
|
||||||
block_num: null,
|
block_num: null,
|
||||||
row_num: null,
|
row_num: null,
|
||||||
col_num: null,
|
col_num: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user