Просмотр исходного кода

1.禅道bug-3491-汇率问题
2.禅道bug-3490-返场后,数据不对
3.禅道bug-3489-调箱后,数据不对

纪新园 4 недель назад
Родитель
Сommit
f351c5fc84

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/cur/service/impl/BCurrencyServiceImpl.java

@@ -986,6 +986,7 @@ public class BCurrencyServiceImpl extends ServiceImpl<CurrencyMapper, BCurrency>
 			.eq(BCurExrate::getTenantId, AuthUtil.getTenantId())
 			.eq(BCurExrate::getIsDeleted, 0)
 			.eq(BCurExrate::getBranchId, AuthUtil.getDeptId())
+			.eq(BCurExrate::getExrateYear, exrateYear)
 			.eq(BCurExrate::getCode, currency.getCode()));
 		if (!curExrateList.isEmpty()) {
 			List<BCurExrate> exrateList = new ArrayList<>();

+ 25 - 16
blade-service/blade-los/src/main/java/org/springblade/los/box/dynamics/service/impl/BoxDynamicsRecordServiceImpl.java

@@ -295,7 +295,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 			}
 		}
 		if ("JC".equals(boxDynamicsRecord.getApproachExit())) {
-			List<BoxDynamicsRecordItems> itemsListJC = itemsList.stream().filter(e -> !e.getObjective().equals("C")).collect(Collectors.toList());
+			List<BoxDynamicsRecordItems> itemsListJC = itemsList.stream().filter(e -> !"C".equals(e.getObjective())).collect(Collectors.toList());
 			if (!itemsListJC.isEmpty()) {
 				List<String> boxCodeList = itemsListJC.stream().map(BoxDynamicsRecordItems::getBoxCode).filter(Objects::nonNull)
 					.distinct().collect(Collectors.toList());
@@ -1011,16 +1011,17 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 											putBox2.setPolStationEname(recordItems.getStationCode());
 											putBox2.setBoxType(archives.getTypeName());
 											putBox2.setBoxClass(archives.getBoxType());
-											putBox2.setTotalNum(1);
-											putBox2.setOccupyNum(0);
-											putBox2.setRemainingNum(1);
-											putBox2.setStorageNum(1);
+//											putBox2.setTotalNum(1);
+//											putBox2.setOccupyNum(0);
+//											putBox2.setRemainingNum(1);
+//											putBox2.setStorageNum(1);
 											putBoxNewList.add(putBox2);
 										} else {
-											putBox2.setTotalNum(putBox1.getTotalNum() + 1);
-											putBox2.setOccupyNum(0);
-											putBox2.setRemainingNum(putBox1.getRemainingNum() + 1);
-											putBox2.setStorageNum(putBox1.getStorageNum() + 1);
+//											putBox2.setTotalNum(putBox1.getTotalNum() + 1);
+//											putBox2.setOccupyNum(0);
+//											putBox2.setRemainingNum(putBox1.getRemainingNum() + 1);
+//											putBox2.setStorageNum(putBox1.getStorageNum() + 1);
+											putBoxNewList.add(putBox2);
 										}
 									} else {
 										putBox = new PutBox();
@@ -1062,16 +1063,16 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 										putBox.setPolStationEname(recordItems.getStationCode());
 										putBox.setBoxType(archives.getTypeName());
 										putBox.setBoxClass(archives.getBoxType());
-										putBox.setTotalNum(1);
-										putBox.setOccupyNum(0);
-										putBox.setRemainingNum(1);
-										putBox.setStorageNum(1);
+//										putBox.setTotalNum(1);
+//										putBox.setOccupyNum(0);
+//										putBox.setRemainingNum(1);
+//										putBox.setStorageNum(1);
 										putBoxNewList.add(putBox);
 									}
 								} else {
-									putBox.setTotalNum(putBox.getTotalNum() + 1);
-									putBox.setRemainingNum(putBox.getTotalNum() + 1 - putBox.getOccupyNum());
-									putBox.setStorageNum(putBox.getStorageNum() + 1 - putBox.getOccupyNum());
+//									putBox.setTotalNum(putBox.getTotalNum() + 1);
+//									putBox.setRemainingNum(putBox.getTotalNum() + 1 - putBox.getOccupyNum());
+//									putBox.setStorageNum(putBox.getStorageNum() + 1 - putBox.getOccupyNum());
 									putBoxNewList.add(putBox);
 								}
 							} else if ("OW(拿)".equals(putBox1.getBoxClass())) {
@@ -1306,6 +1307,14 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 								archivesTrajectoryMapper.insert(archivesTrajectory);
 							}
 						}
+						for (PutBox item : putBoxNewList) {
+							long count = putBoxItemsNewList.stream().filter(e -> e.getPid().equals(item.getId())).count();
+							item.setTotalNum((ObjectUtils.isNull(item.getTotalNum()) ? 0 : item.getTotalNum())
+								+ Integer.parseInt(count + ""));
+							item.setRemainingNum((ObjectUtils.isNull(item.getRemainingNum()) ? 0 : item.getRemainingNum()) + Integer.parseInt(count + ""));
+							item.setStorageNum((ObjectUtils.isNull(item.getStorageNum()) ? 0 : item.getStorageNum()) + Integer.parseInt(count + ""));
+						}
+						putBoxService.saveOrUpdateBatch(putBoxNewList);
 					}
 					boolean status = true;
 					if (billsHYJK.getEtd().compareTo(date) < 0) {

+ 15 - 4
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java

@@ -2214,15 +2214,20 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				.eq(PutBox::getPolStationId, tradingBox.getPolStationId())
 				.eq(PutBox::getBoxType, tradingBox.getBoxTypeQuantityOne())
 			);
-			if (putBoxOld == null){
+			if (putBoxOld == null) {
 				throw new RuntimeException("未查到调出放箱号单据");
 			}
 			putBoxOld.setUpdateUser(AuthUtil.getUserId());
 			putBoxOld.setUpdateTime(new Date());
 			putBoxOld.setUpdateUserName(AuthUtil.getUserName());
-
+			if (putBoxOld.getTotalNum().compareTo(tradingBox.getBoxNumber()) < 0) {
+				throw new RuntimeException("原放箱号剩余总箱数小于本次调箱箱数");
+			}
 			putBoxOld.setTotalNum(putBoxOld.getTotalNum() - tradingBox.getBoxNumber());
 			putBoxOld.setRemainingNum(putBoxOld.getTotalNum() - putBoxOld.getOccupyNum());
+			if (putBoxOld.getStorageNum().compareTo(tradingBox.getBoxNumber()) < 0) {
+				throw new RuntimeException("原放箱号剩余盘存箱数小于本次调箱箱数");
+			}
 			putBoxOld.setStorageNum(putBoxOld.getStorageNum() - tradingBox.getBoxNumber());
 			putBoxService.updateById(putBoxOld);
 		}
@@ -2256,11 +2261,17 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				putBox.setUpdateUser(AuthUtil.getUserId());
 				putBox.setUpdateTime(new Date());
 				putBox.setUpdateUserName(AuthUtil.getUserName());
+				if (putBox.getTotalNum().compareTo(tradingBox.getBoxNumber()) < 0) {
+					throw new RuntimeException("放箱号剩余总箱数小于本次调箱箱数");
+				}
 				putBox.setTotalNum(putBox.getTotalNum() - tradingBox.getBoxNumber());
 				putBox.setRemainingNum(putBox.getTotalNum() - putBox.getOccupyNum());
+				if (putBox.getStorageNum().compareTo(tradingBox.getBoxNumber()) < 0) {
+					throw new RuntimeException("放箱号剩余盘存箱数小于本次调箱箱数");
+				}
 				putBox.setStorageNum(putBox.getStorageNum() - tradingBox.getBoxNumber());
 				putBoxService.updateById(putBox);
-			} else{
+			} else {
 				throw new RuntimeException("未查到对应放箱号数据");
 			}
 			PutBox putBoxOld = putBoxService.getOne(new LambdaQueryWrapper<PutBox>()
@@ -2271,7 +2282,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				.eq(PutBox::getPolStationId, tradingBox.getPolStationId())
 				.eq(PutBox::getBoxType, tradingBox.getBoxTypeQuantityOne())
 			);
-			if (putBoxOld == null){
+			if (putBoxOld == null) {
 				throw new RuntimeException("未查到调出放箱号单据");
 			}
 			putBoxOld.setUpdateUser(AuthUtil.getUserId());