|
1
|
package com.huaheng.pc.config.bom.controller;
|
|
2
3
4
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
5
|
import com.huaheng.common.utils.Wrappers;
|
|
6
7
8
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.huaheng.common.support.Convert;
import com.huaheng.common.utils.StringUtils;
|
|
9
|
import com.huaheng.common.utils.security.ShiroUtils;
|
|
10
11
12
13
14
15
16
|
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.page.PageDomain;
import com.huaheng.framework.web.page.TableDataInfo;
import com.huaheng.framework.web.page.TableSupport;
|
|
17
18
19
20
21
22
|
import com.huaheng.pc.config.bom.domain.BomDetail;
import com.huaheng.pc.config.bom.domain.BomHeader;
import com.huaheng.pc.config.bom.service.BomDetailService;
import com.huaheng.pc.config.bom.service.BomHeaderService;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
|
|
23
24
25
26
27
28
29
30
31
32
33
34
|
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Controller
|
|
35
|
@RequestMapping("/config/bomHeader")
|
|
36
37
|
public class BomHeaderController extends BaseController {
|
|
38
|
private String prefix = "config/bomHeader";
|
|
39
40
41
42
43
44
45
|
@Resource
private BomHeaderService bomHeaderService;
@Resource
private BomDetailService bomDetailService;
|
|
46
47
48
|
@Resource
private MaterialService materialService;
|
|
49
|
@RequiresPermissions("config:bomHeader:view")
|
|
50
|
@GetMapping()
|
|
51
52
|
public String bomHeader() {
System.out.println("商品管理");
|
|
53
54
55
56
57
58
59
|
return prefix + "/bomHeader";
}
/**
* 查询商品列表
*/
@ApiOperation(value="查看商品列表", notes="根据物料编码、物料名称、货主编码、创建时间获取商品信息", httpMethod = "POST")
|
|
60
|
@RequiresPermissions("config:bomHeader:list")
|
|
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
@Log(title = "通用-商品管理", operating = "查看商品列表", action = BusinessType.GRANT)
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(
@ApiParam(name="bomHeader",value="物料编码、物料名称、货主编码") BomHeader bomHeader,
@ApiParam(name = "createdBegin", value = "起止时间") String createdBegin,
@ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) {
LambdaQueryWrapper<BomHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), BomHeader::getCreated, createdBegin)
.lt(StringUtils.isNotEmpty(createdEnd), BomHeader::getCreated, createdEnd)
.eq(StringUtils.isNotEmpty(bomHeader.getMaterialCode()), BomHeader::getMaterialCode, bomHeader.getMaterialCode())
|
|
75
|
.like(StringUtils.isNotEmpty(bomHeader.getMaterialName()), BomHeader::getMaterialName, bomHeader.getMaterialName())
|
|
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
.eq(StringUtils.isNotEmpty(bomHeader.getCompanyCode()), BomHeader::getCompanyCode, bomHeader.getCompanyCode());
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
/*使用分页查询*/
Page<BomHeader> page = new Page<>(pageNum, pageSize);
IPage<BomHeader> iPage = bomHeaderService.page(page, lambdaQueryWrapper);
return getMpDataTable(iPage.getRecords(), iPage.getTotal());
} else {
List<BomHeader> list = bomHeaderService.list(lambdaQueryWrapper);
return getDataTable(list);
}
}
/**
* 新增商品
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
* 新增保存商品
*/
@ApiOperation(value="新增商品", notes="新增商品", httpMethod = "POST")
|
|
101
|
@RequiresPermissions("config:bomHeader:add")
|
|
102
103
104
|
@Log(title = "通用-商品", operating = "新增商品", action = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
|
|
105
106
|
public AjaxResult addSave(@ApiParam(name = "containerType", value = "商品类型", required = true) BomHeader bomHeader) {
return bomHeaderService.dataValidation(bomHeader);
|
|
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
}
/**
* 修改商品
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
mmap.put("bomHeader", bomHeaderService.getById(id));
return prefix + "/edit";
}
/**
* 修改保存商品
*/
@ApiOperation(value="修改商品", notes="修改商品", httpMethod = "POST")
|
|
122
|
@RequiresPermissions("config:bomHeader:edit")
|
|
123
124
125
126
127
128
129
130
131
132
133
134
|
@Log(title = "通用-商品", operating = "修改商品", action = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(
@ApiParam(name = "bomHeader", value = "商品实体类", required = true)BomHeader bomHeader) {
return toAjax(bomHeaderService.updateById(bomHeader));
}
/**
* 删除容器
*/
@ApiOperation(value="删除商品", notes="根据id批量删除商品,参数示例1,2,3", httpMethod = "POST")
|
|
135
|
@RequiresPermissions("config:bomHeader:remove")
|
|
136
137
138
139
140
141
142
143
144
145
146
147
|
@Log(title = "通用-商品", operating = "删除商品", action = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids) {
if (StringUtils.isEmpty(ids)){
return AjaxResult.error("id不能为空");
}
List<Integer> list = new ArrayList<>();
for (Integer id : Convert.toIntArray(ids)) {
LambdaQueryWrapper<BomDetail> lambda = Wrappers.lambdaQuery();
List<BomDetail> bomDetailList = bomDetailService.list(lambda.eq(BomDetail::getBomId, id));
|
|
148
|
if (bomDetailList.size() == 0) {
|
|
149
150
151
152
153
154
155
156
157
|
list.add(id);
} else {
return AjaxResult.error("商品编码为(" + id + ")存在商品详情");
}
}
return toAjax(bomHeaderService.removeByIds(list));
}
}
|