|
|
@@ -55,6 +55,7 @@ import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.business.sea.entity.PreContainers;
|
|
|
import org.springblade.los.business.sea.mapper.BillsMapper;
|
|
|
import org.springblade.los.business.sea.service.IPreContainersService;
|
|
|
+import org.springblade.los.finance.fee.dto.FeeCenterReports;
|
|
|
import org.springblade.los.finance.fee.entity.FeeCenter;
|
|
|
import org.springblade.los.finance.fee.mapper.FeeCenterMapper;
|
|
|
import org.springblade.los.finance.fee.service.ICostProfitCalculationService;
|
|
|
@@ -245,10 +246,12 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
.eq(BCorps::getIsDeleted, 0)
|
|
|
.in(BCorps::getId, idList));
|
|
|
}
|
|
|
+ List<FeesTemplateItems> feesTemplateItemsList = losBFeesTemplate.getFeesTemplateItemsList().stream()
|
|
|
+ .sorted(Comparator.comparing(FeesTemplateItems::getSort)).collect(Collectors.toList());
|
|
|
List<FeesTemplateSonItems> sonItemsList = feesTemplateSonItemsService.list(new LambdaQueryWrapper<FeesTemplateSonItems>()
|
|
|
.eq(FeesTemplateSonItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FeesTemplateSonItems::getIsDeleted, 0)
|
|
|
- .in(FeesTemplateSonItems::getPpid, losBFeesTemplate.getFeesTemplateItemsList().stream().map(FeesTemplateItems::getId).collect(Collectors.toList()))
|
|
|
+ .in(FeesTemplateSonItems::getPpid, feesTemplateItemsList.stream().map(FeesTemplateItems::getId).collect(Collectors.toList()))
|
|
|
.eq(ObjectUtils.isNotNull(losBFeesTemplate.getDc()), FeesTemplateSonItems::getDc, losBFeesTemplate.getDc()));
|
|
|
if (sonItemsList.isEmpty()) {
|
|
|
throw new RuntimeException("未查到模板明细");
|
|
|
@@ -263,12 +266,13 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
}
|
|
|
int count = 1;
|
|
|
for (FeesTemplateSonItems items : sonItemsList) {
|
|
|
- FeesTemplateItems templateItems = losBFeesTemplate.getFeesTemplateItemsList().stream().filter(e -> e.getId().equals(items.getPpid()))
|
|
|
+ FeesTemplateItems templateItems = feesTemplateItemsList.stream().filter(e -> e.getId().equals(items.getPpid()))
|
|
|
.findFirst().orElse(null);
|
|
|
if (templateItems == null) {
|
|
|
throw new RuntimeException("模版数据错误,请联系管理员");
|
|
|
}
|
|
|
FeeCenter feeCenter = new FeeCenter();
|
|
|
+ feeCenter.setSort(templateItems.getSort());
|
|
|
feeCenter.setBranchId(branchId);
|
|
|
feeCenter.setBranchName(deptName);
|
|
|
feeCenter.setBillBranchId(bills.getBranchId());
|
|
|
@@ -692,6 +696,9 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
}*/
|
|
|
}
|
|
|
if (!list.isEmpty()) {
|
|
|
+ list = list.stream()
|
|
|
+ .sorted(Comparator.comparing(FeeCenter::getSort, Comparator.nullsFirst(Integer::compareTo)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FeeCenter::getIsDeleted, 0)
|
|
|
@@ -1456,6 +1463,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
throw new RuntimeException("模版数据错误,请联系管理员");
|
|
|
}
|
|
|
FeeCenter feeCenter = new FeeCenter();
|
|
|
+ feeCenter.setSort(templateItems.getSort());
|
|
|
feeCenter.setBranchId(branchId);
|
|
|
feeCenter.setBranchName(deptName);
|
|
|
feeCenter.setBillBranchId(bills.getBranchId());
|
|
|
@@ -1774,6 +1782,9 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
}
|
|
|
}
|
|
|
if (!list.isEmpty()) {
|
|
|
+ list = list.stream()
|
|
|
+ .sorted(Comparator.comparing(FeeCenter::getSort, Comparator.nullsFirst(Integer::compareTo)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
this.saveOrUpdateBatch(list);
|
|
|
} else {
|
|
|
throw new RuntimeException("导入失败,未查到可用模版信息");
|
|
|
@@ -2917,72 +2928,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
} else {
|
|
|
feeCenterList = losBFeesTemplateVO.getFeeCenterList();
|
|
|
}
|
|
|
- for (FeeCenter item : feeCenterList) {
|
|
|
- FeesTemplateItems feesTemplateItems = new FeesTemplateItems();
|
|
|
- if ("CNTRQTY".equals(item.getUnitNo())) {
|
|
|
- feesTemplateItems.setQuantityRule("按件数");
|
|
|
- } else if ("JOB".equals(item.getUnitNo()) || "票".equals(item.getUnitNo())) {
|
|
|
- feesTemplateItems.setQuantityRule("按票");
|
|
|
- } else if ("TON".equals(item.getUnitNo())) {
|
|
|
- feesTemplateItems.setQuantityRule("按重量");
|
|
|
- } else if ("QUANTITY".equals(item.getUnitNo()) || "TEU".equals(item.getUnitNo()) || "箱量".equals(item.getUnitNo())) {
|
|
|
- feesTemplateItems.setQuantityRule("按箱量");
|
|
|
- } else if ("VOLUME".equals(item.getUnitNo())) {
|
|
|
- feesTemplateItems.setQuantityRule("按尺码");
|
|
|
- }
|
|
|
- feesTemplateItems.setUnitNo(item.getUnitNo());
|
|
|
- if (ObjectUtils.isNull(item.getCorpType())) {
|
|
|
- feesTemplateItems.setCorpId(item.getCorpId());
|
|
|
- feesTemplateItems.setCorpCnName(item.getCorpCnName());
|
|
|
- feesTemplateItems.setCorpEnName(item.getCorpEnName());
|
|
|
- }
|
|
|
- feesTemplateItems.setPrice(item.getPrice());
|
|
|
- feesTemplateItems.setQuantity(new BigDecimal("1"));
|
|
|
- feesTemplateItems.setTaxRate(item.getTaxRate());
|
|
|
- feesTemplateItems.setCurCode(item.getCurCode());
|
|
|
- feesTemplateItems.setCorpType(item.getCorpType());
|
|
|
- feesTemplateItems.setFeeId(item.getFeeId());
|
|
|
- feesTemplateItems.setFeeCode(item.getFeeCode());
|
|
|
- feesTemplateItems.setFeeCnName(item.getFeeCnName());
|
|
|
- feesTemplateItems.setFeeEnName(item.getFeeEnName());
|
|
|
- feesTemplateItems.setPid(losBFeesTemplate.getId());
|
|
|
- feesTemplateItems.setDc(losBFeesTemplate.getDc());
|
|
|
- feesTemplateItems.setBranchId(deptId);
|
|
|
- feesTemplateItems.setBranchName(deptName);
|
|
|
- feesTemplateItems.setCreateTime(new Date());
|
|
|
- feesTemplateItems.setCreateUser(AuthUtil.getUserId());
|
|
|
- feesTemplateItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
- feesTemplateItems.setCreateDept(deptId);
|
|
|
- feesTemplateItems.setCreateDeptName(deptName);
|
|
|
- String temporaryId = StringTools.generateRandomString(32);
|
|
|
- feesTemplateItems.setTemporaryId(temporaryId);
|
|
|
- feesTemplateItemsList.add(feesTemplateItems);
|
|
|
-
|
|
|
- FeesTemplateSonItems sonItems = new FeesTemplateSonItems();
|
|
|
- sonItems.setDc(feesTemplateItems.getDc());
|
|
|
- sonItems.setPid(losBFeesTemplate.getId());
|
|
|
- sonItems.setTaxRate(feesTemplateItems.getTaxRate());
|
|
|
- sonItems.setCreateTime(new Date());
|
|
|
- sonItems.setCreateUser(AuthUtil.getUserId());
|
|
|
- sonItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
- sonItems.setType(feesTemplateItems.getCorpType());
|
|
|
- sonItems.setCorpId(feesTemplateItems.getCorpId());
|
|
|
- sonItems.setCorpCnName(feesTemplateItems.getCorpCnName());
|
|
|
- sonItems.setCorpEnName(feesTemplateItems.getCorpEnName());
|
|
|
- sonItems.setFeeId(feesTemplateItems.getFeeId());
|
|
|
- sonItems.setFeeCode(feesTemplateItems.getFeeCode());
|
|
|
- sonItems.setFeeCnName(feesTemplateItems.getFeeCnName());
|
|
|
- sonItems.setFeeEnName(feesTemplateItems.getFeeEnName());
|
|
|
- sonItems.setCostPrice(feesTemplateItems.getCostPrice());
|
|
|
- sonItems.setSalesPrice(feesTemplateItems.getPrice());
|
|
|
- sonItems.setCurCode(feesTemplateItems.getCurCode());
|
|
|
- sonItems.setUnitNo(feesTemplateItems.getUnitNo());
|
|
|
- sonItems.setQuantityRule(feesTemplateItems.getQuantityRule());
|
|
|
- sonItems.setBranchId(deptId);
|
|
|
- sonItems.setBranchName(deptName);
|
|
|
- sonItems.setTemporaryId(temporaryId);
|
|
|
- sonItemsList.add(sonItems);
|
|
|
- }
|
|
|
+ int count = 1;
|
|
|
if (!feeCenterListBoxType.isEmpty()) {
|
|
|
for (FeeCenter item : feeCenterListBoxType) {
|
|
|
String temporaryId = StringTools.generateRandomString(32);
|
|
|
@@ -3016,14 +2962,18 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
FeesTemplateItems templateItems = feesTemplateItemsList.stream().filter(e -> "按箱型".equals(e.getQuantityRule())
|
|
|
&& item.getFeeId().equals(e.getFeeId())).findFirst().orElse(null);
|
|
|
if (templateItems == null){
|
|
|
+ feesTemplateItems.setSort(count);
|
|
|
feesTemplateItems.setTemporaryId(temporaryId);
|
|
|
feesTemplateItemsList.add(feesTemplateItems);
|
|
|
+ count++;
|
|
|
}else{
|
|
|
temporaryId = templateItems.getTemporaryId();
|
|
|
}
|
|
|
} else {
|
|
|
feesTemplateItems.setTemporaryId(temporaryId);
|
|
|
+ feesTemplateItems.setSort(count);
|
|
|
feesTemplateItemsList.add(feesTemplateItems);
|
|
|
+ count++;
|
|
|
}
|
|
|
FeesTemplateSonItems sonItems = new FeesTemplateSonItems();
|
|
|
sonItems.setDc(feesTemplateItems.getDc());
|
|
|
@@ -3050,7 +3000,74 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
sonItems.setTemporaryId(temporaryId);
|
|
|
sonItemsList.add(sonItems);
|
|
|
}
|
|
|
+ }
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ FeesTemplateItems feesTemplateItems = new FeesTemplateItems();
|
|
|
+ feesTemplateItems.setSort(count);
|
|
|
+ if ("CNTRQTY".equals(item.getUnitNo())) {
|
|
|
+ feesTemplateItems.setQuantityRule("按件数");
|
|
|
+ } else if ("JOB".equals(item.getUnitNo()) || "票".equals(item.getUnitNo())) {
|
|
|
+ feesTemplateItems.setQuantityRule("按票");
|
|
|
+ } else if ("TON".equals(item.getUnitNo())) {
|
|
|
+ feesTemplateItems.setQuantityRule("按重量");
|
|
|
+ } else if ("QUANTITY".equals(item.getUnitNo()) || "TEU".equals(item.getUnitNo()) || "箱量".equals(item.getUnitNo())) {
|
|
|
+ feesTemplateItems.setQuantityRule("按箱量");
|
|
|
+ } else if ("VOLUME".equals(item.getUnitNo())) {
|
|
|
+ feesTemplateItems.setQuantityRule("按尺码");
|
|
|
+ }
|
|
|
+ feesTemplateItems.setUnitNo(item.getUnitNo());
|
|
|
+ if (ObjectUtils.isNull(item.getCorpType())) {
|
|
|
+ feesTemplateItems.setCorpId(item.getCorpId());
|
|
|
+ feesTemplateItems.setCorpCnName(item.getCorpCnName());
|
|
|
+ feesTemplateItems.setCorpEnName(item.getCorpEnName());
|
|
|
+ }
|
|
|
+ feesTemplateItems.setPrice(item.getPrice());
|
|
|
+ feesTemplateItems.setQuantity(new BigDecimal("1"));
|
|
|
+ feesTemplateItems.setTaxRate(item.getTaxRate());
|
|
|
+ feesTemplateItems.setCurCode(item.getCurCode());
|
|
|
+ feesTemplateItems.setCorpType(item.getCorpType());
|
|
|
+ feesTemplateItems.setFeeId(item.getFeeId());
|
|
|
+ feesTemplateItems.setFeeCode(item.getFeeCode());
|
|
|
+ feesTemplateItems.setFeeCnName(item.getFeeCnName());
|
|
|
+ feesTemplateItems.setFeeEnName(item.getFeeEnName());
|
|
|
+ feesTemplateItems.setPid(losBFeesTemplate.getId());
|
|
|
+ feesTemplateItems.setDc(losBFeesTemplate.getDc());
|
|
|
+ feesTemplateItems.setBranchId(deptId);
|
|
|
+ feesTemplateItems.setBranchName(deptName);
|
|
|
+ feesTemplateItems.setCreateTime(new Date());
|
|
|
+ feesTemplateItems.setCreateUser(AuthUtil.getUserId());
|
|
|
+ feesTemplateItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ feesTemplateItems.setCreateDept(deptId);
|
|
|
+ feesTemplateItems.setCreateDeptName(deptName);
|
|
|
+ String temporaryId = StringTools.generateRandomString(32);
|
|
|
+ feesTemplateItems.setTemporaryId(temporaryId);
|
|
|
+ feesTemplateItemsList.add(feesTemplateItems);
|
|
|
+ count++;
|
|
|
|
|
|
+ FeesTemplateSonItems sonItems = new FeesTemplateSonItems();
|
|
|
+ sonItems.setDc(feesTemplateItems.getDc());
|
|
|
+ sonItems.setPid(losBFeesTemplate.getId());
|
|
|
+ sonItems.setTaxRate(feesTemplateItems.getTaxRate());
|
|
|
+ sonItems.setCreateTime(new Date());
|
|
|
+ sonItems.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sonItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ sonItems.setType(feesTemplateItems.getCorpType());
|
|
|
+ sonItems.setCorpId(feesTemplateItems.getCorpId());
|
|
|
+ sonItems.setCorpCnName(feesTemplateItems.getCorpCnName());
|
|
|
+ sonItems.setCorpEnName(feesTemplateItems.getCorpEnName());
|
|
|
+ sonItems.setFeeId(feesTemplateItems.getFeeId());
|
|
|
+ sonItems.setFeeCode(feesTemplateItems.getFeeCode());
|
|
|
+ sonItems.setFeeCnName(feesTemplateItems.getFeeCnName());
|
|
|
+ sonItems.setFeeEnName(feesTemplateItems.getFeeEnName());
|
|
|
+ sonItems.setCostPrice(feesTemplateItems.getCostPrice());
|
|
|
+ sonItems.setSalesPrice(feesTemplateItems.getPrice());
|
|
|
+ sonItems.setCurCode(feesTemplateItems.getCurCode());
|
|
|
+ sonItems.setUnitNo(feesTemplateItems.getUnitNo());
|
|
|
+ sonItems.setQuantityRule(feesTemplateItems.getQuantityRule());
|
|
|
+ sonItems.setBranchId(deptId);
|
|
|
+ sonItems.setBranchName(deptName);
|
|
|
+ sonItems.setTemporaryId(temporaryId);
|
|
|
+ sonItemsList.add(sonItems);
|
|
|
}
|
|
|
if (!feesTemplateItemsList.isEmpty()) {
|
|
|
feesTemplateItemsService.saveBatch(feesTemplateItemsList);
|