Commit 7b73017dccc015f083312e4e26baf41867be5972
1 parent
806f38b3
添加取消入库组盘时容器为临时容器,删除容器
Showing
3 changed files
with
149 additions
and
15 deletions
src/main/java/com/huaheng/pc/config/waveMaster/controller/WaveMasterController.java
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -14,6 +14,7 @@ import com.huaheng.pc.config.location.domain.Location; |
14 | 14 | import com.huaheng.pc.config.location.service.LocationService; |
15 | 15 | import com.huaheng.pc.config.material.domain.Material; |
16 | 16 | import com.huaheng.pc.config.material.service.MaterialService; |
17 | +import com.huaheng.pc.config.warehouse.domain.Warehouse; | |
17 | 18 | import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; |
18 | 19 | import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; |
19 | 20 | import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader; |
... | ... | @@ -142,6 +143,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
142 | 143 | * @return |
143 | 144 | */ |
144 | 145 | @Override |
146 | + @Transactional | |
145 | 147 | public Boolean cancelByIds(List<Integer> ids) { |
146 | 148 | for (Integer id : ids) { |
147 | 149 | //如果已生成任务则不允许取消组盘 |
... | ... | @@ -160,6 +162,10 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
160 | 162 | containerDetailLambda = Wrappers.lambdaQuery(); |
161 | 163 | containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId()); |
162 | 164 | List<ReceiptContainerDetail> containerDetailList = receiptContainerDetailService.list(containerDetailLambda); |
165 | + | |
166 | + //如果是临时容器,取消组盘时删除容器表 | |
167 | + removeContainer(receiptContainerDetail.getContainerType(), receiptContainerDetail.getContainerCode()); | |
168 | + | |
163 | 169 | //如果入库组盘没有该入库单的组盘信息,回滚入库单状态 |
164 | 170 | if (containerDetailList == null){ |
165 | 171 | ReceiptHeader receiptHeader = new ReceiptHeader(); |
... | ... | @@ -387,4 +393,21 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
387 | 393 | } |
388 | 394 | return code; |
389 | 395 | } |
396 | + | |
397 | + /** | |
398 | + * 如果为临时容器,在取消组盘和出库任务完成时删除容器 | |
399 | + * @param containerType 容器类型 | |
400 | + * @param containerCode 容器编码 | |
401 | + * @return | |
402 | + */ | |
403 | + @Transactional | |
404 | + public void removeContainer(String containerType, String containerCode) { | |
405 | + if ("LS".equals(containerType)) { | |
406 | + LambdaQueryWrapper<Container> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
407 | + lambdaQueryWrapper.eq(Container::getCode,containerCode); | |
408 | + if (!containerService.remove(lambdaQueryWrapper)){ | |
409 | + throw new ServiceException("删除临时容器失败"); | |
410 | + } | |
411 | + } | |
412 | + } | |
390 | 413 | } |
... | ... |
src/main/resources/templates/config/waveMaster/waveMaster.html
... | ... | @@ -48,10 +48,10 @@ |
48 | 48 | </div> |
49 | 49 | |
50 | 50 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
51 | - <a class="btn btn-outline btn-success btn-rounded" onclick="matserAdd()" shiro:hasPermission="config:waveMaster:add"> | |
51 | + <a class="btn btn-outline btn-success btn-rounded" onclick="masterAdd()" shiro:hasPermission="config:waveMaster:add"> | |
52 | 52 | <i class="fa fa-plus"></i> 新增 |
53 | 53 | </a> |
54 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:waveMaster:remove"> | |
54 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="masterBatRemove()" shiro:hasPermission="config:waveMaster:remove"> | |
55 | 55 | <i class="fa fa-trash-o"></i> 删除 |
56 | 56 | </a> |
57 | 57 | </div> |
... | ... | @@ -87,11 +87,11 @@ |
87 | 87 | </form> |
88 | 88 | </div> |
89 | 89 | <div class="btn-group hidden-xs" id="toolbar1" role="group"> |
90 | - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" | |
90 | + <a class="btn btn-outline btn-success btn-rounded" onclick="headerAdd()" | |
91 | 91 | shiro:hasPermission="config:waveFlowHeader:add"> |
92 | 92 | <i class="fa fa-plus"></i> 新增 |
93 | 93 | </a> |
94 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" | |
94 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="headerBatRemove()" | |
95 | 95 | shiro:hasPermission="config:waveFlowHeader:remove"> |
96 | 96 | <i class="fa fa-trash-o"></i> 删除 |
97 | 97 | </a> |
... | ... | @@ -102,6 +102,18 @@ |
102 | 102 | </div> |
103 | 103 | |
104 | 104 | <div class="tab-pane fade" id="tabDetail"> |
105 | + | |
106 | + <div class="btn-group hidden-xs" id="toolbar2" role="group"> | |
107 | + <a class="btn btn-outline btn-success btn-rounded" onclick="detailAdd()" | |
108 | + shiro:hasPermission="config:waveFlowHeader:add"> | |
109 | + <i class="fa fa-plus"></i> 新增 | |
110 | + </a> | |
111 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="detailBatRemove()" | |
112 | + shiro:hasPermission="config:waveFlowHeader:remove"> | |
113 | + <i class="fa fa-trash-o"></i> 删除 | |
114 | + </a> | |
115 | + </div> | |
116 | + | |
105 | 117 | <table id="bootstrap-table2" data-mobile-responsive="true" |
106 | 118 | class="table table-bordered table-hover"></table> |
107 | 119 | </div> |
... | ... | @@ -261,8 +273,8 @@ |
261 | 273 | align: 'center', |
262 | 274 | formatter: function(value, row, index) { |
263 | 275 | var actions = []; |
264 | - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> '); | |
265 | - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); | |
276 | + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="masterEdit(\''+row.id+'\')" ><i class="fa fa-edit"></i>编辑</a> '); | |
277 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="masterDel(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); | |
266 | 278 | return actions.join(''); |
267 | 279 | } |
268 | 280 | }], |
... | ... | @@ -342,8 +354,8 @@ |
342 | 354 | align: 'center', |
343 | 355 | formatter: function(value, row, index) { |
344 | 356 | var actions = []; |
345 | - actions.push('<a class="btn btn-success btn-xs ' + editFlag1 + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | |
346 | - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag1 + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); | |
357 | + actions.push('<a class="btn btn-success btn-xs ' + editFlag1 + '" href="#" onclick="headerEdit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | |
358 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag1 + '" href="#" onclick="headerRemove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); | |
347 | 359 | return actions.join(''); |
348 | 360 | } |
349 | 361 | }], |
... | ... | @@ -374,6 +386,7 @@ |
374 | 386 | search: false, |
375 | 387 | sortName: "id", |
376 | 388 | sortOrder: "desc", |
389 | + toolbar: "#toolbar2", | |
377 | 390 | columns: [{ |
378 | 391 | checkbox: true |
379 | 392 | }, |
... | ... | @@ -453,8 +466,8 @@ |
453 | 466 | align: 'center', |
454 | 467 | formatter: function(value, row, index) { |
455 | 468 | var actions = []; |
456 | - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | |
457 | - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); | |
469 | + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="detailEdit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | |
470 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="detailRemove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); | |
458 | 471 | return actions.join(''); |
459 | 472 | } |
460 | 473 | }] |
... | ... | @@ -463,6 +476,7 @@ |
463 | 476 | function header() { |
464 | 477 | $("#myTab li").removeClass("active"); |
465 | 478 | $("#tabMaster").removeClass("in active"); |
479 | + $("#tabDetail").removeClass("in active"); | |
466 | 480 | $("#myTab li:eq(1)").addClass("active"); |
467 | 481 | $("#tabHeader").addClass("in active"); |
468 | 482 | loadHeader(); |
... | ... | @@ -513,9 +527,109 @@ |
513 | 527 | detail(); |
514 | 528 | } |
515 | 529 | |
516 | - function matserAdd() { | |
530 | + function masterAdd() { | |
517 | 531 | var url = prefix+"/add"; |
518 | - $.modal.open("添加" + $.table._option.modalName, url); | |
532 | + $.modal.open("添加波次主表", url); | |
533 | + } | |
534 | + | |
535 | + function masterEdit(id) { | |
536 | + var url = prefix+"/edit/"+id; | |
537 | + $.modal.open("修改主表",url); | |
538 | + } | |
539 | + | |
540 | + function masterDel(id) { | |
541 | + $.modal.confirm("确定删除该条波次主表信息吗?", function() { | |
542 | + var url = prefix+"remove"; | |
543 | + var data = { "ids": id }; | |
544 | + $.operate.submit(url, "post", "json", data); | |
545 | + }); | |
546 | + } | |
547 | + | |
548 | + function masterBatRemove() { | |
549 | + var rows = $("#bootstrap-table").bootstrapTable('getSelections'); | |
550 | + if (rows.length == 0) { | |
551 | + $.modal.alertWarning("请至少选择一条记录"); | |
552 | + return; | |
553 | + } | |
554 | + $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() { | |
555 | + var url = prefix+"/remove"; | |
556 | + var ids; | |
557 | + $.each(rows, function (i, row) { | |
558 | + ids = row.id+","; | |
559 | + }); | |
560 | + var data = { "ids": ids }; | |
561 | + $.operate.submit(url, "post", "json", data); | |
562 | + }); | |
563 | + } | |
564 | + | |
565 | + function headerAdd() { | |
566 | + var url = prefix1+"/add"; | |
567 | + $.modal.open("添加主表", url); | |
568 | + } | |
569 | + | |
570 | + function headerEdit(id){ | |
571 | + var url = prefix1+"/edit/"+id; | |
572 | + $.modal.open("修改主表", url); | |
573 | + } | |
574 | + | |
575 | + function headerRemove(id) { | |
576 | + $.modal.confirm("确定删除该条主表信息吗?", function() { | |
577 | + var url = prefix1+"remove"; | |
578 | + var data = { "ids": id }; | |
579 | + $.operate.submit(url, "post", "json", data); | |
580 | + }); | |
581 | + } | |
582 | + | |
583 | + function headerBatRemove() { | |
584 | + var rows = $("#bootstrap-table1").bootstrapTable('getSelections'); | |
585 | + if (rows.length == 0) { | |
586 | + $.modal.alertWarning("请至少选择一条记录"); | |
587 | + return; | |
588 | + } | |
589 | + $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() { | |
590 | + var url = prefix1+"/remove"; | |
591 | + var ids; | |
592 | + $.each(rows, function (i, row) { | |
593 | + ids = row.id+","; | |
594 | + }); | |
595 | + var data = { "ids": ids }; | |
596 | + $.operate.submit(url, "post", "json", data); | |
597 | + }); | |
598 | + } | |
599 | + | |
600 | + function detailAdd() { | |
601 | + var url = prefix2+"/add"; | |
602 | + $.modal.open("添加明细", url); | |
603 | + } | |
604 | + | |
605 | + function detailEdit(id) { | |
606 | + var url = prefix2+"/edit/"+id; | |
607 | + $.modal.open("修改明细", url); | |
608 | + } | |
609 | + | |
610 | + function detailRemove(id) { | |
611 | + $.modal.confirm("确定删除该条明细信息吗?", function() { | |
612 | + var url = prefix2+"remove"; | |
613 | + var data = { "ids": id }; | |
614 | + $.operate.submit(url, "post", "json", data); | |
615 | + }); | |
616 | + } | |
617 | + | |
618 | + function detailBatRemove() { | |
619 | + var rows = $("#bootstrap-table2").bootstrapTable('getSelections'); | |
620 | + if (rows.length == 0) { | |
621 | + $.modal.alertWarning("请至少选择一条记录"); | |
622 | + return; | |
623 | + } | |
624 | + $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() { | |
625 | + var url = prefix2+"/remove"; | |
626 | + var ids; | |
627 | + $.each(rows, function (i, row) { | |
628 | + ids = row.id+","; | |
629 | + }); | |
630 | + var data = { "ids": ids }; | |
631 | + $.operate.submit(url, "post", "json", data); | |
632 | + }); | |
519 | 633 | } |
520 | 634 | </script> |
521 | 635 | </body> |
... | ... |