1、仓库采购需求基本curd实现

pull/254/head
xjs 4 years ago
parent 77e3e32585
commit 69f0859f67

@ -0,0 +1,47 @@
import request from '@/utils/request'
//获取仓库采购需求列表
export function getWarePurchaseDetailList(parms) {
return request({
url: '/mall-ware/ware/purchasedetail/list',
method: 'get',
params: parms
})
}
//删除仓库采购需求
export function delWarePurchaseDetail(ids) {
return request({
url: '/mall-ware/ware/purchasedetail/delete',
method: 'delete',
data: ids
})
}
//获取仓库采购需求详情
export function getWarePurchaseDetail(id) {
return request({
url: `/mall-ware/ware/purchasedetail/info/${id}`,
method: 'get',
})
}
//保存仓库采购需求
export function saveWarePurchaseDetail(data) {
return request({
url: `/mall-ware/ware/purchasedetail/save`,
method: 'post',
data: data,
})
}
//修改仓库采购需求
export function editWarePurchaseDetail(data) {
return request({
url: `/mall-ware/ware/purchasedetail/update`,
method: 'put',
data: data,
})
}

@ -0,0 +1,133 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
label-width="120px">
<el-form-item label="优先级" prop="priority">
<el-input v-model="dataForm.priority" placeholder="优先级"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data() {
return {
visible: false,
dataForm: {
id: 0,
assigneeId: '',
assigneeName: '',
phone: '',
priority: '',
status: 0,
wareId: '',
amount: '',
createTime: '',
updateTime: ''
},
dataRule: {
assigneeId: [
{required: true, message: '采购人id不能为空', trigger: 'blur'}
],
assigneeName: [
{required: true, message: '采购人名不能为空', trigger: 'blur'}
],
phone: [
{required: true, message: '联系方式不能为空', trigger: 'blur'}
],
priority: [
{required: true, message: '优先级不能为空', trigger: 'blur'}
],
status: [
{required: true, message: '状态不能为空', trigger: 'blur'}
],
wareId: [
{required: true, message: '仓库id不能为空', trigger: 'blur'}
],
amount: [
{required: true, message: '总金额不能为空', trigger: 'blur'}
],
createTime: [
{required: true, message: '创建日期不能为空', trigger: 'blur'}
],
updateTime: [
{required: true, message: '更新日期不能为空', trigger: 'blur'}
]
}
}
},
methods: {
init(id) {
this.dataForm.id = id
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/ware/purchase/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.assigneeId = data.purchase.assigneeId
this.dataForm.assigneeName = data.purchase.assigneeName
this.dataForm.phone = data.purchase.phone
this.dataForm.priority = data.purchase.priority
this.dataForm.status = data.purchase.status
this.dataForm.wareId = data.purchase.wareId
this.dataForm.amount = data.purchase.amount
this.dataForm.createTime = data.purchase.createTime
this.dataForm.updateTime = data.purchase.updateTime
}
})
}
})
},
//
dataFormSubmit() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/ware/purchase/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'assigneeId': this.dataForm.assigneeId,
'assigneeName': this.dataForm.assigneeName,
'phone': this.dataForm.phone,
'priority': this.dataForm.priority,
'status': this.dataForm.status,
'wareId': this.dataForm.wareId,
'amount': this.dataForm.amount,
'createTime': this.dataForm.createTime,
'updateTime': this.dataForm.updateTime
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,266 @@
<template>
<div class="app-container">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="状态">
<el-select style="width:120px;" v-model="dataForm.status" placeholder="请选择状态" clearable>
<el-option label="新建" :value="0"></el-option>
<el-option label="已分配" :value="1"></el-option>
<el-option label="已领取" :value="2"></el-option>
<el-option label="已完成" :value="3"></el-option>
<el-option label="有异常" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字">
<el-input style="width:120px;" v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button @click="getDataList()" size="mini">查询</el-button>
<el-button
type="primary"
@click="addOrUpdateHandle()"
size="mini"
>新增
</el-button>
<el-button
type="danger"
@click="deleteHandle()"
size="mini"
:disabled="dataListSelections.length <= 0"
>批量删除
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;"
>
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="id" header-align="center" align="center" label="采购单id"></el-table-column>
<el-table-column prop="assigneeId" header-align="center" align="center" label="采购人id"></el-table-column>
<el-table-column prop="assigneeName" header-align="center" align="center" label="采购人名"></el-table-column>
<el-table-column prop="phone" header-align="center" align="center" label="联系方式"></el-table-column>
<el-table-column prop="priority" header-align="center" align="center" label="优先级"></el-table-column>
<el-table-column prop="status" header-align="center" align="center" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status === 0"></el-tag>
<el-tag type="info" v-if="scope.row.status === 1"></el-tag>
<el-tag type="warning" v-if="scope.row.status === 2"></el-tag>
<el-tag type="success" v-if="scope.row.status === 3"></el-tag>
<el-tag type="danger" v-if="scope.row.status === 4"></el-tag>
</template>
</el-table-column>
<el-table-column prop="wareId" header-align="center" align="center" label="仓库id"></el-table-column>
<el-table-column prop="amount" header-align="center" align="center" label="总金额"></el-table-column>
<el-table-column prop="createTime" header-align="center" align="center" label="创建日期"></el-table-column>
<el-table-column prop="updateTime" header-align="center" align="center" label="更新日期"></el-table-column>
<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
v-if="scope.row.status===0||scope.row.status===1"
@click="opendrawer(scope.row)"
>分配
</el-button>
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<el-dialog title="分配采购人员" :visible.sync="caigoudialogVisible" width="30%">
<el-select v-model="userId" filterable placeholder="请选择">
<el-option
v-for="item in userList"
:key="item.userId"
:label="item.username"
:value="item.userId"
></el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button @click="caigoudialogVisible = false"> </el-button>
<el-button type="primary" @click="assignUser"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import AddOrUpdate from "./purchase-add-or-update";
import {delWarePurchase, getWarePurchaseList} from "@/api/mall/ware/ware-purchase-detail";
export default {
name: "Purchase",
data() {
return {
wareList: [],
currentRow: {},
dataForm: {
key: "",
status: ""
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false,
caigoudialogVisible: false,
userId: "",
userList: []
};
},
components: {
AddOrUpdate
},
created() {
this.getWares()
this.getDataList();
},
methods: {
opendrawer(row) {
this.getUserList();
this.currentRow = row;
this.caigoudialogVisible = true;
},
assignUser() {
let _this = this;
let user = {};
this.userList.forEach(item => {
if (item.userId === _this.userId) {
user = item;
}
});
this.caigoudialogVisible = false;
this.$http({
url: this.$http.adornUrl(
`/ware/purchase/update`
),
method: "post",
data: this.$http.adornData({
id: this.currentRow.id || undefined,
assigneeId: user.userId,
assigneeName: user.username,
phone: user.mobile,
status: 1
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: "操作成功",
type: "success",
duration: 1500
});
this.userId = "";
this.getDataList();
} else {
this.$message.error(data.msg);
}
});
},
getUserList() {
this.$http({
url: this.$http.adornUrl("/sys/user/list"),
method: "get",
params: this.$http.adornParams({
page: 1,
limit: 500
})
}).then(({data}) => {
this.userList = data.page.list;
});
},
//
getDataList() {
this.dataListLoading = true;
let params = {
page: this.pageIndex,
limit: this.pageSize,
key: this.dataForm.key
}
getWarePurchaseList(params).then(res => {
this.dataList = res.page.list;
this.totalPage = res.page.totalCount;
this.dataListLoading = false;
})
},
//
sizeChangeHandle(val) {
this.pageSize = val;
this.pageIndex = 1;
this.getDataList();
},
//
currentChangeHandle(val) {
this.pageIndex = val;
this.getDataList();
},
//
selectionChangeHandle(val) {
this.dataListSelections = val;
},
// /
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true;
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id);
});
},
//
deleteHandle(id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id;
});
this.$confirm(
`确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
).then(() => {
delWarePurchase(ids).then(res => {
this.$modal.notifySuccess("删除成功")
this.getDataList();
})
});
},
/** 重置按钮操作 */
resetQuery() {
this.dataForm = {}
this.pageIndex = 1;
this.getDataList();
},
}
};
</script>

@ -0,0 +1,117 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible"
>
<el-form
:model="dataForm"
:rules="dataRule"
ref="dataForm"
@keyup.enter.native="dataFormSubmit()"
label-width="120px"
>
<el-form-item label="采购商品id" prop="skuId">
<el-input v-model="dataForm.skuId" placeholder="采购商品id"></el-input>
</el-form-item>
<el-form-item label="采购数量" prop="skuNum">
<el-input v-model="dataForm.skuNum" placeholder="采购数量"></el-input>
</el-form-item>
<el-form-item label="仓库" prop="wareId">
<el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable>
<el-option :label="w.name" :value="w.id" v-for="w in wareList" :key="w.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
import {getWareInfoList} from "@/api/mall/ware/ware-info";
import {
editWarePurchaseDetail,
getWarePurchaseDetail,
saveWarePurchaseDetail
} from "@/api/mall/ware/ware-purchase-detail";
export default {
data() {
return {
visible: false,
wareList: [],
dataForm: {
id: 0,
purchaseId: "",
skuId: "",
skuNum: "",
skuPrice: "",
wareId: "",
status: 0
},
dataRule: {
skuId: [
{required: true, message: "采购商品id不能为空", trigger: "blur"}
],
skuNum: [
{required: true, message: "采购数量不能为空", trigger: "blur"}
],
wareId: [{required: true, message: "仓库id不能为空", trigger: "blur"}]
}
};
},
created() {
this.getWares();
},
methods: {
//
getWares() {
let params = {
page: 1,
limit: 500
}
getWareInfoList(params).then(res => {
this.wareList = res.page.list;
})
},
init(id) {
this.dataForm.id = id
this.visible = true;
this.$nextTick(() => {
this.$refs["dataForm"].resetFields();
if (this.dataForm.id) {
getWarePurchaseDetail(this.dataForm.id).then(res => {
this.dataForm = res.purchaseDetail
})
}
});
},
//
dataFormSubmit() {
this.$refs["dataForm"].validate(valid => {
if (valid) {
if (!this.dataForm.id) {
saveWarePurchaseDetail(this.dataForm).then(res => {
this.$modal.notifySuccess("保存成功")
this.visible = false;
this.$emit("refreshDataList");
})
} else {
editWarePurchaseDetail(this.dataForm).then(res => {
this.$modal.notifySuccess("修改成功")
this.visible = false;
this.$emit("refreshDataList");
})
}
}
});
}
}
};
</script>

@ -0,0 +1,293 @@
<template>
<div class="app-container">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="仓库">
<el-select style="width:120px;" v-model="dataForm.wareId" placeholder="请选择仓库" clearable>
<el-option :label="w.name" :value="w.id" v-for="w in wareList" :key="w.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-select style="width:120px;" v-model="dataForm.status" placeholder="请选择状态" clearable>
<el-option label="新建" :value="0"></el-option>
<el-option label="已分配" :value="1"></el-option>
<el-option label="正在采购" :value="2"></el-option>
<el-option label="已完成" :value="3"></el-option>
<el-option label="采购失败" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字">
<el-input style="width:220px;" v-model="dataForm.key" placeholder="请输入采购单id、商品id等" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button @click="getDataList()"></el-button>
<el-button
type="primary"
@click="addOrUpdateHandle()"
>新增
</el-button>
<el-dropdown @command="handleBatchCommand" :disabled="dataListSelections.length <= 0">
<el-button type="info">
批量操作
<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="delete">批量删除</el-dropdown-item>
<el-dropdown-item command="merge">合并整单</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;"
>
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="purchaseId" header-align="center" align="center" label="采购单id"></el-table-column>
<el-table-column prop="skuId" header-align="center" align="center" label="采购商品id"></el-table-column>
<el-table-column prop="skuNum" header-align="center" align="center" label="采购数量"></el-table-column>
<el-table-column prop="skuPrice" header-align="center" align="center" label="采购金额"></el-table-column>
<el-table-column prop="wareName" header-align="center" align="center" label="仓库名称"></el-table-column>
<el-table-column prop="status" header-align="center" align="center" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status===0"></el-tag>
<el-tag type="info" v-if="scope.row.status===1"></el-tag>
<el-tag type="wanring" v-if="scope.row.status===2"></el-tag>
<el-tag type="success" v-if="scope.row.status===3"></el-tag>
<el-tag type="danger" v-if="scope.row.status===4"></el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<el-dialog title="合并到整单" :visible.sync="mergedialogVisible">
<!-- id assignee_id assignee_name phone priority status -->
<el-select v-model="purchaseId" placeholder="请选择" clearable filterable>
<el-option
v-for="item in purchasetableData"
:key="item.id"
:label="item.id"
:value="item.id"
>
<span style="float: left">{{ item.id }}</span>
<span
style="float: right; color: #8492a6; font-size: 13px"
>{{ item.assigneeName }}{{ item.phone }}</span>
</el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button @click="mergedialogVisible = false"> </el-button>
<el-button type="primary" @click="mergeItem"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import AddOrUpdate from "./purchasedetail-add-or-update";
import {getWareInfoList} from "@/api/mall/ware/ware-info";
import {delWarePurchaseDetail, getWarePurchaseDetailList} from "@/api/mall/ware/ware-purchase-detail";
export default {
name: "PurchaseDetail",
data() {
return {
dataForm: {
key: "",
status: "",
wareId: ""
},
wareList: [],
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false,
mergedialogVisible: false,
purchaseId: "",
purchasetableData: []
};
},
components: {
AddOrUpdate
},
created() {
this.getDataList();
this.getWares();
},
methods: {
mergeItem() {
let items = this.dataListSelections.map(item => {
return item.id;
});
if (!this.purchaseId) {
this.$confirm(
"没有选择任何【采购单】,将自动创建新单进行合并。确认吗?",
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
)
.then(() => {
this.$http({
url: this.$http.adornUrl("/ware/purchase/merge"),
method: "post",
data: this.$http.adornData({items: items}, false)
}).then(({data}) => {
this.getDataList();
});
})
.catch(() => {
});
} else {
this.$http({
url: this.$http.adornUrl("/ware/purchase/merge"),
method: "post",
data: this.$http.adornData(
{purchaseId: this.purchaseId, items: items},
false
)
}).then(({data}) => {
this.getDataList();
});
}
this.mergedialogVisible = false;
},
getUnreceivedPurchase() {
this.$http({
url: this.$http.adornUrl("/ware/purchase/unreceive/list"),
method: "get",
params: this.$http.adornParams({})
}).then(({data}) => {
this.purchasetableData = data.page.list;
});
},
handleBatchCommand(cmd) {
if (cmd === "delete") {
this.deleteHandle();
}
if (cmd === "merge") {
if (this.dataListSelections.length !== 0) {
this.getUnreceivedPurchase();
this.mergedialogVisible = true;
} else {
this.$alert("请先选择需要合并的需求", "提示", {
confirmButtonText: "确定",
callback: action => {
}
});
}
}
},
//
getWares() {
let params = {
page: 1,
limit: 500
}
getWareInfoList(params).then(res => {
this.wareList = res.page.list;
})
},
//
getDataList() {
this.dataListLoading = true;
let params = {
page: this.pageIndex,
limit: this.pageSize,
key: this.dataForm.key,
status: this.dataForm.status,
wareId: this.dataForm.wareId
}
getWarePurchaseDetailList(params).then(res => {
this.dataList = res.page.list;
this.totalPage = res.page.totalCount;
this.dataListLoading = false;
});
},
//
sizeChangeHandle(val) {
this.pageSize = val;
this.pageIndex = 1;
this.getDataList();
},
//
currentChangeHandle(val) {
this.pageIndex = val;
this.getDataList();
},
//
selectionChangeHandle(val) {
this.dataListSelections = val;
},
// /
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true;
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id);
});
},
//
deleteHandle(id) {
var ids = id
? [id]
: this.dataListSelections.map(item => {
return item.id;
});
this.$confirm(
`确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
).then(() => {
delWarePurchaseDetail(ids).then(res => {
this.$modal.notifySuccess("删除成功")
this.getDataList();
})
});
},
/** 重置按钮操作 */
resetQuery() {
this.dataForm = {}
this.pageIndex = 1;
this.getDataList();
},
}
};
</script>

@ -44,7 +44,7 @@ public class PurchaseDetailController {
/**
*
*/
@RequestMapping("/info/{id}")
@GetMapping("/info/{id}")
@ApiOperation("信息")
public R info(@PathVariable("id") Long id) {
PurchaseDetailEntity purchaseDetail = purchaseDetailService.getById(id);
@ -55,7 +55,7 @@ public class PurchaseDetailController {
/**
*
*/
@RequestMapping("/save")
@PostMapping("/save")
@ApiOperation("保存")
@Log(title = "采购需求", businessType = BusinessType.INSERT)
public R save(@RequestBody PurchaseDetailEntity purchaseDetail) {
@ -67,7 +67,7 @@ public class PurchaseDetailController {
/**
*
*/
@RequestMapping("/update")
@PutMapping("/update")
@ApiOperation("修改")
@Log(title = "采购需求", businessType = BusinessType.UPDATE)
public R update(@RequestBody PurchaseDetailEntity purchaseDetail) {
@ -79,7 +79,7 @@ public class PurchaseDetailController {
/**
*
*/
@RequestMapping("/delete")
@DeleteMapping("/delete")
@ApiOperation("删除")
@Log(title = "采购需求", businessType = BusinessType.DELETE)
public R delete(@RequestBody Long[] ids) {

@ -6,17 +6,27 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.StringUtils;
import com.xjs.mall.ware.dao.PurchaseDetailDao;
import com.xjs.mall.ware.entity.PurchaseDetailEntity;
import com.xjs.mall.ware.entity.WareInfoEntity;
import com.xjs.mall.ware.service.PurchaseDetailService;
import com.xjs.mall.ware.service.WareInfoService;
import com.xjs.mall.ware.vo.PurchaseDetailVo;
import com.xjs.utils.PageUtils;
import com.xjs.utils.Query;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service("purchaseDetailService")
public class PurchaseDetailServiceImpl extends ServiceImpl<PurchaseDetailDao, PurchaseDetailEntity> implements PurchaseDetailService {
@Autowired
private WareInfoService wareInfoService;
@Override
public PageUtils queryPage(Map<String, Object> params) {
LambdaQueryWrapper<PurchaseDetailEntity> wrapper = new LambdaQueryWrapper<>();
@ -35,7 +45,19 @@ public class PurchaseDetailServiceImpl extends ServiceImpl<PurchaseDetailDao, Pu
IPage<PurchaseDetailEntity> page = this.page(new Query<PurchaseDetailEntity>().getPage(params), wrapper);
return new PageUtils(page);
List<Object> collect = page.getRecords().stream().map(purchaseDetailEntity -> {
PurchaseDetailVo purchaseDetailVo = new PurchaseDetailVo();
BeanUtils.copyProperties(purchaseDetailEntity, purchaseDetailVo);
//获取仓库信息
WareInfoEntity wareInfoEntity = wareInfoService.getById(purchaseDetailVo.getWareId());
purchaseDetailVo.setWareName(wareInfoEntity.getName());
return purchaseDetailVo;
}).collect(Collectors.toList());
PageUtils pageUtils = new PageUtils(page);
pageUtils.setList(collect);
return pageUtils;
}
}

@ -0,0 +1,47 @@
package com.xjs.mall.ware.vo;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.math.BigDecimal;
/**
* vo
* @author xiejs
* @since 2022-03-23
*/
@Data
public class PurchaseDetailVo {
@TableId
private Long id;
/**
* id
*/
private Long purchaseId;
/**
* id
*/
private Long skuId;
/**
*
*/
private Integer skuNum;
/**
*
*/
private BigDecimal skuPrice;
/**
* id
*/
private Long wareId;
/**
* [01234]
*/
private Integer status;
/**
*
*/
private String wareName;
}
Loading…
Cancel
Save