|
1
2
3
4
5
6
|
package com.huaheng.pc.receipt.receiptHeader.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
7
|
import com.huaheng.common.exception.service.ServiceException;
|
|
8
|
import com.huaheng.common.support.Convert;
|
|
9
10
11
12
13
14
15
16
17
|
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.security.ShiroUtils;
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;
|
|
18
19
|
import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
|
|
20
21
|
import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
|
|
22
23
|
import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory;
import com.huaheng.pc.receipt.receiptHeaderHistory.service.ReceiptHeaderHistoryService;
|
|
24
|
import io.swagger.annotations.Api;
|
|
25
|
import io.swagger.annotations.ApiModel;
|
|
26
|
import io.swagger.annotations.ApiOperation;
|
|
27
|
import io.swagger.annotations.ApiParam;
|
|
28
|
import org.apache.ibatis.javassist.compiler.ast.ASTree;
|
|
29
30
31
32
33
34
|
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;
|
|
35
|
import javax.swing.text.Keymap;
|
|
36
|
import java.util.ArrayList;
|
|
37
38
39
40
41
42
43
44
45
46
47
|
import java.util.List;
@Api(tags = "入库单")
@Controller
@RequestMapping("/receipt/receiptHeader")
public class ReceiptHeaderController extends BaseController {
private String prefix="receipt/receiptHeader";
@Resource
private ReceiptHeaderService receiptHeaderService;
|
|
48
49
|
@Resource
private ReceiptHeaderHistoryService receiptHeaderHistoryService;
|
|
50
51
|
@Resource
private ReceiptDetailService receiptDetailService;
|
|
52
|
|
|
53
|
@RequiresPermissions("receipt:receiptHeader:view")
|
|
54
55
56
57
58
59
60
61
62
|
@GetMapping()
public String containerCapacity()
{
return prefix + "/receiptHeader";
}
/**
* 查询入库单
*/
|
|
63
|
@RequiresPermissions("receipt:receiptHeader:list")
|
|
64
65
66
|
@Log(title = "入库-入库单头表", operating = "查看入库单列表", action = BusinessType.GRANT)
@PostMapping("/list")
@ResponseBody
|
|
67
68
69
|
public TableDataInfo list(@ApiParam(name="receiptDetail",value="入库头表")ReceiptHeader receiptHeader,
@ApiParam(name = "createdBegin", value = "起止时间") String createdBegin,
@ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) {
|
|
70
71
72
73
74
75
76
77
78
79
|
LambdaQueryWrapper<ReceiptHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), ReceiptHeader::getCreated, createdBegin)
.le(StringUtils.isNotEmpty(createdEnd), ReceiptHeader::getCreated, createdEnd)
.in(ReceiptHeader::getCompanyCode, ShiroUtils.getCompanyCodeList())
.eq(ReceiptHeader::getWarehouseCode, ShiroUtils.getWarehouseCode())
.eq(StringUtils.isNotEmpty(receiptHeader.getReceiptType()),
|
|
80
81
82
83
84
|
ReceiptHeader::getReceiptType, receiptHeader.getReceiptType())
.eq(StringUtils.isNotEmpty(receiptHeader.getCode()), ReceiptHeader::getCode, receiptHeader.getCode())
.eq(StringUtils.isNotNull(receiptHeader.getFirstStatus()),
ReceiptHeader::getFirstStatus, receiptHeader.getFirstStatus())
.eq(StringUtils.isNotNull(receiptHeader.getLastStatus()),
|
|
85
86
|
ReceiptHeader::getLastStatus, receiptHeader.getLastStatus())
.orderByDesc(ReceiptHeader::getCreated);
|
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
/**
* 使用分页查询
*/
Page<ReceiptHeader> page = new Page<>(pageNum, pageSize);
IPage<ReceiptHeader> iPage = receiptHeaderService.page(page, lambdaQueryWrapper);
return getMpDataTable(iPage.getRecords(),iPage.getTotal());
} else {
List<ReceiptHeader> list = receiptHeaderService.list(lambdaQueryWrapper);
return getDataTable(list);
}
}
/**
* 新增入库单
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
* 新增保存入库单
*/
@ApiOperation(value="新增入库单 ", notes="新增入库单 ", httpMethod = "POST")
|
|
113
|
@RequiresPermissions("receipt:receiptHeader:add")
|
|
114
115
116
117
|
@Log(title = "入库-入库单 ",operating = "新增入库单 ", action = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(ReceiptHeader receiptHeader) {
|
|
118
|
return receiptHeaderService.saveReceiptHeader(receiptHeader);
|
|
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
}
/**
* 修改入库单
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
mmap.put("receiptHeader", receiptHeader);
return prefix + "/edit";
}
/**
* 修改保存入库单
*/
@ApiOperation(value="修改入库单", notes="修改入库单", httpMethod = "POST")
|
|
135
|
@RequiresPermissions("receipt:receiptHeader:edit")
|
|
136
137
138
139
|
@Log(title = "入库-入库单 ",operating = "修改入库单 ", action = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(ReceiptHeader receiptHeader) {
|
|
140
141
|
ReceiptHeader receiptHeader1 = receiptHeaderService.getById(receiptHeader.getId());
if (receiptHeader1.getFirstStatus() >100 | receiptHeader1.getLastStatus()>100){
|
|
142
143
|
return AjaxResult.error("已进入订单池,不允许修改");
}
|
|
144
145
146
|
receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
return toAjax(receiptHeaderService.updateById(receiptHeader));
}
|
|
147
148
|
/**
|
|
149
|
* 入库单提交审核
|
|
150
|
*/
|
|
151
|
@ApiOperation(value="提交审核入库单", notes="提交审核入库单", httpMethod = "POST")
|
|
152
|
@RequiresPermissions("receipt:receiptHeader:approval")
|
|
153
154
|
@Log(title = "入库-入库单 ",operating = "提交审核入库单 ", action = BusinessType.UPDATE)
@PostMapping("/submitReview")
|
|
155
|
@ResponseBody
|
|
156
157
|
public AjaxResult submitReview(@ApiParam(name="id",value="入库头表id") String ids) {
return receiptHeaderService.submitReview(ids);
|
|
158
159
160
|
}
/**
|
|
161
|
* 审核入库单
|
|
162
|
*/
|
|
163
|
@ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST")
|
|
164
|
@RequiresPermissions("receipt:receiptHeader:review")
|
|
165
166
|
@Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE)
@PostMapping("/approval")
|
|
167
|
@ResponseBody
|
|
168
169
170
171
|
public AjaxResult approval(@ApiParam(name="id",value="入库头表id") String ids,
@ApiParam(name="approval",value="审核结果值,10审核驳回,20作废,100审核成功") Integer approval) {
return receiptDetailService.approval(ids, approval);
|
|
172
|
}
|
|
173
|
|
|
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
// /**
// * 提交审核入库单
// */
// @ApiOperation(value="提交审核入库单", notes="提交审核入库单", httpMethod = "POST")
// @RequiresPermissions("receipt:receiptHeader:approval")
// @Log(title = "入库-入库单 ",operating = "提交审核入库单 ", action = BusinessType.UPDATE)
// @PostMapping("/submitReview")
// @ResponseBody
// public AjaxResult submitReview(@ApiParam(name="id",value="入库头表id") Integer id) {
// ReceiptHeader receiptHeader = new ReceiptHeader();
// receiptHeader.setId(id);
// receiptHeader.setFirstStatus(5);
// receiptHeader.setLastStatus(5);
// return toAjax(receiptHeaderService.updateById(receiptHeader));
// }
|
|
190
191
192
|
/**
* 删除入库单
*/
|
|
193
|
@ApiOperation(value="删除入库单", notes="删除入库单", httpMethod = "POST")
|
|
194
|
@RequiresPermissions("receipt:receiptHeader:remove")
|
|
195
|
@Log(title = "入库-入库单 ",operating = "入库单删除", action = BusinessType.UPDATE)
|
|
196
197
|
@PostMapping("/remove")
@ResponseBody
|
|
198
199
|
public AjaxResult remove(@ApiParam(name = "id", value = "入库头表id字符串")Integer ids){
if (StringUtils.isNull(ids)){
|
|
200
201
|
return AjaxResult.error("id为空");
}
|
|
202
|
return receiptHeaderHistoryService.add(ids);
|
|
203
|
}
|
|
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
/**
* 入库预约
*/
@GetMapping("/arrival/{id}")
public String reservation(@PathVariable("id")Integer id, ModelMap map) {
LambdaQueryWrapper<ReceiptDetail> receiptDetailLambda = Wrappers.lambdaQuery();
receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id)
.eq(ReceiptDetail::getProcessStamp, "120");
List<ReceiptDetail> list = receiptDetailService.list(receiptDetailLambda);
if (list == null){
throw new ServiceException("没有需要预约入库的单据");
}
ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
map.put("receiptHeader", receiptHeader);
return prefix + "/reservation";
}
/**
* 保存入库预约
*/
@ApiOperation(value="保存入库预约", notes="保存入库预约", httpMethod = "POST")
@RequiresPermissions("receipt:receiptHeader:reservation")
|
|
227
|
@Log(title = "入库-入库单 ",operating = "入库单预约", action = BusinessType.UPDATE)
|
|
228
229
230
231
232
|
@PostMapping("/arrival")
@ResponseBody
public AjaxResult reservation(ReceiptHeader receiptHeader) {
return receiptHeaderService.reservation(receiptHeader);
}
|
|
233
234
235
236
237
238
239
|
@RequiresPermissions("receipt:receiptHeader:view")
@GetMapping("/receiving")
public String receiving()
{
return prefix + "/receiving";
}
|
|
240
241
242
243
244
245
246
|
/**
* 入库质检
*/
@ApiOperation(value="入库质检", notes="入库质检", httpMethod = "POST")
@RequiresPermissions("receipt:receiptHeader:check")
@Log(title = "入库-入库单质检",operating = "入库质检", action = BusinessType.OTHER)
|
|
247
|
@PostMapping("/check")
|
|
248
249
250
251
252
|
@ResponseBody
public AjaxResult check(@ApiParam(name = "id", value = "入库头表id")Integer id){
if (StringUtils.isNull(id)){
return AjaxResult.error("id为空");
}
|
|
253
|
return receiptHeaderService.check(id);
|
|
254
|
}
|
|
255
256
|
/**
|
|
257
|
* 入库单打印
|
|
258
259
260
261
|
*/
@ApiOperation(value="打印入库单报表", notes="打印入库单报表", httpMethod = "POST")
@RequiresPermissions("receipt:receiptHeader:check")
@Log(title = "入库-入库单",operating = "打印入库单报表", action = BusinessType.OTHER)
|
|
262
|
@GetMapping("/report/{id}")
|
|
263
264
265
266
267
268
269
270
271
272
273
274
275
|
public String report(@ApiParam(name = "id", value = "入库头表id")
@PathVariable("id") Integer id, ModelMap mmap){
ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
mmap.put("receiptHeader", receiptHeader);
//查询对应入库明细
LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id);
List<ReceiptDetail> details = receiptDetailService.list(lambdaQueryWrapper);
mmap.put("details", details);
return prefix+"/report";
}
|
|
276
277
278
279
280
281
282
283
284
|
/**
* 查询入库单
*/
@ApiOperation(value="查询入库单 ", notes="查询入库单 ", httpMethod = "POST")
@RequiresPermissions("receipt:receiptDetail:add")
@Log(title = "入库-入库单 ",operating = "查询入库单 ", action = BusinessType.OTHER)
@PostMapping("/getReceiptHeader")
@ResponseBody
|
|
285
286
287
288
|
public AjaxResult<ReceiptHeader> getReceiptHeader(String id) {
if (StringUtils.isEmpty(id)){
return AjaxResult.success("");
}
|
|
289
290
|
return AjaxResult.success(receiptHeaderService.getById(id));
}
|
|
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
|
/**
* 到货通知
*/
@ApiOperation(value="到货通知 ", notes="到货通知 ", httpMethod = "POST")
@RequiresPermissions("receipt:receiptDetail:add")
@Log(title = "入库-入库单 ",operating = "到货通知 ", action = BusinessType.OTHER)
@PostMapping("/arrivalNotice")
@ResponseBody
public AjaxResult arrivalNotice(String id) {
if (StringUtils.isEmpty(id)){
return AjaxResult.success("");
}
return AjaxResult.success(receiptHeaderService.arrivalNotice(id));
}
|
|
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
|
/**
* 加入订单池
*/
@ApiOperation(value="加入订单池 ", notes="加入订单池 ", httpMethod = "POST")
@RequiresPermissions("receipt:receiptHeader:addPool")
@Log(title = "入库-入库单 ",operating = "加入订单池 ", action = BusinessType.OTHER)
@PostMapping("/addPool")
@ResponseBody
public AjaxResult addPool(String ids) {
if (StringUtils.isEmpty(ids)){
return AjaxResult.error("id不能为空");
}
return AjaxResult.success(receiptHeaderService.addPool(ids));
}
|
|
321
|
}
|