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. 328
      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: freemarker:
check-template-location: false check-template-location: false
profiles: profiles:
active: prod active: dev
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
data: data:
@ -88,6 +88,10 @@ mybatis-plus:
global-config: global-config:
db-config: db-config:
id-type: INPUT id-type: INPUT
banner: false
lucene: lucene:
index: index:
path: D:\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 = "放货等待点") @ApiModelProperty(value = "放货等待点")
private String next_wait_point; 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 = "物料名称") // @ApiModelProperty(value = "物料名称")
// private String product_description; // 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_code2(taskObj.getVehicle_code2());
endPointObj.setVehicle_qty(1); endPointObj.setVehicle_qty(1);
endPointObj.setUpdate_time(DateUtil.now()); 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); pointService.update(endPointObj);
// 起点清空 // 起点清空
startPointObj.setVehicle_code(""); 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.setVehicle_code2(taskObj.getVehicle_code2());
endPointObj.setUpdate_time(DateUtil.now()); endPointObj.setUpdate_time(DateUtil.now());
endPointObj.setVehicle_qty(1); endPointObj.setVehicle_qty(1);
endPointObj.setMaterial_weight(extGroupData.getBigDecimal("weight"));
endPointObj.setInstorage_time(DateUtil.now());
pointService.update(endPointObj); pointService.update(endPointObj);
// 要把数据存到组盘表 -> 改造公共方法,返回id // 要把数据存到组盘表 -> 改造公共方法,返回id
//组盘表需要关联外部mes晶棒数据,一对多 //组盘表需要关联外部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> </update>
<select id="queryByMes" resultType="org.nl.wms.mes.domain.QPMES118ResponseBody"> <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 SELECT
from sch_base_point p p.region_code AS WhaCode,
LEFT JOIN sch_base_vehiclematerialgroup v p.point_code AS WhlCode,
on p.vehicle_code2=v.vehicle_code p.vehicle_code AS ParentPalletSN,
where p.region_code in('YL','YLHC','HW','HWK'); 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> </select>
</mapper> </mapper>

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

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

Loading…
Cancel
Save