Browse Source

rev:组盘表字段移到点位表

master
管理员 3 months ago
parent
commit
84a242dcdb
  1. 6
      acs/nladmin-system/nlsso-server/src/main/resources/config/application.yml
  2. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java
  3. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
  4. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
  5. 16
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.xml
  6. 314
      lms/nladmin-ui/src/views/wms/pdm/workerordertwo/PointDetailDialog.vue

6
acs/nladmin-system/nlsso-server/src/main/resources/config/application.yml

@ -2,7 +2,7 @@ spring:
freemarker:
check-template-location: false
profiles:
active: prod
active: dev
jackson:
time-zone: GMT+8
data:
@ -88,6 +88,10 @@ mybatis-plus:
global-config:
db-config:
id-type: INPUT
banner: false
lucene:
index:
path: D:\lucene\index
tlog:
enable-invoke-time-print: true
pattern: "[$preApp][$preIp][$spanId][$traceId]"

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java

@ -152,6 +152,19 @@ public class SchBasePoint implements Serializable {
@ApiModelProperty(value = "放货等待点")
private String next_wait_point;
@ApiModelProperty(value = "回温时间(小时)")
private Integer standing_time;
@ApiModelProperty(value = "物料重量")
private BigDecimal material_weight;
@ApiModelProperty(value = "批次")
private String pcsn;
@ApiModelProperty(value = "入库时间")
private String instorage_time;
// @ApiModelProperty(value = "物料名称")
// private String product_description;
//

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java

@ -216,6 +216,9 @@ public class YCLCKTask extends AbstractTask {
endPointObj.setVehicle_code2(taskObj.getVehicle_code2());
endPointObj.setVehicle_qty(1);
endPointObj.setUpdate_time(DateUtil.now());
endPointObj.setStanding_time(Integer.valueOf(extGroupData.getString("time")));
endPointObj.setPcsn(extGroupData.getString("batch"));
endPointObj.setInstorage_time(DateUtil.now());
pointService.update(endPointObj);
// 起点清空
startPointObj.setVehicle_code("");

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java

@ -200,6 +200,8 @@ public class YCLRKTask extends AbstractTask {
endPointObj.setVehicle_code2(taskObj.getVehicle_code2());
endPointObj.setUpdate_time(DateUtil.now());
endPointObj.setVehicle_qty(1);
endPointObj.setMaterial_weight(extGroupData.getBigDecimal("weight"));
endPointObj.setInstorage_time(DateUtil.now());
pointService.update(endPointObj);
// 要把数据存到组盘表 -> 改造公共方法,返回id
//组盘表需要关联外部mes晶棒数据,一对多

16
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.xml

@ -41,10 +41,16 @@
</update>
<select id="queryByMes" resultType="org.nl.wms.mes.domain.QPMES118ResponseBody">
select p.region_code as WhaCode,p.point_code as WhlCode,p.vehicle_code as ParentPalletSN,p.vehicle_code2 as PalletSN,v.material_id as ProductName,v.material_weight as Qty,DATE_FORMAT(v.update_time, '%Y-%m-%d') as WorkDate,v.remark as CustomerName
from sch_base_point p
LEFT JOIN sch_base_vehiclematerialgroup v
on p.vehicle_code2=v.vehicle_code
where p.region_code in('YL','YLHC','HW','HWK');
SELECT
p.region_code AS WhaCode,
p.point_code AS WhlCode,
p.vehicle_code AS ParentPalletSN,
p.vehicle_code2 AS PalletSN,
p.material_weight AS Qty,
DATE_FORMAT( p.update_time, '%Y-%m-%d' ) AS WorkDate
FROM
sch_base_point p
WHERE
p.region_code IN ( 'YL', 'YLHC', 'HW', 'HWK' );
</select>
</mapper>

314
lms/nladmin-ui/src/views/wms/pdm/workerordertwo/PointDetailDialog.vue

@ -1,183 +1,184 @@
<template>
<el-dialog
title="物料选择"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
width="1000px"
@close="close"
@open="open"
<el-dialog
title="物料选择"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
width="1000px"
@close="close"
@open="open"
>
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="物料编码">
<el-input
v-model="query.productname"
clearable
size="mini"
placeholder="物料编码"
disabled="false"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="工单号">
<el-input
v-model="query.workorder_code"
clearable
size="mini"
placeholder="工单号"
disabled="false"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
<el-form-item label="物料编码">
<el-input
v-model="query.productname"
clearable
size="mini"
placeholder="物料编码"
disabled="false"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="工单号">
<el-input
v-model="query.workorder_code"
clearable
size="mini"
placeholder="工单号"
disabled="false"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
style="width: 100%;"
size="mini"
border
:cell-style="{'text-align':'center'}"
:header-cell-style="{background:'#f5f7fa',color:'#606266','text-align':'center'}"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="point_code" label="所在点位" width="120px" />
<el-table-column prop="productName" label="物料编码" />
<el-table-column prop="palletSN" label="子托盘号" min-width="120" show-overflow-tooltip />
<el-table-column prop="qty" label="数量" width="100" show-overflow-tooltip />
</el-table>
<!--分页组件-->
<pagination />
<!-- <span slot="footer" class="dialog-footer">
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
style="width: 100%;"
size="mini"
border
:cell-style="{'text-align':'center'}"
:header-cell-style="{background:'#f5f7fa',color:'#606266','text-align':'center'}"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="point_code" label="所在点位" width="120px" />
<el-table-column prop="productName" label="物料编码" />
<el-table-column prop="palletSN" label="子托盘号" min-width="120" show-overflow-tooltip />
<el-table-column prop="qty" label="数量" width="100" show-overflow-tooltip />
</el-table>
<!--分页组件-->
<pagination />
<!-- <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span> -->
<el-button
<el-button
type="primary"
@click="submitSelectedRows">
@click="submitSelectedRows"
>
原材料出库
</el-button>
</el-dialog>
</template>
</el-dialog>
</template>
<script>
<script>
import CRUD, { header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import CRUD, { header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { mount } from 'sortablejs'
export default {
name: 'WorkOrderDetailDialog',
components: { rrOperation, pagination },
dicts: ['is_used', 'vehicle_type'],
cruds() {
return CRUD({ title: '点位详情', url: 'api/pointDetail', optShow: {}})
export default {
name: 'WorkOrderDetailDialog',
components: { rrOperation, pagination },
dicts: ['is_used', 'vehicle_type'],
cruds() {
return CRUD({ title: '点位详情', url: 'api/pointDetail', optShow: {}})
},
mixins: [presenter(), header()],
props: {
dialogShow: {
type: Boolean,
default: false
},
mixins: [presenter(), header()],
props: {
dialogShow: {
type: Boolean,
default: false
},
isSingle: {
type: Boolean,
default: false
},
productname: {
isSingle: {
type: Boolean,
default: false
},
productname: {
type: String,
default: ''
},workorder_code: {
}, workorderCode: {
type: String,
default: ''
}
},
data() {
return {
dialogVisible: false,
tableRadio: null,
tableData: []
},
data() {
return {
dialogVisible: false,
tableRadio: null,
tableData: []
}
},
watch: {
dialogShow: {
handler(newValue) {
this.dialogVisible = newValue
}
},
watch: {
dialogShow: {
handler(newValue) {
this.dialogVisible = newValue
}
},
productname(newVal) {
productname(newVal) {
//
this.query.productname = newVal;
this.executeQuery();
this.query.productname = newVal
this.executeQuery()
},
workorder_code(newVal) {
//
this.query.workorder_code=newVal
this.workorder_code = newVal;
this.query.workorder_code = newVal
this.workorder_code = newVal
}
},
methods: {
clickChange(item) {
this.tableRadio = item
},
methods: {
clickChange(item) {
this.tableRadio = item
},
open() {
open() {
},
handleSelectionChange(val, row) {
if (val.length > 1) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(val.pop())
} else {
this.checkrow = row
}
},
onSelectAll() {
},
handleSelectionChange(val, row) {
if (val.length > 1) {
this.$refs.table.clearSelection()
},
close() {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
},
submit() {
//
if (this.isSingle && this.tableRadio) {
this.$emit('update:dialogShow', false)
this.$emit('tableChanged', this.tableRadio)
return
}
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {
this.$message('请先勾选物料')
return
}
this.crud.resetQuery(false)
this.$refs.table.toggleRowSelection(val.pop())
} else {
this.checkrow = row
}
},
onSelectAll() {
this.$refs.table.clearSelection()
},
close() {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
},
submit() {
//
if (this.isSingle && this.tableRadio) {
this.$emit('update:dialogShow', false)
this.$emit('tableChanged', this.rows)
},executeQuery() {
this.crud.toQuery();
},submitSelectedRows() {
const selectedRows = this.$refs.table.selection;
this.$emit('tableChanged', this.tableRadio)
return
}
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {
this.$message('请先勾选物料')
return
}
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
this.$emit('tableChanged', this.rows)
}, executeQuery() {
this.crud.toQuery()
}, submitSelectedRows() {
const selectedRows = this.$refs.table.selection
if (selectedRows.length === 0) {
this.$message.error('请至少选择一行数据');
return;
this.$message.error('请至少选择一行数据')
return
}
// point_code
const pointCodes = selectedRows.map(row => row.point_code);
// point_code
const pointCodes = selectedRows.map(row => row.point_code)
//
this.$prompt('请输入回温时间', '提示', {
//
this.$prompt('请输入回温时间', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /\d+/,
@ -195,36 +196,35 @@ import { mount } from 'sortablejs'
workorder_code: this.workorder_code // 使workorder_code
}).then(response => {
//
this.$message.success('提交成功!');
this.$message.success('提交成功!')
//
this.dialogVisible = false;
this.dialogVisible = false
}).catch(error => {
//
this.$message.error('提交失败,请重试');
});
this.$message.error('提交失败,请重试')
})
}).catch(() => {
//
this.$message({
type: 'info',
message: '已取消提交操作'
});
});
})
})
}).catch(() => {
//
this.$message({
type: 'info',
message: '已取消提交操作'
});
});
})
})
}
}
}
</script>
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .el-dialog__body {
padding-top: 0px;
}
</style>
Loading…
Cancel
Save