Commit 7c236be71ac9f9b51f1594a61dde1a8a94883998
1 parent
d8be3289
表单头创建时间添加默认创建时间
开始时间默认提前一周,结束时间默认当天
Showing
7 changed files
with
64 additions
and
86 deletions
src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
... | ... | @@ -130,15 +130,6 @@ public class CheckDetailController extends BaseController { |
130 | 130 | } |
131 | 131 | |
132 | 132 | /** |
133 | - * 完成质检 | |
134 | - */ | |
135 | - @GetMapping("complete/{id}") | |
136 | - public String complete(@PathVariable("id") Integer id, ModelMap mmap) { | |
137 | - mmap.put("checkDetailId", id); | |
138 | - return prefix + "/checkComplete"; | |
139 | - } | |
140 | - | |
141 | - /** | |
142 | 133 | * 保存质检完成 |
143 | 134 | * @param inventorySts 库存状态 |
144 | 135 | * @param qty 数量 |
... | ... | @@ -149,9 +140,7 @@ public class CheckDetailController extends BaseController { |
149 | 140 | @Log(title = "质检-质检详情 ",operating = "质检详情删除", action = BusinessType.DELETE) |
150 | 141 | @PostMapping("/complete") |
151 | 142 | @ResponseBody |
152 | - public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id, | |
153 | - @ApiParam(name="库存状态",value="inventorySts",example="good,bad")String inventorySts, | |
154 | - @ApiParam(name = "数量",value = "qty",example = "10,20") String qty) { | |
155 | - return checkDetailService.complete(id, inventorySts, qty); | |
143 | + public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id) { | |
144 | + return checkDetailService.complete(id); | |
156 | 145 | } |
157 | 146 | } |
... | ... |
src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
... | ... | @@ -26,77 +26,58 @@ import org.springframework.transaction.annotation.Transactional; |
26 | 26 | public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDetail> { |
27 | 27 | |
28 | 28 | @Resource |
29 | - private CheckingRegisterService checkingRegisterService; | |
30 | - @Resource | |
31 | 29 | private CheckHeaderService checkHeaderService; |
30 | + @Resource | |
31 | + private CheckingRegisterService checkingRegisterService; | |
32 | 32 | |
33 | 33 | /** |
34 | 34 | * 质检完成 |
35 | 35 | * @param id 质检明细id |
36 | - * @param inventorySts 库存状态 good, | |
37 | - * @param qty 数量 10,20 | |
38 | 36 | * @return AjaxResult |
39 | 37 | */ |
40 | 38 | @Transactional |
41 | - public AjaxResult complete(Integer id, String inventorySts, String qty){ | |
39 | + public AjaxResult complete(Integer id){ | |
40 | + LambdaQueryWrapper<CheckingRegister> checkingRegisterLambda = Wrappers.lambdaQuery(); | |
41 | + checkingRegisterLambda.eq(CheckingRegister::getCheckDetailId, id); | |
42 | + List<CheckingRegister> checkingRegisters = checkingRegisterService.list(checkingRegisterLambda); | |
43 | + int total = 0; //质检登记中的总数量 | |
44 | + for (CheckingRegister checkingRegister: checkingRegisters){ | |
45 | + total += checkingRegister.getQty(); | |
46 | + } | |
42 | 47 | |
43 | - //将库存状态、数量字符串转为List | |
44 | - List<String> inventoryStsList = Arrays.asList(Convert.toStrArray(inventorySts)); | |
45 | - List<Integer> qtyList = Arrays.asList(Convert.toIntArray(qty)); | |
48 | + //更新传入明细id为完成质检状态 | |
46 | 49 | CheckDetail checkDetail = this.getById(id); |
47 | - | |
48 | - // | |
49 | - int sum = 0; | |
50 | - for (Integer quantity : qtyList) { | |
51 | - sum += quantity; | |
52 | - } | |
53 | - if (checkDetail.getQty() == sum) { | |
54 | - AjaxResult.error("质检登记数量和质检明细系统数量核对错误"); | |
50 | + if ( !(total == checkDetail.getQty())){ | |
51 | + return AjaxResult.error("质检登记中总数量不等于质检明细中数量,不能完成质检"); | |
55 | 52 | } |
53 | + checkDetail.setCheckBy(ShiroUtils.getLoginName()); | |
54 | + checkDetail.setCheckAt(new Date()); | |
55 | + | |
56 | 56 | checkDetail.setStatus("20"); |
57 | - if ( !this.updateById(checkDetail)){ | |
58 | - throw new ServiceException("更新质检明细表错误"); | |
57 | + checkDetail.setLastUpdated(new Date()); | |
58 | + checkDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
59 | + if (!this.updateById(checkDetail)){ | |
60 | + throw new ServiceException("更新质检明细表失败"); | |
59 | 61 | } |
60 | - CheckingRegister checkingRegister = new CheckingRegister(); | |
61 | - checkingRegister.setCheckDetailId(checkDetail.getId()); | |
62 | - checkingRegister.setCheckHeaderId(checkDetail.getCheckHeaderId()); | |
63 | - checkingRegister.setWarehouseCode(ShiroUtils.getWarehouseCode()); | |
64 | - checkingRegister.setCheckCode(checkDetail.getCheckCode()); | |
65 | - checkingRegister.setReceiptDetailId(checkDetail.getReceiptDetailId()); | |
66 | - checkingRegister.setReceiptCode(checkDetail.getReceiptCode()); | |
67 | - checkingRegister.setReferCode(checkDetail.getReferCode()); | |
68 | - checkingRegister.setReferLineId(checkDetail.getReferLineId()); | |
69 | - checkingRegister.setReferPlatform(checkDetail.getReferPlatform()); | |
70 | - checkingRegister.setMaterialCode(checkDetail.getMaterialCode()); | |
71 | - checkingRegister.setMaterialName(checkDetail.getMaterialName()); | |
72 | - checkingRegister.setMaterialSpec(checkDetail.getMaterialSpec()); | |
73 | - checkingRegister.setMaterialUnit(checkDetail.getMaterialUnit()); | |
74 | - checkingRegister.setCompanyCode(checkDetail.getCompanyCode()); | |
75 | - checkingRegister.setCheckBy(ShiroUtils.getLoginName()); | |
76 | - checkingRegister.setCheckAt(new Date()); | |
77 | - checkingRegister.setCreatedBy(ShiroUtils.getLoginName()); | |
78 | - checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
62 | + LambdaQueryWrapper<CheckDetail> lambda = Wrappers.lambdaQuery(); | |
63 | + lambda.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId()); | |
64 | + List<CheckDetail> checkDetails = this.list(lambda); | |
79 | 65 | |
80 | - for (int i = 0; i<inventoryStsList.size(); i++){ | |
81 | - checkingRegister.setInventorySts(inventoryStsList.get(i)); | |
82 | - checkingRegister.setQty(qtyList.get(0)); | |
83 | - if ( !checkingRegisterService.save(checkingRegister)){ | |
84 | - throw new ServiceException("生成质检报告失败"); | |
66 | + //判断头表下所有明细是否全部完成 | |
67 | + boolean result = false; | |
68 | + for (CheckDetail checkDetail1 : checkDetails){ | |
69 | + if ("20".equals(checkDetail1.getStatus())){ | |
70 | + result = true; | |
71 | + } else { | |
72 | + result = false; | |
85 | 73 | } |
86 | 74 | } |
87 | - | |
88 | - LambdaQueryWrapper<CheckDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
89 | - lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId()) | |
90 | - .ne(CheckDetail::getStatus, 20); | |
91 | - List<CheckDetail> checkDetails = this.list(lambdaQueryWrapper); | |
92 | - | |
93 | - //如果改质检单的全部明细都完成质检则更新质检头表状态 | |
94 | - if (checkDetails == null){ | |
75 | + if (result){ | |
95 | 76 | CheckHeader checkHeader = new CheckHeader(); |
96 | 77 | checkHeader.setId(checkDetail.getCheckHeaderId()); |
97 | - checkHeader.setStatus("20"); | |
98 | - if (!checkHeaderService.updateById(checkHeader)){ | |
99 | - throw new ServiceException("更新质检头表发生错误"); | |
78 | + checkHeader.setStatus("30"); | |
79 | + if ( !checkHeaderService.updateById(checkHeader)){ | |
80 | + throw new ServiceException("质检头表更新失败"); | |
100 | 81 | } |
101 | 82 | } |
102 | 83 | return AjaxResult.success("质检完成"); |
... | ... |
src/main/resources/application-druid.properties
... | ... | @@ -2,14 +2,14 @@ |
2 | 2 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource |
3 | 3 | spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver |
4 | 4 | # \u4E3B\u5E93 |
5 | -#spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false | |
5 | +spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false | |
6 | 6 | #spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/huahengExample?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false |
7 | -spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms2.0?characterEncoding=utf8&serverTimezone=GMT%2b8 | |
7 | +#spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms2.0?characterEncoding=utf8&serverTimezone=GMT%2b8 | |
8 | 8 | |
9 | -#spring.datasource.druid.master.username=softhuaheng | |
10 | -#spring.datasource.druid.master.password=HHrobot123. | |
11 | -spring.datasource.druid.master.username=root | |
12 | -spring.datasource.druid.master.password=123456 | |
9 | +spring.datasource.druid.master.username=softhuaheng | |
10 | +spring.datasource.druid.master.password=HHrobot123. | |
11 | +#spring.datasource.druid.master.username=root | |
12 | +#spring.datasource.druid.master.password=123456 | |
13 | 13 | # \u4ECE\u5E93 |
14 | 14 | #spring.datasource.druid.slave.open = true |
15 | 15 | #spring.datasource.druid.slave.url=jdbc:mysql://172.16.29.45:3306/huaheng?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false |
... | ... |
src/main/resources/static/huaheng/js/common.js
... | ... | @@ -21,8 +21,10 @@ $(function(){ |
21 | 21 | if ($(".time").length > 0) { |
22 | 22 | layui.use('laydate', function() { |
23 | 23 | var laydate = layui.laydate; |
24 | - laydate.render({ elem: '#startTime', theme: 'molv' }); | |
25 | - laydate.render({ elem: '#endTime', theme: 'molv' }); | |
24 | + var day1 = new Date(); | |
25 | + day1.setTime(day1.getTime()-24*60*60*1000*7); | |
26 | + laydate.render({ elem: '#startTime', theme: 'molv',value: new Date(day1), isInitValue: true}); | |
27 | + laydate.render({ elem: '#endTime', theme: 'molv',value: new Date(), isInitValue: true }); | |
26 | 28 | }); |
27 | 29 | } |
28 | 30 | }); |
... | ... |
src/main/resources/static/huaheng/js/huahengUI.js
... | ... | @@ -51,13 +51,17 @@ |
51 | 51 | }, |
52 | 52 | // 查询条件 |
53 | 53 | queryParams: function(params) { |
54 | + var day1 = new Date(); | |
55 | + day1.setTime(day1.getTime()-24*60*60*1000*7); | |
54 | 56 | return { |
55 | 57 | // 传递参数查询参数 |
56 | 58 | pageSize: params.limit, |
57 | 59 | pageNum: params.offset / params.limit + 1, |
58 | 60 | searchValue: params.search, |
59 | 61 | orderByColumn: params.sort, |
60 | - isAsc: params.order | |
62 | + isAsc: params.order, | |
63 | + createdBegin: day1, | |
64 | + createdEnd: new Date() | |
61 | 65 | }; |
62 | 66 | }, |
63 | 67 | // 请求获取数据后处理回调函数 |
... | ... |
src/main/resources/templates/check/checkHeader/checkHeader.html
... | ... | @@ -103,8 +103,8 @@ |
103 | 103 | </div> |
104 | 104 | |
105 | 105 | <div class="btn-group hidden-xs" id="toolbarReg" role="group"> |
106 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove"> | |
107 | - <i class="fa fa-trash-o"></i> 质检完成 | |
106 | + <a class="btn btn-outline btn-success btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove"> | |
107 | + <i class="fa fa-check-circle-o"></i> 质检完成 | |
108 | 108 | </a> |
109 | 109 | <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="check:checkingRegister:remove"> |
110 | 110 | <i class="fa fa-trash-o"></i> 删除 |
... | ... | @@ -259,7 +259,6 @@ |
259 | 259 | |
260 | 260 | //质检明细表格初始化 |
261 | 261 | $("#bootstrap-table1").bootstrapTable({ |
262 | - url: prefix + "/list", | |
263 | 262 | createUrl: prefix1 + "/add", |
264 | 263 | updateUrl: prefix1 + "/edit/{id}", |
265 | 264 | removeUrl: prefix1 + "/remove", |
... | ... | @@ -269,7 +268,6 @@ |
269 | 268 | sortOrder: "desc", |
270 | 269 | iconSize: "outline", |
271 | 270 | toolbar: "#toolbar1", |
272 | - contentType: "application/x-www-form-urlencoded", | |
273 | 271 | pagination: true, // 是否显示分页(*) |
274 | 272 | pageNumber: 1, // 初始化加载第一页,默认第一页 |
275 | 273 | pageSize: 50, // 每页的记录行数(*) |
... | ... | @@ -282,11 +280,13 @@ |
282 | 280 | }, |
283 | 281 | { |
284 | 282 | field : 'id', |
285 | - title : 'id' | |
283 | + title : 'id', | |
284 | + visible: false | |
286 | 285 | }, |
287 | 286 | { |
288 | 287 | field : 'checkHeaderId', |
289 | - title : '质检头id' | |
288 | + title : '质检头id', | |
289 | + visible : false | |
290 | 290 | }, |
291 | 291 | { |
292 | 292 | field : 'warehouseCode', |
... | ... | @@ -299,7 +299,8 @@ |
299 | 299 | }, |
300 | 300 | { |
301 | 301 | field : 'inventoryDetailId', |
302 | - title : '库存明细标识' | |
302 | + title : '库存明细标识', | |
303 | + visible : false | |
303 | 304 | }, |
304 | 305 | { |
305 | 306 | field : 'locationCode', |
... | ... | @@ -311,7 +312,8 @@ |
311 | 312 | }, |
312 | 313 | { |
313 | 314 | field : 'receiptDetailId', |
314 | - title : '入库单明细标识' | |
315 | + title : '入库单明细标识', | |
316 | + visible : false | |
315 | 317 | }, |
316 | 318 | { |
317 | 319 | field : 'receiptCode', |
... | ... | @@ -402,7 +404,6 @@ |
402 | 404 | }); |
403 | 405 | //质检登记表格初始化 |
404 | 406 | $("#bootstrap-table2").bootstrapTable({ |
405 | - contentType: "application/x-www-form-urlencoded", | |
406 | 407 | editable: true, |
407 | 408 | clickEdit: true, |
408 | 409 | clickToSelect: true, |
... | ... | @@ -586,6 +587,7 @@ |
586 | 587 | }); |
587 | 588 | } |
588 | 589 | }); |
590 | + | |
589 | 591 | /* 质检单列表-详细 */ |
590 | 592 | function detail(id, code) { |
591 | 593 | checkId = id; |
... | ... | @@ -647,6 +649,7 @@ |
647 | 649 | |
648 | 650 | function complete() { |
649 | 651 | var url = prefix1+"/complete"; |
652 | + var data = {id: checkDetailId}; | |
650 | 653 | $.operate.submit(url, "post", "json", data); |
651 | 654 | } |
652 | 655 | </script> |
... | ... |
src/main/resources/templates/include.html
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <div th:fragment="footer"> |
21 | 21 | <script th:src="@{/js/jquery.min.js}"></script> |
22 | 22 | <script th:src="@{/js/bootstrap.min.js}"></script> |
23 | - | |
23 | + <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script> | |
24 | 24 | <!-- bootstrap-table 表格插件 --> |
25 | 25 | <script th:src="@{/ajax/libs/bootstrap-table/bootstrap-table.min.js}"></script> |
26 | 26 | <script th:src="@{/ajax/libs/bootstrap3-editable/js/bootstrap-editable.js}"></script> |
... | ... | @@ -42,7 +42,6 @@ |
42 | 42 | <script th:src="@{/ajax/libs/layer/layer.min.js}"></script> |
43 | 43 | <script th:src="@{/ajax/libs/layui/layui.js}"></script> |
44 | 44 | <script th:src="@{/ajax/libs/layui/lay/modules/upload.js}"></script> |
45 | - <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script> | |
46 | 45 | <script th:src="@{/huaheng/js/huahengUI.js?v=2.3.2}"></script> |
47 | 46 | <script th:inline="javascript"> var ctx = [[@{/}]]; </script> |
48 | 47 | </div> |
... | ... |