瀏覽代碼

1.费用箱量修改问题
2.海运出口明细分单排序修改

纪新园 2 月之前
父節點
當前提交
c0158ae7f9

+ 2 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -332,7 +332,8 @@ public class BillsController extends BladeController {
 			.eq(ObjectUtils.isNotNull(bills.getSeaType()), Bills::getSeaType, bills.getSeaType())
 			.eq(ObjectUtils.isNotNull(bills.getMasterBillNo()), Bills::getMasterBillNo, bills.getMasterBillNo())
 			.ne(ObjectUtils.isNotNull(bills.getBillStatus()), Bills::getBillStatus, bills.getBillStatus())
-			.eq(ObjectUtils.isNotNull(bills.getMasterId()), Bills::getMasterId, bills.getMasterId());
+			.eq(ObjectUtils.isNotNull(bills.getMasterId()), Bills::getMasterId, bills.getMasterId())
+			.orderByAsc(Bills::getHblno);
 		List<Bills> pages = billsService.list(lambdaQueryWrapper);
 		return R.data(pages);
 	}

+ 18 - 10
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/PreContainersServiceImpl.java

@@ -40,7 +40,6 @@ import org.springblade.los.business.sea.service.IPreContainersService;
 import org.springblade.los.business.sea.vo.PreContainersVO;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.mapper.FeeCenterMapper;
-import org.springblade.los.finance.fee.service.IFeeCenterService;
 import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -97,7 +96,7 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 		if (bills == null) {
 			throw new RuntimeException("未找到单据信息");
 		}
-		preContainers.setWhetherModifyJson(preContainers.getCntrTypeCode()+"+"+preContainers.getQuantity());
+		preContainers.setWhetherModifyJson(preContainers.getCntrTypeCode() + "+" + preContainers.getQuantity());
 		preContainers.setMeasurement(ObjectUtils.isNotNull(preContainers.getMeasurement()) ? preContainers.getMeasurement() : new BigDecimal("0.00"));
 		preContainers.setGrossWeight(ObjectUtils.isNotNull(preContainers.getGrossWeight()) ? preContainers.getGrossWeight() : new BigDecimal("0.00"));
 		preContainers.setQuantity(ObjectUtils.isNotNull(preContainers.getNumber()) ? preContainers.getNumber().intValue() : 0);
@@ -333,7 +332,7 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 			}
 		}
 		for (PreContainers preContainers : preContainersList) {
-			preContainers.setWhetherModifyJson(preContainers.getCntrTypeCode()+"+"+preContainers.getQuantity());
+			preContainers.setWhetherModifyJson(preContainers.getCntrTypeCode() + "+" + preContainers.getQuantity());
 			if (preContainers.getId() == null) {
 				preContainers.setCreateTime(new Date());
 				preContainers.setCreateUser(AuthUtil.getUserId());
@@ -374,14 +373,23 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 			List<FeeCenter> feeCenterList = feeCenterMapper.selectList(new LambdaQueryWrapper<FeeCenter>()
 				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 				.eq(FeeCenter::getIsDeleted, 0)
-				.eq(FeeCenter::getPid, preContainersList.get(0).getPid())
-				.in(FeeCenter::getUnitNo, cntrType));
+				.eq(FeeCenter::getPid, preContainersList.get(0).getPid()));
 			for (FeeCenter item : feeCenterList) {
-				PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getUnitNo()))
-					.findFirst().orElse(null);
-				if (preContainers != null && item.getQuantity().compareTo(new BigDecimal(preContainers.getQuantity() + "")) != 0 &&
-					"0,1".contains(item.getAuditStatus())) {
-					item.setQuantity(new BigDecimal(preContainers.getQuantity() + ""));
+				boolean status = true;
+				if (cntrType.contains(item.getUnitNo())) {
+					PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getUnitNo()))
+						.findFirst().orElse(null);
+					if (preContainers != null && item.getQuantity().compareTo(new BigDecimal(preContainers.getQuantity() + "")) != 0 &&
+						"0,1".contains(item.getAuditStatus())) {
+						item.setQuantity(new BigDecimal(preContainers.getQuantity() + ""));
+					}
+				} else if ("箱量".equals(item.getUnitNo())) {
+					Integer quantity = preContainersList.stream().map(PreContainers::getQuantity).reduce(0, Integer::sum);
+					item.setQuantity(new BigDecimal(quantity + ""));
+				}else{
+					status = false;
+				}
+				if (status){
 					item.setAmount(item.getPrice().multiply(item.getQuantity()));
 					item.setAmountLoc(item.getAmount().multiply(item.getExrate()));
 					// 去税金额 = 数量quantity * 单价price