Commit be01aaa9902836ec6d763bf3e59b3476cc8f45c9
1 parent
47946f4a
1、入库单和出库单的明细,如果创建人是MOM就不能新增。
2、完善入库回传接口。
Showing
5 changed files
with
72 additions
and
43 deletions
src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
... | ... | @@ -270,6 +270,9 @@ public class ReceiptDetailController extends BaseController { |
270 | 270 | @PostMapping("/add") |
271 | 271 | @ResponseBody |
272 | 272 | public AjaxResult addSave(ReceiptDetail receiptDetail) { |
273 | + if (receiptDetail.getCreatedBy().equals("MOM")) { | |
274 | + AjaxResult.error("MOM下发的单据不能新增"); | |
275 | + } | |
273 | 276 | return receiptDetailService.saveReceiptDetaial(receiptDetail); |
274 | 277 | } |
275 | 278 | |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
... | ... | @@ -149,6 +149,9 @@ public class ShipmentDetailController extends BaseController { |
149 | 149 | @PostMapping("/add") |
150 | 150 | @ResponseBody |
151 | 151 | public AjaxResult addSave(ShipmentDetail shipmentDetail) { |
152 | + if (shipmentDetail.getCreatedBy().equals("MOM")) { | |
153 | + AjaxResult.error("MOM下发的单据不能新增"); | |
154 | + } | |
152 | 155 | return shipmentDetailService.insertDetail(shipmentDetail); |
153 | 156 | } |
154 | 157 | |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
... | ... | @@ -680,46 +680,66 @@ public class ReceiptTaskService { |
680 | 680 | taskHeaderService.updateById(taskHeader); |
681 | 681 | return AjaxResult.success("回传成功"); |
682 | 682 | } |
683 | + | |
684 | + boolean allSuccessful = true; | |
685 | + BigDecimal pushQty = BigDecimal.ZERO; | |
686 | + ReceiptHeader receiptHeader = null; // 在循环外部初始化 | |
687 | + | |
683 | 688 | for (TaskDetail taskDetail : taskDetailList) { |
684 | - /*查询入库单明细*/ | |
689 | + // 查询入库单明细 | |
685 | 690 | ReceiptDetail receiptDetail = receiptDetailService.getById(taskDetail.getBillDetailId()); |
686 | 691 | if ("MOM".equals(receiptDetail.getCreatedBy())) { |
687 | 692 | receiptDetail.setTaskQty(taskDetail.getQty()); |
688 | - ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); | |
693 | + receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); // 更新receiptHeader | |
694 | + | |
695 | + // 特殊条件处理 | |
689 | 696 | if ("199".equals(receiptHeader.getReceiptType()) && !"MOM".equals(receiptHeader.getCreatedBy())) { |
690 | - taskHeader.setBackMoM(1);//1回传成功 | |
697 | + taskHeader.setBackMoM(1); // 1回传成功 | |
691 | 698 | taskHeaderService.updateById(taskHeader); |
692 | 699 | continue; |
693 | 700 | } |
701 | + | |
702 | + // 调用接口进行回传 | |
694 | 703 | ReturnInfo returnInfo = mesReceiptController.postE_Rd_In(receiptDetail); |
695 | 704 | receiptHeader.setPushErrorCount(receiptHeader.getPushErrorCount() + 1); |
705 | + | |
696 | 706 | if (returnInfo == null) { |
697 | - receiptHeader.setErrorMsg("入库回传错误:接口地址错误,或接口超时,或MOM报错,请用入库单号到接口日志查询具体错误!"); | |
698 | - receiptHeader.setPushSuccessStatus(2);//单据回传失败 | |
699 | - taskHeader.setBackMoM(3);//3回传失败 | |
707 | + receiptHeader.setErrorMsg("入库回传错误:接口地址错误,可能是接口超时,或MOM报错,请用入库单号到接口日志查询具体错误!"); | |
708 | + receiptHeader.setPushSuccessStatus(2); // 回传失败 | |
709 | + taskHeader.setBackMoM(3); // 3回传失败 | |
700 | 710 | taskHeader.setPushErrorCount(taskHeader.getPushErrorCount() + 1); |
711 | + allSuccessful = false; | |
712 | + } else if (returnInfo.noError()) { | |
713 | + // 累加已回传数量 | |
714 | + pushQty = pushQty.add(taskDetail.getQty()); | |
715 | + receiptHeader.setPushQty(pushQty); | |
716 | + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN); | |
717 | + receiptHeader.setPushSuccessStatus(3); // 部分回传 | |
701 | 718 | } else { |
702 | - if (returnInfo.noError()) { | |
703 | - BigDecimal pushQty = receiptHeader.getPushQty().add(taskDetail.getQty()); | |
704 | - receiptHeader.setPushQty(pushQty); | |
705 | - receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN); | |
706 | - receiptHeader.setPushSuccessStatus(3);//3回传了部分 | |
707 | - if (receiptHeader.getPushQty().compareTo(receiptHeader.getTotalQty()) == 0) { | |
708 | - receiptHeader.setPushSuccessStatus(1);//1成功 | |
709 | - receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RETURN); | |
710 | - } | |
711 | - taskHeader.setBackMoM(1);//1回传成功 | |
712 | - } else { | |
713 | - taskHeader.setPushErrorCount(taskHeader.getPushErrorCount() + 1); | |
714 | - taskHeader.setBackMoM(3);//3回传失败 | |
715 | - receiptHeader.setErrorMsg(returnInfo.getMsg()); | |
716 | - receiptHeader.setPushSuccessStatus(2);//2失败 | |
717 | - } | |
719 | + taskHeader.setPushErrorCount(taskHeader.getPushErrorCount() + 1); | |
720 | + taskHeader.setBackMoM(3); // 3回传失败 | |
721 | + receiptHeader.setErrorMsg(returnInfo.getMsg()); | |
722 | + receiptHeader.setPushSuccessStatus(2); // 失败 | |
723 | + allSuccessful = false; | |
718 | 724 | } |
725 | + | |
719 | 726 | receiptHeaderService.updateById(receiptHeader); |
720 | 727 | } |
721 | - taskHeaderService.updateById(taskHeader); | |
722 | 728 | } |
729 | + | |
730 | + // 确保在所有TaskDetail处理完后更新最终状态 | |
731 | + if (receiptHeader != null && pushQty.compareTo(receiptHeader.getTotalQty()) == 0) { | |
732 | + receiptHeader.setPushSuccessStatus(1); // 1成功 | |
733 | + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RETURN); | |
734 | + taskHeader.setBackMoM(1); // 1回传成功 | |
735 | + } else if (!allSuccessful) { | |
736 | + taskHeader.setBackMoM(3); // 3回传失败 | |
737 | + } | |
738 | + | |
739 | + taskHeaderService.updateById(taskHeader); | |
740 | + | |
723 | 741 | return AjaxResult.success("回传成功"); |
724 | 742 | } |
743 | + | |
744 | + | |
725 | 745 | } |
... | ... |
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
... | ... | @@ -546,13 +546,10 @@ |
546 | 546 | return ''; // 若无值则返回空字符串 |
547 | 547 | } |
548 | 548 | }, |
549 | + | |
549 | 550 | { |
550 | - field: 'transferWarehouseName', | |
551 | - title: '调入仓库名称', | |
552 | - }, | |
553 | - { | |
554 | - field: 'shipmentNote', | |
555 | - title: '备注', | |
551 | + field: 'superiorName', | |
552 | + title: '母件名称', | |
556 | 553 | formatter: function (value, row, index) { |
557 | 554 | var actions = []; |
558 | 555 | if (value == undefined || value == '') |
... | ... | @@ -563,8 +560,8 @@ |
563 | 560 | } |
564 | 561 | }, |
565 | 562 | { |
566 | - field: 'superiorName', | |
567 | - title: '母件名称', | |
563 | + field: 'superiorCode', | |
564 | + title: '母件编码', | |
568 | 565 | formatter: function (value, row, index) { |
569 | 566 | var actions = []; |
570 | 567 | if (value == undefined || value == '') |
... | ... | @@ -575,8 +572,12 @@ |
575 | 572 | } |
576 | 573 | }, |
577 | 574 | { |
578 | - field: 'superiorCode', | |
579 | - title: '母件编码', | |
575 | + field: 'transferWarehouseName', | |
576 | + title: '调入仓库名称', | |
577 | + }, | |
578 | + { | |
579 | + field: 'shipmentNote', | |
580 | + title: '备注', | |
580 | 581 | formatter: function (value, row, index) { |
581 | 582 | var actions = []; |
582 | 583 | if (value == undefined || value == '') |
... | ... | @@ -587,6 +588,7 @@ |
587 | 588 | } |
588 | 589 | }, |
589 | 590 | |
591 | + | |
590 | 592 | { |
591 | 593 | field: 'warehouseCode', |
592 | 594 | title: '仓库', |
... | ... |
src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html
... | ... | @@ -477,12 +477,8 @@ |
477 | 477 | } |
478 | 478 | }, |
479 | 479 | { |
480 | - field: 'transferWarehouseName', | |
481 | - title: '调入仓库名称', | |
482 | - }, | |
483 | - { | |
484 | - field: 'shipmentNote', | |
485 | - title: '备注', | |
480 | + field: 'superiorName', | |
481 | + title: '母件名称', | |
486 | 482 | formatter: function (value, row, index) { |
487 | 483 | var actions = []; |
488 | 484 | if (value == undefined || value == '') |
... | ... | @@ -493,8 +489,8 @@ |
493 | 489 | } |
494 | 490 | }, |
495 | 491 | { |
496 | - field: 'superiorName', | |
497 | - title: '母件名称', | |
492 | + field: 'superiorCode', | |
493 | + title: '母件编码', | |
498 | 494 | formatter: function (value, row, index) { |
499 | 495 | var actions = []; |
500 | 496 | if (value == undefined || value == '') |
... | ... | @@ -505,8 +501,12 @@ |
505 | 501 | } |
506 | 502 | }, |
507 | 503 | { |
508 | - field: 'superiorCode', | |
509 | - title: '母件编码', | |
504 | + field: 'transferWarehouseName', | |
505 | + title: '调入仓库名称', | |
506 | + }, | |
507 | + { | |
508 | + field: 'shipmentNote', | |
509 | + title: '备注', | |
510 | 510 | formatter: function (value, row, index) { |
511 | 511 | var actions = []; |
512 | 512 | if (value == undefined || value == '') |
... | ... | @@ -517,6 +517,7 @@ |
517 | 517 | } |
518 | 518 | }, |
519 | 519 | |
520 | + | |
520 | 521 | { |
521 | 522 | field: 'warehouseCode', |
522 | 523 | title: '仓库', |
... | ... |