纪新园 1 год назад
Родитель
Сommit
e930f0615e
14 измененных файлов с 283 добавлено и 17 удалено
  1. 1 1
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/corps/entity/BCorps.java
  2. 12 9
      blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/controller/BCorpsController.java
  3. 6 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java
  4. 6 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/customsDeclaration/service/impl/CustomsDeclarationServiceImpl.java
  5. 8 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  6. 40 4
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/PreContainersServiceImpl.java
  7. 39 0
      blade-service/blade-los/src/main/java/org/springblade/los/excel/FeeCountByCorpCExcel.java
  8. 38 0
      blade-service/blade-los/src/main/java/org/springblade/los/excel/FeeCountByCorpDExcel.java
  9. 57 0
      blade-service/blade-los/src/main/java/org/springblade/los/excel/FeeCountByCorpExcel.java
  10. 20 1
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java
  11. 5 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.java
  12. 38 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.xml
  13. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/IFinAccBillsService.java
  14. 10 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java

+ 1 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/corps/entity/BCorps.java

@@ -437,7 +437,7 @@ public class BCorps implements Serializable {
 	 * PS(利润分成) 比例
 	 */
 	@ApiModelProperty(value = "PS(利润分成) 比例")
-	private BigDecimal psRate;
+	private String psRate;
 	/**
 	 * PS允许付大于收 0=否 1=是
 	 */

+ 12 - 9
blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/controller/BCorpsController.java

@@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
@@ -36,7 +35,6 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.basic.corps.entity.BCorps;
 import org.springblade.los.basic.corps.entity.BCorpsTypes;
@@ -44,10 +42,7 @@ import org.springblade.los.basic.corps.service.IBCorpsService;
 import org.springblade.los.basic.corps.service.IBCorpsTypesService;
 import org.springblade.los.basic.corps.vo.BCorpsVO;
 import org.springblade.los.basic.utils.ExtendedData;
-import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.excel.BCorpsExcel;
-import org.springblade.system.entity.Dept;
-import org.springblade.system.feign.ISysClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
@@ -277,11 +272,19 @@ public class BCorpsController extends BladeController {
 		}
 		lambdaQueryWrapper.orderByDesc(BCorps::getCreateTime);
 		List<BCorps> bCorpsList = bCorpsService.list(lambdaQueryWrapper);
-		List<User> userList = iUserClient.selectUserAll();
+		StringBuilder ids = new StringBuilder();
 		for (BCorps item : bCorpsList) {
-			List<User> users = userList.stream().filter(e -> item.getAdminProfiles().contains(e.getId() + "")).collect(Collectors.toList());
-			if (users.size() > 0) {
-				item.setAdminProfiles(userList.stream().map(User::getRealName).collect(Collectors.joining(",")));
+			if (ObjectUtils.isNotNull(item.getAdminProfiles())) {
+				ids.append(item.getAdminProfiles()).append(",");
+			}
+		}
+		List<User> userList = iUserClient.selectUserIds(ids.toString());
+		for (BCorps item : bCorpsList) {
+			if (ObjectUtils.isNotNull(item.getAdminProfiles())) {
+				List<User> users = userList.stream().filter(e -> item.getAdminProfiles().contains(e.getId() + "")).collect(Collectors.toList());
+				if (users.size() > 0) {
+					item.setAdminProfiles(userList.stream().map(User::getRealName).collect(Collectors.joining(",")));
+				}
 			}
 		}
 		ExcelUtil.export(response, "往来单位", "往来单位", BeanUtil.copy(bCorpsList, BCorpsExcel.class), BCorpsExcel.class);

+ 6 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java

@@ -719,7 +719,12 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 			.eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
 		auditProecessDTO.setTimes(1);
 		auditProecessDTO.setProcessType(processType);
-
+		if (feeCenterService.count(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getPid, declare.getId())) == 0) {
+			throw new RuntimeException("请维护费用信息");
+		}
 		// 没开启审批流直接走 通过流程
 		if (pathsActs == null || pathsActs.getIsEnable() == 2) {
 			throw new SecurityException("当前租户未查询到审批流配置");

+ 6 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/customsDeclaration/service/impl/CustomsDeclarationServiceImpl.java

@@ -342,7 +342,12 @@ public class CustomsDeclarationServiceImpl extends ServiceImpl<CustomsDeclaratio
 			.eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
 		auditProecessDTO.setTimes(1);
 		auditProecessDTO.setProcessType(processType);
-
+		if (feeCenterService.count(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getPid, declare.getId())) == 0) {
+			throw new RuntimeException("请维护费用信息");
+		}
 		// 没开启审批流直接走 通过流程
 		if (pathsActs == null || pathsActs.getIsEnable() == 2) {
 			throw new SecurityException("当前租户未查询到审批流配置");

+ 8 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -1087,6 +1087,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			.eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
 		auditProecessDTO.setTimes(1);
 		auditProecessDTO.setProcessType(processType);
+		if (feeCenterService.count(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getPid, declare.getId())) == 0) {
+			throw new RuntimeException("请维护费用信息");
+		}
 
 		// 没开启审批流直接走 通过流程
 		if (pathsActs == null || pathsActs.getIsEnable() == 2) {
@@ -1285,6 +1291,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			item.setBillNo("");
 			item.setHblno("");
 			item.setMblno("");
+			item.setSealNo("");
+			item.setCntrNo("");
 			item.setNetWeight(new BigDecimal("0.00"));
 			item.setGrossWeight(new BigDecimal("0.00"));
 			item.setMeasurement(new BigDecimal("0.00"));

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

@@ -43,6 +43,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -99,6 +100,11 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 				preContainers.setCreateDeptName(deptName);
 			}
 			teu += preContainers.getTeu().intValue();
+			if (bills != null) {
+				bills.setMeasurement(bills.getMeasurement().add(preContainers.getMeasurement()));
+				bills.setGrossWeight(bills.getGrossWeight().add(preContainers.getGrossWeight()));
+				bills.setQuantity(bills.getQuantity().add(preContainers.getNumber()));
+			}
 		} else {
 			PreContainers preContainers1 = baseMapper.selectById(preContainers.getId());
 			if (preContainers1.getTeu().compareTo(preContainers.getTeu()) >= 0) {
@@ -109,6 +115,11 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 			preContainers.setUpdateUser(AuthUtil.getUserId());
 			preContainers.setUpdateTime(new Date());
 			preContainers.setUpdateUserName(AuthUtil.getUserName());
+			if (bills != null) {
+				bills.setMeasurement(bills.getMeasurement().add(preContainers.getMeasurement()).subtract(preContainers1.getMeasurement()));
+				bills.setGrossWeight(bills.getGrossWeight().add(preContainers.getGrossWeight()).subtract(preContainers1.getGrossWeight()));
+				bills.setQuantity(bills.getQuantity().add(preContainers.getNumber()).subtract(preContainers1.getNumber()));
+			}
 		}
 		if (bills != null) {
 			bills.setCfsMeasurement(new BigDecimal("0.00"));
@@ -212,9 +223,10 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 			}
 		}
 		Bills bills = billsMapper.selectOne(new LambdaQueryWrapper<Bills>()
-			    .select(Bills::getId,Bills::getCfsMeasurement,Bills::getCfsGrossWeight,Bills::getCfsQuantity
-				,Bills::getUpdateUser,Bills::getUpdateTime,Bills::getUpdateUserName,Bills::getTeu)
-				.eq(Bills::getId,preContainersList.get(0).getPid()));
+			.select(Bills::getId, Bills::getCfsMeasurement, Bills::getCfsGrossWeight, Bills::getCfsQuantity
+				, Bills::getUpdateUser, Bills::getUpdateTime, Bills::getUpdateUserName, Bills::getTeu,Bills::getQuantity
+				,Bills::getMeasurement,Bills::getGrossWeight)
+			.eq(Bills::getId, preContainersList.get(0).getPid()));
 		if (bills != null) {
 			bills.setCfsMeasurement(new BigDecimal("0.00"));
 			bills.setCfsGrossWeight(new BigDecimal("0.00"));
@@ -223,11 +235,35 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 			bills.setUpdateTime(new Date());
 			bills.setUpdateUserName(AuthUtil.getUserName());
 			BigDecimal teu = new BigDecimal("0.00");
+			List<Long> ids = preContainersList.stream().map(PreContainers::getId).filter(Objects::nonNull).collect(Collectors.toList());
+			List<PreContainers> preContainersList1 = new ArrayList<>();
+			if (ObjectUtils.isNotNull(ids) && !ids.isEmpty()){
+				 preContainersList1 = baseMapper.selectList(new LambdaQueryWrapper<PreContainers>()
+					.in(PreContainers::getId,ids));
+			}
+			BigDecimal quantity= new BigDecimal("0.00");
+			BigDecimal grossWeight= new BigDecimal("0.00");
+			BigDecimal measurement= new BigDecimal("0.00");
 			for (PreContainers preContainers : preContainersList) {
-				if (ObjectUtils.isNotNull(preContainers.getQuantity()) && ObjectUtils.isNotNull(preContainers.getTeu())){
+				if (ObjectUtils.isNotNull(preContainers.getQuantity()) && ObjectUtils.isNotNull(preContainers.getTeu())) {
 					teu = teu.add(new BigDecimal(preContainers.getQuantity()).multiply(preContainers.getTeu()));
 				}
+				if (ObjectUtils.isNotNull(preContainers.getId()) && !preContainersList1.isEmpty()){
+					PreContainers preContainers1 = preContainersList1.stream().filter(e-> e.getId().equals(preContainers.getId())).findFirst().orElse(null);
+					if (preContainers1 != null){
+						measurement = measurement.add(preContainers.getMeasurement()).subtract(preContainers1.getMeasurement());
+						grossWeight = grossWeight.add(preContainers.getGrossWeight()).subtract(preContainers1.getGrossWeight());
+						quantity = quantity.add(preContainers.getNumber()).subtract(preContainers1.getNumber());
+					}
+				}else{
+					measurement = measurement.add(preContainers.getMeasurement());
+					grossWeight = grossWeight.add(preContainers.getGrossWeight());
+					quantity = quantity.add(preContainers.getNumber());
+				}
 			}
+			bills.setMeasurement((ObjectUtils.isNotNull(bills.getMeasurement()) ? bills.getMeasurement() : new BigDecimal("0.00")).add(measurement));
+			bills.setGrossWeight((ObjectUtils.isNotNull(bills.getGrossWeight()) ? bills.getGrossWeight() : new BigDecimal("0.00")).add(grossWeight));
+			bills.setQuantity((ObjectUtils.isNotNull(bills.getQuantity()) ? bills.getQuantity() : new BigDecimal("0.00")).add(quantity));
 			bills.setTeu(teu.intValue());
 			billsMapper.updateById(bills);
 		}

+ 39 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/FeeCountByCorpCExcel.java

@@ -0,0 +1,39 @@
+package org.springblade.los.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :jixinyuan
+ * @date : 2024/2/18
+ */
+@Data
+public class FeeCountByCorpCExcel {
+
+
+	@ExcelProperty(value = "客户名称")
+	private String corpCnName;
+	@ExcelProperty(value = "MB/L NO")
+	private String mblno;
+
+	@ExcelProperty(value = "应付金额USD")
+	private BigDecimal amountCr;
+
+	@ExcelProperty(value = "应付金额USD")
+	private BigDecimal amountCrUsd;
+
+	@ExcelProperty(value = "应付金额合计CNY")
+	private BigDecimal amountCrLoc;
+
+	@ExcelProperty(value = "已结算应付金额CNY")
+	private BigDecimal stlAmountCr;
+
+	@ExcelProperty(value = "已结算应付金额USD")
+	private BigDecimal stlAmountCrUsd;
+	@ExcelProperty(value = "已结算应付金额合计CNY")
+	private BigDecimal stlAmountCrLoc;
+
+
+}

+ 38 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/FeeCountByCorpDExcel.java

@@ -0,0 +1,38 @@
+package org.springblade.los.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :jixinyuan
+ * @date : 2024/2/18
+ */
+@Data
+public class FeeCountByCorpDExcel {
+
+
+	@ExcelProperty(value = "客户名称")
+	private String corpCnName;
+	@ExcelProperty(value = "MB/L NO")
+	private String mblno;
+	@ExcelProperty(value = "应收金额CNY")
+	private BigDecimal amountDr;
+
+	@ExcelProperty(value = "应收金额USD")
+	private BigDecimal amountDrUsd;
+
+	@ExcelProperty(value = "应收金额合计CNY")
+	private BigDecimal amountDrLoc;
+
+	@ExcelProperty(value = "已结算应收金额CNY")
+	private BigDecimal stlAmountDr;
+
+	@ExcelProperty(value = "已结算应收金额USD")
+	private BigDecimal stlAmountDrUsd;
+
+	@ExcelProperty(value = "已结算应收金额合计CNY")
+	private BigDecimal stlAmountDrLoc;
+
+}

+ 57 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/FeeCountByCorpExcel.java

@@ -0,0 +1,57 @@
+package org.springblade.los.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :jixinyuan
+ * @date : 2024/2/18
+ */
+@Data
+public class FeeCountByCorpExcel {
+
+
+	@ExcelProperty(value = "客户名称")
+	private String corpCnName;
+	@ExcelProperty(value = "MB/L NO")
+	private String mblno;
+
+	@ExcelProperty(value = "应付金额USD")
+	private BigDecimal amountCr;
+
+	@ExcelProperty(value = "应付金额USD")
+	private BigDecimal amountCrUsd;
+
+	@ExcelProperty(value = "应付金额合计CNY")
+	private BigDecimal amountCrLoc;
+
+	@ExcelProperty(value = "已结算应付金额CNY")
+	private BigDecimal stlAmountCr;
+
+	@ExcelProperty(value = "已结算应付金额USD")
+	private BigDecimal stlAmountCrUsd;
+	@ExcelProperty(value = "已结算应付金额合计CNY")
+	private BigDecimal stlAmountCrLoc;
+
+	@ExcelProperty(value = "应收金额CNY")
+	private BigDecimal amountDr;
+
+	@ExcelProperty(value = "应收金额USD")
+	private BigDecimal amountDrUsd;
+
+	@ExcelProperty(value = "应收金额合计CNY")
+	private BigDecimal amountDrLoc;
+
+	@ExcelProperty(value = "已结算应收金额CNY")
+	private BigDecimal stlAmountDr;
+
+	@ExcelProperty(value = "已结算应收金额USD")
+	private BigDecimal stlAmountDrUsd;
+
+	@ExcelProperty(value = "已结算应收金额合计CNY")
+	private BigDecimal stlAmountDrLoc;
+
+
+}

+ 20 - 1
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java

@@ -25,14 +25,20 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.los.basic.corps.entity.BCorps;
 import org.springblade.los.basic.corps.service.IBCorpsService;
 import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.los.excel.BCorpsExcel;
+import org.springblade.los.excel.FeeCountByCorpCExcel;
+import org.springblade.los.excel.FeeCountByCorpDExcel;
+import org.springblade.los.excel.FeeCountByCorpExcel;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.finance.fee.entity.ListAccBillVO;
@@ -42,6 +48,7 @@ import org.springblade.los.finance.fee.vo.FinAccBillsVO;
 import org.springblade.los.finance.stl.entity.FinStlBillsItems;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -442,7 +449,7 @@ public class FinAccBillsController extends BladeController {
 				finAccBillsVOList.add(item);
 			}
 		}
-		if (finAccBillsVOList.size() > 0) {
+		if (!finAccBillsVOList.isEmpty()) {
 			List<Long> ids = finAccBillsVOList.stream().map(FinAccBillsVO::getCorpId).distinct().collect(Collectors.toList());
 			bCorpsList = bCorpsService.list(new LambdaQueryWrapper<BCorps>()
 				.eq(BCorps::getTenantId, AuthUtil.getTenantId())
@@ -464,5 +471,17 @@ public class FinAccBillsController extends BladeController {
 		return R.data(mapList);
 	}
 
+	@GetMapping("/listFeeCountByCorpExport")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "类别", notes = "传入finAccBills")
+	public void listFeeCountByCorpExport(String dc,Long corpId, HttpServletResponse response) {
+		List<FeeCountByCorpExcel> mapList = finAccBillsService.listFeeCountByCorpExport(dc,corpId);
+		if ("D".equals(dc)){
+			ExcelUtil.export(response, "客户应收明细", "客户应收明细", BeanUtil.copy(mapList, FeeCountByCorpDExcel.class), FeeCountByCorpDExcel.class);
+		}else if ("C".equals(dc)){
+			ExcelUtil.export(response, "客户应付明细", "客户应付明细", BeanUtil.copy(mapList, FeeCountByCorpCExcel.class), FeeCountByCorpCExcel.class);
+		}
+	}
+
 
 }

+ 5 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.java

@@ -19,6 +19,7 @@ package org.springblade.los.finance.fee.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
+import org.springblade.los.excel.FeeCountByCorpExcel;
 import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.finance.fee.vo.FinAccBillsVO;
 
@@ -45,4 +46,8 @@ public interface FinAccBillsMapper extends BaseMapper<FinAccBills> {
 	List<Map<String, Object>> listFeeCountByCorp(@Param("dc") String dc, @Param("tenantId") String tenantId,
 												 @Param("deptPid") Long deptPid, @Param("postId") String postId
 		, @Param("corpId") Long corpId);
+
+	List<FeeCountByCorpExcel> listFeeCountByCorpExport(@Param("dc") String dc, @Param("tenantId") String tenantId,
+													   @Param("deptPid") Long deptPid, @Param("postId") String postId
+		, @Param("corpId") Long corpId);
 }

+ 38 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.xml

@@ -134,5 +134,43 @@
         GROUP BY
             mblno
     </select>
+    <select id="listFeeCountByCorpExport" resultType="org.springblade.los.excel.FeeCountByCorpExcel">
+        SELECT
+        corp_cn_name as corpCnName,
+        mblno as mblno,
+        SUM( amount_dr ) as amountDr,
+        SUM( amount_cr ) as amountCr,
+        SUM( amount_dr_usd ) as amountDrUsd,
+        SUM( amount_cr_usd ) as amountCrUsd,
+        SUM( amount_dr_loc ) as amountDrLoc,
+        SUM( amount_cr_loc ) as amountCrLoc,
+        SUM( stl_amount_dr ) as stlAmountDr,
+        SUM( stl_amount_cr ) as stlAmountCr,
+        SUM( stl_amount_dr_usd ) as stlAmountDrUsd,
+        SUM( stl_amount_cr_usd ) as stlAmountCrUsd,
+        SUM( stl_amount_cr_loc ) as stlAmountCrLoc,
+        SUM( stl_amount_dr_loc ) as stlAmountDrLoc
+        FROM
+        `los_fin_acc_bills`
+        WHERE
+        is_deleted = '0'
+        <if test='tenantId != null and tenantId != ""'>
+            and tenant_id = #{tenantId}
+        </if>
+        <if test='dc != null and dc != ""'>
+            and account_dc = #{dc}
+        </if>
+        <if test='deptPid != null'>
+            and branch_id = #{deptPid}
+        </if>
+        <if test='postId != null and postId != ""'>
+            and team_id = #{postId}
+        </if>
+        <if test='corpId != null'>
+            and corp_id = #{corpId}
+        </if>
+        GROUP BY
+        mblno
+    </select>
 
 </mapper>

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/IFinAccBillsService.java

@@ -17,6 +17,7 @@
 package org.springblade.los.finance.fee.service;
 
 import org.springblade.core.tool.api.R;
+import org.springblade.los.excel.FeeCountByCorpExcel;
 import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.finance.fee.entity.ListAccBillVO;
 import org.springblade.los.finance.fee.vo.FinAccBillsVO;
@@ -79,4 +80,6 @@ public interface IFinAccBillsService extends IService<FinAccBills> {
 	FinAccBillsVO listByAccBillId(ListAccBillVO finAccBills);
 
     List<Map<String, Object>> listFeeCountByCorp(String dc,Long corpId);
+
+	List<FeeCountByCorpExcel> listFeeCountByCorpExport(String dc, Long corpId);
 }

+ 10 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java

@@ -31,6 +31,7 @@ import org.springblade.los.billno.entity.BusinessBillNo;
 import org.springblade.los.billno.service.IBusinessBillNoService;
 import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.business.sea.mapper.BillsMapper;
+import org.springblade.los.excel.FeeCountByCorpExcel;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.finance.fee.entity.ListAccBillVO;
@@ -465,6 +466,15 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 
 	}
 
+	@Override
+	public List<FeeCountByCorpExcel> listFeeCountByCorpExport(String dc, Long corpId) {
+		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
+			return baseMapper.listFeeCountByCorpExport(dc, AuthUtil.getTenantId(), deptUtils.getDeptPid(), AuthUtil.getPostId(), corpId);
+		} else {
+			return baseMapper.listFeeCountByCorpExport(dc, AuthUtil.getTenantId(), null, null, corpId);
+		}
+	}
+
 	private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
 		Set<Object> seen = ConcurrentHashMap.newKeySet();
 		return t -> seen.add(keyExtractor.apply(t));