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