fix:物料维护、组盘管理增加产品牌号和物料型号筛选;

申请贴标增加重量显示;木托盘绑定接口增加砖块数量校验
This commit is contained in:
songxiaopeng
2024-03-14 15:03:07 +08:00
parent 2fc4ea61cb
commit a99c0b7d3f
8 changed files with 121 additions and 70 deletions

View File

@@ -519,7 +519,7 @@ public class CockpitServiceImpl implements CockpitService {
//todo 确定每托盘数量
List<InOutKilnVo> res = new ArrayList<>();
InOutKilnVo in = cockPitMapper.selectInKilnInfo();
in.setStat("1");
in.setStat("2");
in.setPointName("入窑输送线");
in.setWorkTime("3.5");
in.setMaterialNum("25000");
@@ -527,7 +527,7 @@ public class CockpitServiceImpl implements CockpitService {
if (null == out) {
out = new InOutKilnVo();
}
out.setStat("1");
out.setStat("2");
out.setPointName("出窑输送线");
out.setWorkTime("3.5");
out.setMaterialNum("25000");

View File

@@ -8,7 +8,7 @@
SUM(w.unqualified_qty) AS unqualifiedQty
FROM pdm_bd_workorder w
WHERE w.region_code = 'YZ'
AND DATE ( w.produce_date ) = CURDATE()
AND workorder_status='3'
</select>
<select id="getShiftProductionList" resultType="org.nl.wms.cockpit.service.dao.ShiftProductionVo">
SELECT w.point_name AS columnName,
@@ -17,7 +17,7 @@
SUM(w.plan_qty - w.qualified_qty - w.unqualified_qty) AS lastQty
FROM `pdm_bd_workorder` w
WHERE w.region_code = 'YZ'
AND DATE ( w.produce_date ) = CURDATE()
AND w.workorder_status='3'
GROUP BY
w.point_name
ORDER BY
@@ -36,7 +36,7 @@
FROM pdm_bd_workorder w
LEFT JOIN md_base_material m ON m.material_id = w.material_id
WHERE w.region_code = 'YZ'
AND DATE ( w.produce_date ) = CURDATE()
AND w.workorder_status='3'
GROUP BY
m.order_number
</select>
@@ -128,7 +128,7 @@
FROM pdm_bd_workorder w
LEFT JOIN md_base_material m ON m.material_id = w.material_id
WHERE w.region_code = 'HN'
and DATE ( w.produce_date ) = CURDATE()
AND w.workorder_status='3'
GROUP BY m.material_name
order by m.material_name
</select>
@@ -141,7 +141,7 @@
FROM pdm_bd_workorder w
LEFT JOIN md_base_material m ON w.material_id = m.material_id
WHERE w.region_code = 'YZ'
AND w.produce_date = DATE_FORMAT(CURRENT_DATE (), '%Y%m%d')
AND w.workorder_status='3'
group by m.material_name
order by m.material_name
</select>
@@ -152,7 +152,6 @@
SUM(qualified_qty) AS suppressedNum
FROM pdm_bd_workorder
WHERE region_code = 'YZ'
AND produce_date >= CURDATE() - INTERVAL 7 DAY
GROUP BY
produceDate
ORDER BY
@@ -260,7 +259,7 @@
SELECT r.device_code as deviceCode,
r.error as errorInfo,
r.record_time as errorTime,
p.point_name as deviceName
if(LENGTH(p.point_name) <![CDATA[ > ]]> 0, p.point_name, r.device_code) as deviceName
FROM `das_device_error_record` r
LEFT JOIN sch_base_point p ON r.device_code = p.point_code
ORDER BY r.record_time desc limit 100

View File

@@ -3,7 +3,7 @@
<mapper namespace="org.nl.wms.das.device.record.service.dao.mapper.DasDeviceErrorRecordMapper">
<select id="queryErrorVo" resultType="org.nl.wms.cockpit.service.dao.DeviceErrorVo">
select p.point_name as deviceName,
select if(LENGTH(p.point_name) <![CDATA[ > ]]> 0, p.point_name, r.device_code) as deviceName,
count(*) as errorNum
from das_device_error_record r
left join sch_base_point p on r.device_code = p.point_code

View File

@@ -513,13 +513,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
StringBuilder sb = new StringBuilder();
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(vehicleCode,
GroupBindMaterialStatusEnum.BOUND.getValue());
// String materialId = groupInfo.getMaterial_id();
// MdBaseMaterial baseMaterial = materialService.getById(materialId);
// BigDecimal materialWeight = ObjectUtil.isNotEmpty(groupInfo.getMaterial_weight())
// ? groupInfo.getMaterial_weight() : BigDecimal.valueOf(0);
// String singleWeightStr = baseMaterial.getSingle_weight();
// BigDecimal singleWeight = BigDecimal.valueOf(Double.parseDouble(singleWeightStr));
// BigDecimal multiply = materialWeight.multiply(singleWeight);
String materialId = groupInfo.getMaterial_id();
MdBaseMaterial baseMaterial = materialService.getById(materialId);
BigDecimal materialWeight = ObjectUtil.isNotEmpty(groupInfo.getMaterial_weight())
? groupInfo.getMaterial_weight() : BigDecimal.valueOf(0);
String singleWeightStr = baseMaterial.getSingle_weight();
BigDecimal singleWeight = BigDecimal.valueOf(Double.parseDouble(singleWeightStr));
BigDecimal multiply = materialWeight.multiply(singleWeight).multiply(BigDecimal.valueOf(1000));
// 获取工单
PdmBdWorkorder workorder = workorderService.selectApplyLabelInfo(groupInfo.getWorkorder_code());
// 组合
@@ -529,6 +529,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
.append(workorder.getMaterial_code()).append("##")
.append(workorder.getMaterial_spec()).append("##")
.append(workorder.getMaterial_model()).append("##")
.append(multiply).append("##")
.append(DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyy/MM/dd"));
return ApplyTaskResponse.responseOk(requestNo, sb.toString());
}
@@ -1006,6 +1007,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
// 砖块数量
Integer qty = param.getInteger("qty");
if (ObjectUtil.isEmpty(qty)){
return BaseResponse.responseError(requestNo, "砖块数量为空!");
}
String vehicleType = workOrder.getVehicle_type();
// 找到相同组盘信息就直接返回id避免任务取消组盘信息还存在重复插入
// 解绑同载具的信息

View File

@@ -12,6 +12,12 @@
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
<if test="query.material_code != null">
AND ma.material_code = #{query.material_code}
</if>
<if test="query.material_model != null">
AND ma.material_model = #{query.material_model}
</if>
<if test="query.vehicle_code != null">
AND vg.vehicle_code = #{query.vehicle_code}
</if>

View File

@@ -16,4 +16,6 @@ public class SchBaseVehiclematerialgroupQuery implements Serializable {
private String workshop_code;
private String region_code;
private String group_bind_material_status;
private String material_code;
private String material_model;
}

View File

@@ -34,12 +34,30 @@
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料规格">
<el-form-item label="产品部位">
<el-input
v-model="query.material_spec"
clearable
size="mini"
placeholder="物料规格"
placeholder="产品部位"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="产品牌号">
<el-input
v-model="query.material_code"
clearable
size="mini"
placeholder="产品牌号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料型号">
<el-input
v-model="query.material_model"
clearable
size="mini"
placeholder="物料型号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
@@ -54,7 +72,8 @@
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="820px">
width="820px"
>
<el-form
ref="form"
:inline="true"
@@ -63,7 +82,8 @@
:rules="rules"
size="mini"
label-width="125px"
label-suffix=":">
label-suffix=":"
>
<el-form-item label="订单编号" prop="order_number">
<el-input v-model="form.order_number" style="width: 240px;" />
@@ -83,6 +103,13 @@
<el-form-item label="物料型号" prop="material_model">
<el-input v-model="form.material_model" style="width: 240px;" />
</el-form-item>
<el-form-item label="单重">
<el-input-number
v-model.number="form.single_weight"
:min="0"
style="width: 240px;"
/>
</el-form-item>
<!-- <el-form-item label="A长边">
<el-input-number
v-model.number="form.a_long_side"
@@ -111,13 +138,7 @@
style="width: 240px;"
/>
</el-form-item>
<el-form-item label="单重">
<el-input-number
v-model.number="form.single_weight"
:min="0"
style="width: 240px;"
/>
</el-form-item>
<el-form-item label="木托盘规格">
<el-tooltip class="item" effect="dark" content="例如950*1000" placement="top">
<el-select
@@ -195,6 +216,7 @@
<el-table-column prop="material_code" label="产品牌号 " :min-width="flexWidth('material_code',crud.data,'产品牌号 ')" />
<el-table-column prop="material_spec" label="产品部位" :min-width="flexWidth('material_spec',crud.data,'产品部位')" />
<el-table-column prop="material_model" label="物料型号" :min-width="flexWidth('material_model',crud.data,'物料分类标识')" />
<el-table-column prop="single_weight" label="单重" :min-width="flexWidth('single_weight',crud.data,'物料分类标识')" />
<!-- <el-table-column prop="standing_time" label="静置时间(分钟)" :min-width="flexWidth('standing_time',crud.data,'静置时间(分钟)')" />
<el-table-column prop="cooling_time" label="冷却时间(分钟)" :min-width="flexWidth('cooling_time',crud.data,'静置时间(分钟)')" /> -->
<!-- <el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />-->

View File

@@ -47,6 +47,24 @@
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="产品牌号">
<el-input
v-model="query.material_code"
clearable
size="mini"
placeholder="产品牌号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料型号">
<el-input
v-model="query.material_model"
clearable
size="mini"
placeholder="物料型号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="绑定状态">
<el-select
v-model="query.group_bind_material_status"
@@ -86,8 +104,8 @@
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px;"
placeholder="选择日期时间">
</el-date-picker>
placeholder="选择日期时间"
/>
</el-form-item>
<el-form-item label="点位编码">
<el-select
@@ -152,10 +170,10 @@
</el-radio-group>
</el-form-item>
<el-form-item v-if="false" label="物料名称">
<el-input suffix-icon="el-icon-date" v-model="form.material_id" clearable style="width: 370px;" @focus="getMaterial" />
<el-input v-model="form.material_id" suffix-icon="el-icon-date" clearable style="width: 370px;" @focus="getMaterial" />
</el-form-item>
<el-form-item label="物料名称">
<el-input @clear="clearMaterial" clearable v-model="form.material_name" style="width: 240px;" @focus="getMaterial" />
<el-input v-model="form.material_name" clearable style="width: 240px;" @clear="clearMaterial" @focus="getMaterial" />
</el-form-item>
<el-form-item label="物料编码">
<el-input v-model="form.material_code" disabled style="width: 240px;" />
@@ -393,12 +411,6 @@ export default {
crudMethod: { ...crudSchBaseVehiclematerialgroup }
})
},
created() {
this.getWorkShopList()
this.getPointList()
this.getRegionList()
this.getCustomerList()
},
data() {
return {
permission: {
@@ -414,6 +426,12 @@ export default {
workOrderDialog: false
}
},
created() {
this.getWorkShopList()
this.getPointList()
this.getRegionList()
this.getCustomerList()
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
@@ -470,7 +488,7 @@ export default {
},
hand(value) {
this.crud.toQuery()
},
}
}
}
</script>