Commit ffff903a20b5aa64053852e9056f80238f4d8f38
Merge remote-tracking branch 'origin/develop' into develop
Showing
4 changed files
with
51 additions
and
46 deletions
src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java
... | ... | @@ -320,17 +320,17 @@ public class InventoryHeaderController extends BaseController |
320 | 320 | } |
321 | 321 | /** |
322 | 322 | * 合托保存 |
323 | - * @param destContainerCode 原容器 | |
324 | - * @param destContainerCode 目的容器 | |
325 | - * detailIdList ,原容器下面的库存详情id | |
323 | + * @param orgLocationCode 原库位 | |
324 | + * @param destLocationCode 目的库位 | |
325 | + * detailIdList ,原库位下面的库存详情id | |
326 | 326 | * @return |
327 | 327 | */ |
328 | 328 | @Log(title = "入库-入库单 ",operating = "修改入库单 ", action = BusinessType.UPDATE) |
329 | 329 | @PostMapping("/conformContainerSave") |
330 | 330 | @ResponseBody |
331 | - public AjaxResult conformContainerSave(String orgContainerCode, String destContainerCode, String detailIdList) | |
331 | + public AjaxResult conformContainerSave(String orgLocationCode, String destLocationCode, String detailIdList) | |
332 | 332 | { |
333 | - return inventoryHeaderService.conformContainerSave(orgContainerCode, destContainerCode,detailIdList); | |
333 | + return inventoryHeaderService.conformContainerSave(orgLocationCode, destLocationCode,detailIdList); | |
334 | 334 | } |
335 | 335 | |
336 | 336 | |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java
... | ... | @@ -67,7 +67,7 @@ public interface InventoryHeaderService extends IService<InventoryHeader> { |
67 | 67 | |
68 | 68 | List<Integer> cycleCountInventoryHeader(); |
69 | 69 | |
70 | - AjaxResult conformContainerSave(String orgContainerCode, String destContainerCode, String detailIdList); | |
70 | + AjaxResult conformContainerSave(String orgLocationCode, String destLocationCode, String detailIdList); | |
71 | 71 | |
72 | 72 | } |
73 | 73 | |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java
... | ... | @@ -447,27 +447,30 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe |
447 | 447 | /** |
448 | 448 | * 合托,将原容器物料移到目的容器,可以整个容器全部移到目的容器,也可以其中一分部移动 |
449 | 449 | * 记录库存交易,判断明细不能是锁定状态(详情表锁状态没用到,暂时没判断) |
450 | - * @param orgContainerCode 原容器 | |
451 | - * @param destContainerCode 目的容器 | |
450 | + * @param orgLocationCode 原容器 | |
451 | + * @param destLocationCode 目的容器 | |
452 | 452 | * @param detailIdList 库存详情id |
453 | 453 | * @return |
454 | 454 | */ |
455 | 455 | @Override |
456 | 456 | @Transactional(rollbackFor = Exception.class) |
457 | - public AjaxResult conformContainerSave(String orgContainerCode, String destContainerCode, String detailIdList) { | |
458 | - if(StringUtils.isEmpty(orgContainerCode)||StringUtils.isEmpty(destContainerCode)){ | |
459 | - return AjaxResult.error("原容器,目的容器不能为空"); | |
457 | + public AjaxResult conformContainerSave(String orgLocationCode, String destLocationCode, String detailIdList) { | |
458 | + if(StringUtils.isEmpty(orgLocationCode)||StringUtils.isEmpty(destLocationCode)){ | |
459 | + return AjaxResult.error("原库位,目的库位不能为空"); | |
460 | 460 | } |
461 | 461 | // 判断原容器、目的容器是否存在库存里 |
462 | - InventoryHeader inventoryHeader=checkContainer(orgContainerCode); | |
463 | - InventoryHeader inventoryHeader1=checkContainer(destContainerCode); | |
462 | + InventoryHeader inventoryHeader=checkContainer(orgLocationCode); | |
463 | + InventoryHeader inventoryHeader1=checkContainer(destLocationCode); | |
464 | 464 | if(inventoryHeader==null){ |
465 | - return AjaxResult.error("原容器不存在库存"); | |
465 | + return AjaxResult.error("原库位不存在库存"); | |
466 | 466 | } |
467 | 467 | if(inventoryHeader1==null){ |
468 | - return AjaxResult.error("目的容器不存在库存"); | |
468 | + return AjaxResult.error("目的库位不存在库存"); | |
469 | + } | |
470 | + if(inventoryHeader.getId().equals(inventoryHeader1.getId())){ | |
471 | + return AjaxResult.error("目的库位库存不能和原库位库存同一个"); | |
469 | 472 | } |
470 | - List<InventoryDetail> list=getDetailByContainerCode(orgContainerCode); | |
473 | + List<InventoryDetail> list=getDetailByContainerCode(orgLocationCode); | |
471 | 474 | if(null==list||list.size()==0){ |
472 | 475 | return AjaxResult.error("原容器不存在库存"); |
473 | 476 | } |
... | ... | @@ -483,7 +486,7 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe |
483 | 486 | for(int a=0;a<str.length;a++){ |
484 | 487 | Integer detailid=Integer.valueOf(str[a]); |
485 | 488 | if(detail.getId().equals(detailid)){ |
486 | - saveInvDetail(detail,destContainerCode,inventoryHeader1); | |
489 | + saveInvDetail(detail,destLocationCode,inventoryHeader1); | |
487 | 490 | } |
488 | 491 | } |
489 | 492 | } |
... | ... | @@ -492,20 +495,20 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe |
492 | 495 | } |
493 | 496 | }else{ |
494 | 497 | for (InventoryDetail detail:list){ |
495 | - saveInvDetail(detail,destContainerCode,inventoryHeader1); | |
498 | + saveInvDetail(detail,destLocationCode,inventoryHeader1); | |
496 | 499 | } |
497 | 500 | } |
498 | 501 | //修改库存主表 |
499 | - updateInventoryHeader(orgContainerCode); | |
500 | - updateInventoryHeader(destContainerCode); | |
502 | + updateInventoryHeader(orgLocationCode); | |
503 | + updateInventoryHeader(destLocationCode); | |
501 | 504 | return AjaxResult.success(); |
502 | 505 | } |
503 | 506 | //保存库存交易表,修改库存详情 |
504 | - public void saveInvDetail(InventoryDetail detail,String destContainerCode,InventoryHeader inventoryHeader1){ | |
507 | + public void saveInvDetail(InventoryDetail detail,String destLocationCode,InventoryHeader inventoryHeader1){ | |
505 | 508 | //保存库存交易 |
506 | 509 | saveInventoryTransaction(detail,true); |
507 | - detail.setContainerCode(destContainerCode); | |
508 | - detail.setLocationCode(inventoryHeader1.getLocationCode()); | |
510 | + detail.setLocationCode(destLocationCode); | |
511 | + detail.setContainerCode(inventoryHeader1.getContainerCode()); | |
509 | 512 | detail.setInventoryHeaderId(inventoryHeader1.getId()); |
510 | 513 | detail.setLastUpdated(new Date()); |
511 | 514 | detail.setLastUpdatedBy(ShiroUtils.getLoginName()); |
... | ... | @@ -514,27 +517,27 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe |
514 | 517 | saveInventoryTransaction(detail,false); |
515 | 518 | } |
516 | 519 | //根据容器检查库存主表是否有数量 |
517 | - public InventoryHeader checkContainer(String orgContainerCode){ | |
520 | + public InventoryHeader checkContainer(String orgLocationCode){ | |
518 | 521 | boolean result=false; |
519 | 522 | LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
520 | - lambdaQueryWrapper.eq(InventoryHeader::getContainerCode, orgContainerCode); | |
523 | + lambdaQueryWrapper.eq(InventoryHeader::getLocationCode, orgLocationCode); | |
521 | 524 | lambdaQueryWrapper.gt(InventoryHeader::getTotalQty,0); |
522 | 525 | InventoryHeader inventoryHeader=this.getOne(lambdaQueryWrapper); |
523 | 526 | return inventoryHeader; |
524 | 527 | } |
525 | 528 | //根据容器查询库存详情列表 |
526 | - public List<InventoryDetail> getDetailByContainerCode(String orgContainerCode){ | |
529 | + public List<InventoryDetail> getDetailByContainerCode(String orgLocationCode){ | |
527 | 530 | LambdaQueryWrapper<InventoryDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
528 | - lambdaQueryWrapper.eq(InventoryDetail::getContainerCode, orgContainerCode); | |
531 | + lambdaQueryWrapper.eq(InventoryDetail::getLocationCode, orgLocationCode); | |
529 | 532 | List<InventoryDetail> list=inventoryDetailService.list(lambdaQueryWrapper); |
530 | 533 | return list; |
531 | 534 | } |
532 | 535 | //根据容器修改库存主表 |
533 | - public void updateInventoryHeader(String orgContainerCode){ | |
534 | - List<InventoryDetail> list=getDetailByContainerCode(orgContainerCode); | |
536 | + public void updateInventoryHeader(String orgLocationCode){ | |
537 | + List<InventoryDetail> list=getDetailByContainerCode(orgLocationCode); | |
535 | 538 | int qty=0; |
536 | 539 | LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
537 | - lambdaQueryWrapper.eq(InventoryHeader::getContainerCode, orgContainerCode); | |
540 | + lambdaQueryWrapper.eq(InventoryHeader::getLocationCode, orgLocationCode); | |
538 | 541 | InventoryHeader inventoryHeader=this.getOne(lambdaQueryWrapper); |
539 | 542 | if(list==null||list.size()==0){ |
540 | 543 | this.removeById(inventoryHeader); |
... | ... |
src/main/resources/templates/inventory/inventoryHeader/conformContainer.html
... | ... | @@ -5,20 +5,22 @@ |
5 | 5 | <body class="white-bg"> |
6 | 6 | <div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
7 | 7 | <form class="form-horizontal m" id="form-task-emptyIn"> |
8 | - <span style="color:red;margin-left:25%">*如果不勾选明细,则默认该容器明细全部转移到目的容器</span> | |
8 | + <span style="color:red;margin-left:25%">*如果不勾选明细,则默认该库位明细全部转移到目的容器</span> | |
9 | 9 | <div class="form-group"> |
10 | - <label class="col-sm-3 control-label">原容器编码:</label> | |
10 | + <label class="col-sm-3 control-label">原库位编码:</label> | |
11 | 11 | <div class="col-sm-6"> |
12 | - <input id="orgContainerCode" name="orgContainerCode" class="form-control" type="text" > | |
12 | + <input id="orgLocationCode" name="orgLocationCode" class="form-control" type="text" > | |
13 | + <!--<input id="orgContainerCode" name="orgContainerCode" class="form-control" type="text" >--> | |
13 | 14 | </div> |
14 | 15 | <input type="hidden" id="detailIdList" name="detailIdList"> |
15 | 16 | <button type="button" class="btn btn-primary" onclick="selectMaterial()">选取明细</button> |
16 | 17 | <button type="button" class="btn btn-primary" onclick="clearSelect()">清空明细</button> |
17 | 18 | </div> |
18 | 19 | <div class="form-group"> |
19 | - <label class="col-sm-3 control-label">目的容器:</label> | |
20 | + <label class="col-sm-3 control-label">目的库位:</label> | |
20 | 21 | <div class="col-sm-8"> |
21 | - <input id="destContainerCode" name="destContainerCode" class="form-control" type="text" > | |
22 | + <input id="destLocationCode" name="destLocationCode" class="form-control" type="text"> | |
23 | + <!--<input id="destContainerCode" name="destContainerCode" class="form-control" type="text">--> | |
22 | 24 | </div> |
23 | 25 | </div> |
24 | 26 | <div class="col-sm-12 select-info" id="selecttable" > |
... | ... | @@ -43,16 +45,16 @@ |
43 | 45 | $("#detailIdList").val(''); |
44 | 46 | } |
45 | 47 | function selectMaterial(){ |
46 | - var orgContainerCode=$("#orgContainerCode").val(); | |
47 | - if(orgContainerCode==''||orgContainerCode==undefined){ | |
48 | - $.modal.alertError("请填写原容器编码"); | |
48 | + var orgLocationCode=$("#orgLocationCode").val(); | |
49 | + if(orgLocationCode==''||orgLocationCode==undefined){ | |
50 | + $.modal.alertError("请填写原库位编码"); | |
49 | 51 | return; |
50 | 52 | } |
51 | 53 | $.ajax({ |
52 | 54 | url:prefix + '/inventoryDetailLook', |
53 | 55 | type:"post", |
54 | 56 | data:{ |
55 | - "containerCode":orgContainerCode, | |
57 | + "locationCode":orgLocationCode, | |
56 | 58 | }, |
57 | 59 | success:function (value) { |
58 | 60 | console.log(value) |
... | ... | @@ -183,14 +185,14 @@ |
183 | 185 | $("#form-task-emptyIn").validate({ |
184 | 186 | |
185 | 187 | submitHandler: function(form) { |
186 | - var orgContainerCode=$("#orgContainerCode").val(); | |
187 | - var destContainerCode=$("#destContainerCode").val(); | |
188 | - if(orgContainerCode==''||destContainerCode==''){ | |
189 | - $.modal.alertError("请填写原容器编码和目的容器编号"); | |
188 | + var orgLocationCode=$("#orgLocationCode").val(); | |
189 | + var destLocationCode=$("#destLocationCode").val(); | |
190 | + if(orgLocationCode==''||destLocationCode==''){ | |
191 | + $.modal.alertError("请填写原库位编码和目的库位编号"); | |
190 | 192 | return; |
191 | 193 | } |
192 | 194 | let rows = $("#bootstrap-table").bootstrapTable('getSelections'); |
193 | - console.log(rows); | |
195 | + //console.log(rows); | |
194 | 196 | var ids = ""; |
195 | 197 | for (var i = 0; i<rows.length; i++){ |
196 | 198 | ids += rows[i].id; |
... | ... | @@ -202,8 +204,8 @@ |
202 | 204 | url:prefix_header + "/conformContainerSave", |
203 | 205 | type:"post", |
204 | 206 | data:{ |
205 | - "orgContainerCode":orgContainerCode, | |
206 | - "destContainerCode":destContainerCode, | |
207 | + "orgLocationCode":orgLocationCode, | |
208 | + "destLocationCode":destLocationCode, | |
207 | 209 | "detailIdList":ids, |
208 | 210 | }, |
209 | 211 | success:function (result) { |
... | ... |