Commit 595428cd89e1f2779a96b55ea9dc0dc48fc0ee4d
1 parent
7d58db88
修复 历史单据和出/入单据 时间不一致问题。
Showing
1 changed file
with
67 additions
and
0 deletions
src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
... | ... | @@ -37,12 +37,14 @@ import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
37 | 37 | import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; |
38 | 38 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
39 | 39 | import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; |
40 | +import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory; | |
40 | 41 | import com.huaheng.pc.receipt.receiptHeaderHistory.service.ReceiptHeaderHistoryService; |
41 | 42 | import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService; |
42 | 43 | import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; |
43 | 44 | import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; |
44 | 45 | import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; |
45 | 46 | import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; |
47 | +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; | |
46 | 48 | import com.huaheng.pc.shipment.shipmentHeaderHistory.service.ShipmentHeaderHistoryService; |
47 | 49 | import com.huaheng.pc.system.user.service.IUserService; |
48 | 50 | import com.huaheng.pc.task.taskHeader.domain.TaskHeader; |
... | ... | @@ -53,6 +55,7 @@ import org.apache.commons.collections.MapUtils; |
53 | 55 | import org.springframework.stereotype.Component; |
54 | 56 | |
55 | 57 | import javax.annotation.Resource; |
58 | +import java.math.BigDecimal; | |
56 | 59 | import java.util.*; |
57 | 60 | import java.util.stream.Collectors; |
58 | 61 | |
... | ... | @@ -464,5 +467,69 @@ public class RyTask extends BaseController { |
464 | 467 | } |
465 | 468 | } |
466 | 469 | |
470 | + public void restoreHistoryDate(){ | |
471 | + receiptRestore(); | |
472 | + shipmentRestore(); | |
473 | + } | |
474 | + | |
475 | + public void receiptRestore(){ | |
476 | + LambdaQueryWrapper<ReceiptHeaderHistory> query = Wrappers.lambdaQuery(); | |
477 | + query.eq(ReceiptHeaderHistory::getVersion,0) | |
478 | + .orderByAsc(ReceiptHeaderHistory::getId) | |
479 | + .last("LIMIT 20"); | |
480 | + List<ReceiptHeaderHistory> list = receiptHeaderHistoryService.list(query); | |
481 | + | |
482 | + Set<String> codes = list.stream().map(ReceiptHeaderHistory::getCode).collect(Collectors.toSet()); | |
483 | + | |
484 | + LambdaQueryWrapper<ReceiptHeader> query1 = Wrappers.lambdaQuery(); | |
485 | + query1.in(ReceiptHeader::getCode,codes); | |
486 | + List<ReceiptHeader> receiptHeaders = receiptHeaderService.list(query1); | |
487 | + | |
488 | + HashMap<String,ReceiptHeader> map = new HashMap<>(); | |
489 | + for (ReceiptHeader receiptHeader : receiptHeaders) { | |
490 | + map.put(receiptHeader.getCode(),receiptHeader); | |
491 | + } | |
492 | + List<ReceiptHeaderHistory> histories = new ArrayList<>(); | |
493 | + for (ReceiptHeaderHistory receiptHeaderHistory : list) { | |
494 | + ReceiptHeader receiptHeader = map.get(receiptHeaderHistory.getCode()); | |
495 | + if(receiptHeader !=null){ | |
496 | + receiptHeaderHistory.setLastUpdated(receiptHeader.getLastUpdated()); | |
497 | + receiptHeaderHistory.setCreated(receiptHeader.getCreated()); | |
498 | + receiptHeaderHistory.setVersion(BigDecimal.ONE.intValue()); | |
499 | + histories.add(receiptHeaderHistory); | |
500 | + } | |
501 | + } | |
502 | + receiptHeaderHistoryService.updateBatchById(histories); | |
503 | + } | |
504 | + | |
505 | + public void shipmentRestore(){ | |
506 | + LambdaQueryWrapper<ShipmentHeaderHistory> query = Wrappers.lambdaQuery(); | |
507 | + query.eq(ShipmentHeaderHistory::getVersion,0) | |
508 | + .orderByAsc(ShipmentHeaderHistory::getId) | |
509 | + .last("LIMIT 20"); | |
510 | + List<ShipmentHeaderHistory> shipmentHeaderHistorys = shipmentHeaderHistoryService.list(query); | |
511 | + | |
512 | + Set<String> codes = shipmentHeaderHistorys.stream().map(ShipmentHeaderHistory::getCode).collect(Collectors.toSet()); | |
513 | + | |
514 | + LambdaQueryWrapper<ShipmentHeader> query1 = Wrappers.lambdaQuery(); | |
515 | + query1.in(ShipmentHeader::getCode,codes); | |
516 | + List<ShipmentHeader> ShipmentHeaders = shipmentHeaderService.list(query1); | |
517 | + | |
518 | + HashMap<String,ShipmentHeader> map = new HashMap<>(); | |
519 | + for (ShipmentHeader shipmentHeader : ShipmentHeaders) { | |
520 | + map.put(shipmentHeader.getCode(),shipmentHeader); | |
521 | + } | |
522 | + List<ShipmentHeaderHistory> histories = new ArrayList<>(); | |
523 | + for (ShipmentHeaderHistory shipmentHeaderHistory : shipmentHeaderHistorys) { | |
524 | + ShipmentHeader shipmentHeader = map.get(shipmentHeaderHistory.getCode()); | |
525 | + if(shipmentHeader !=null){ | |
526 | + shipmentHeaderHistory.setLastUpdated(shipmentHeader.getLastUpdated()); | |
527 | + shipmentHeaderHistory.setCreated(shipmentHeader.getCreated()); | |
528 | + shipmentHeaderHistory.setVersion(BigDecimal.ONE.intValue()); | |
529 | + histories.add(shipmentHeaderHistory); | |
530 | + } | |
531 | + } | |
532 | + shipmentHeaderHistoryService.updateBatchById(histories); | |
533 | + } | |
467 | 534 | |
468 | 535 | } |
... | ... |