CircleController.java
5.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package com.huaheng.cycle.mobile;
import com.alibaba.fastjson.JSONException;
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;
import com.huaheng.common.core.utils.StringUtils;
import com.huaheng.common.core.web.controller.BaseController;
import com.huaheng.common.core.web.domain.AjaxResult;
import com.huaheng.common.core.web.page.PageDomain;
import com.huaheng.common.core.web.page.TableDataInfo;
import com.huaheng.common.core.web.page.TableSupport;
import com.huaheng.common.log.annotation.Log;
import com.huaheng.common.log.enums.BusinessType;
import com.huaheng.common.security.utils.SecurityUtils;
import com.huaheng.cycle.api.domain.CycleCountDetailChild;
import com.huaheng.cycle.api.domain.CycleCountHeader;
import com.huaheng.cycle.cycle.service.CycleCountDetailChildService;
import com.huaheng.cycle.cycle.service.CycleCountDetailService;
import com.huaheng.cycle.cycle.service.CycleCountHeaderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @author Enzo Cotter
* @date 2019/12/15
*/
@CrossOrigin
@RestController
@RequestMapping("/mobile")
@Api(tags = {"移动端盘点"}, value = "移动端盘点")
public class CircleController extends BaseController {
@Resource
private CycleCountDetailService cycleCountDetailService;
@Resource
private CycleCountDetailChildService cycleCountDetailChildService;
@Resource
private CycleCountHeaderService cycleCountHeaderService;
/**
* 移动端实盘登记
*
* @return
*/
@ApiOperation(value = "移动端实盘登记", notes = "移动端实盘登记")
@ResponseBody
@PostMapping("/confirmGapQty")
public AjaxResult confirmGapQty(@RequestBody List<MaterialInfo> materialInfos) {
for (MaterialInfo materialInfo : materialInfos) {
int detailId = materialInfo.getBillDetailId();
BigDecimal qty = new BigDecimal(materialInfo.getQty());
LambdaQueryWrapper<CycleCountDetailChild> cycleCountDetailChildLambdaQueryWrapper = Wrappers.lambdaQuery();
cycleCountDetailChildLambdaQueryWrapper.eq(CycleCountDetailChild::getCycleCountDetailId, detailId)
.eq(CycleCountDetailChild::getMaterialCode, materialInfo.getMaterialCode());
CycleCountDetailChild cycleCountDetailChild = cycleCountDetailChildService.getOne(cycleCountDetailChildLambdaQueryWrapper);
AjaxResult ajaxResult = cycleCountDetailChildService.confirmGapQty(cycleCountDetailChild.getId(), qty);
if (ajaxResult.hasErr()) {
return AjaxResult.error("盘点失败");
}
}
return AjaxResult.success("盘点成功");
}
/**
* 查询盘点单主列表
*/
//@PreAuthorize(hasAnyPermi = "inventory:cycleCountHeader:list")
@GetMapping("/list")
@Log(title = "库存-移动端盘点主表查询", businessType = BusinessType.GRANT)
@ApiOperation(value = "移动端查询盘点单主列表", notes = "移动端查询盘点单主列表")
public TableDataInfo list(CycleCountHeader cycleCountHeader, String beginTime, String endTime) {
LambdaQueryWrapper<CycleCountHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
lambdaQueryWrapper
.eq(CycleCountHeader::getWarehouseCode, SecurityUtils.getWarehouseCode())
// .in(CycleCountHeader::getCompanyCode,SecurityUtils.getCompanyList())
.eq(StringUtils.isNotEmpty(cycleCountHeader.getSourceCode()), CycleCountHeader::getSourceCode, cycleCountHeader.getSourceCode())
.eq(cycleCountHeader.getId() != null, CycleCountHeader::getId, cycleCountHeader.getId())
.eq(StringUtils.isNotEmpty(cycleCountHeader.getCode()), CycleCountHeader::getCode, cycleCountHeader.getCode())
.eq(cycleCountHeader.getCountOrderId() != null, CycleCountHeader::getCountOrderId, cycleCountHeader.getCountOrderId())
.lt(cycleCountHeader.getStatusCyc() != null && cycleCountHeader.getStatusCyc() <100, CycleCountHeader::getStatusCyc, 100)
.ge(cycleCountHeader.getStatusCyc() != null && cycleCountHeader.getStatusCyc() >=100, CycleCountHeader::getStatusCyc, 100)
.eq(cycleCountHeader.getCountType() != null, CycleCountHeader::getCountType, cycleCountHeader.getCountType())
.gt(StringUtils.isNotEmpty(beginTime), CycleCountHeader::getCreated, beginTime)
.apply(StringUtils.isNotEmpty(endTime),
"date_format (created,'%Y-%m-%d') <= date_format('" + endTime + "','%Y-%m-%d')")
.orderByDesc(CycleCountHeader::getId);
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
//分页查询
Page<CycleCountHeader> page = new Page<>(pageNum, pageSize);
IPage<CycleCountHeader> iPage = cycleCountHeaderService.page(page, lambdaQueryWrapper);
return getMpDataTable(iPage.getRecords(), iPage.getTotal());
} else {
List<CycleCountHeader> list = cycleCountHeaderService.list(lambdaQueryWrapper);
return getDataTable(list);
}
}
}