Browse Source

2023年10月26日17:35:12

纪新园 2 years ago
parent
commit
d75e61fa38
15 changed files with 188 additions and 48 deletions
  1. 8 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FeeCenter.java
  2. 2 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/vo/OrderStatistics.java
  3. 17 0
      blade-service/blade-los/src/main/java/org/springblade/los/basic/cur/service/IBCurrencyService.java
  4. 45 1
      blade-service/blade-los/src/main/java/org/springblade/los/basic/cur/service/impl/BCurrencyServiceImpl.java
  5. 0 12
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java
  6. 1 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/ContainersBillsMapper.java
  7. 5 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/ContainersBillsMapper.xml
  8. 3 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IContainersBillsService.java
  9. 37 6
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  10. 4 2
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/ContainersBillsServiceImpl.java
  11. 9 2
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/PreContainersServiceImpl.java
  12. 42 7
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java
  13. 8 3
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java
  14. 0 4
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.xml
  15. 7 8
      blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java

+ 8 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FeeCenter.java

@@ -23,6 +23,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -104,6 +106,7 @@ public class FeeCenter implements Serializable {
 	 * 主表 id
 	 */
 	@ApiModelProperty(value = "主表 id")
+	@NotBlank(message = "主表 id不能为空")
 	private Long pid;
 	/**
 	 * 行号 基于pid 1...
@@ -114,6 +117,7 @@ public class FeeCenter implements Serializable {
 	 * 单据编号
 	 */
 	@ApiModelProperty(value = "单据编号")
+	@NotEmpty(message = "单据编号不能为空")
 	private String billNo;
 	/**
 	 * 单据日期
@@ -168,6 +172,7 @@ public class FeeCenter implements Serializable {
 	 * 客户 id
 	 */
 	@ApiModelProperty(value = "客户 id")
+	@NotBlank(message = "客户 id不能为空")
 	private Long corpId;
 	/**
 	 * 客户中文名称
@@ -263,6 +268,7 @@ public class FeeCenter implements Serializable {
 	 * 装货港 id
 	 */
 	@ApiModelProperty(value = "装货港 id")
+	@NotBlank(message = "装货港 id不能为空")
 	private Long polId;
 	/**
 	 * 装货港代码
@@ -283,6 +289,7 @@ public class FeeCenter implements Serializable {
 	 * 卸货港 id
 	 */
 	@ApiModelProperty(value = "卸货港 id")
+	@NotBlank(message = "卸货港 id不能为空")
 	private Long podId;
 	/**
 	 * 卸货港代码
@@ -303,6 +310,7 @@ public class FeeCenter implements Serializable {
 	 * 费用 Id
 	 */
 	@ApiModelProperty(value = "费用 Id")
+	@NotBlank(message = "费用 id不能为空")
 	private Long feeId;
 	/**
 	 * 费用编号

+ 2 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/vo/OrderStatistics.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.salesPart.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
@@ -43,6 +44,7 @@ public class OrderStatistics implements Serializable {
 	/**
 	 * 客户id
 	 */
+	@ExcelIgnore
 	private Long customerId;
 	/**
 	 * 客户名称

+ 17 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/cur/service/IBCurrencyService.java

@@ -23,6 +23,7 @@ import org.springblade.los.basic.cur.vo.BCurrencyVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -62,4 +63,20 @@ public interface IBCurrencyService extends IService<BCurrency> {
 	 * @return
 	 */
 	R<List<BCurrency>> importBCurrency(List<BCurrencyExcel> excelList);
+
+	/**
+	 * 非本币(美金)汇率转换美金
+	 * @param curCode 币别
+	 * @param amount 金额
+	 * @return 结果
+	 */
+	BigDecimal converter(String curCode, BigDecimal amount);
+
+	/**
+	 * 非本币金额汇率转换本币
+	 * @param curCode 币别
+	 * @param amount 金额
+	 * @return 结果
+	 */
+	BigDecimal converterCny(String curCode, BigDecimal amount);
 }

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

@@ -25,17 +25,19 @@ import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.los.excel.BCurrencyExcel;
 import org.springblade.los.basic.cur.entity.BCurExrate;
 import org.springblade.los.basic.cur.entity.BCurrency;
 import org.springblade.los.basic.cur.mapper.CurrencyMapper;
 import org.springblade.los.basic.cur.service.IBCurExrateService;
 import org.springblade.los.basic.cur.service.IBCurrencyService;
 import org.springblade.los.basic.cur.vo.BCurrencyVO;
+import org.springblade.los.excel.BCurrencyExcel;
 import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -159,4 +161,46 @@ public class BCurrencyServiceImpl extends ServiceImpl<CurrencyMapper, BCurrency>
 		return R.data(bCurrencyList);
 	}
 
+	@Override
+	public BigDecimal converter(String curCode, BigDecimal amount) {
+		BigDecimal USD = new BigDecimal("0.00");
+		BCurrency bCurrency = baseMapper.selectOne(new LambdaQueryWrapper<BCurrency>()
+			.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
+			.eq(BCurrency::getIsDeleted, 0)
+			.eq(BCurrency::getCode, curCode));
+		if (ObjectUtils.isNotNull(bCurrency) && ObjectUtils.isNotNull(bCurrency.getExrate()) &&
+			new BigDecimal("0.00").compareTo(bCurrency.getExrate()) != 0) {
+			BigDecimal CNY = amount.multiply(bCurrency.getExrate());
+			BCurrency bCurrencyUsd = baseMapper.selectOne(new LambdaQueryWrapper<BCurrency>()
+				.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
+				.eq(BCurrency::getIsDeleted, 0)
+				.eq(BCurrency::getCode, "USD"));
+			if (ObjectUtils.isNotNull(bCurrencyUsd) && ObjectUtils.isNotNull(bCurrencyUsd.getExrate()) &&
+				new BigDecimal("0.00").compareTo(bCurrencyUsd.getExrate()) != 0) {
+				USD = CNY.divide(bCurrencyUsd.getExrate(), RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
+			} else {
+				throw new RuntimeException("未找到币别汇率信息");
+			}
+		} else {
+			throw new RuntimeException("未找到币别汇率信息");
+		}
+		return USD;
+	}
+
+	@Override
+	public BigDecimal converterCny(String curCode, BigDecimal amount) {
+		BigDecimal CNY = new BigDecimal("0.00");
+		BCurrency bCurrency = baseMapper.selectOne(new LambdaQueryWrapper<BCurrency>()
+			.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
+			.eq(BCurrency::getIsDeleted, 0)
+			.eq(BCurrency::getCode, curCode));
+		if (ObjectUtils.isNotNull(bCurrency) && ObjectUtils.isNotNull(bCurrency.getExrate()) &&
+			new BigDecimal("0.00").compareTo(bCurrency.getExrate()) != 0) {
+			 CNY = amount.multiply(bCurrency.getExrate());
+		} else {
+			throw new RuntimeException("未找到币别汇率信息");
+		}
+		return CNY;
+	}
+
 }

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

@@ -238,16 +238,4 @@ public class BillsController extends BladeController {
 		return billsService.getBillNo(bills);
 	}
 
-
-	/**
-	 * 详情
-	 */
-	@GetMapping("/getBillsFees")
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "详情", notes = "传入bills")
-	public R<Bills> getBillsFees(Bills bills) {
-		Bills detail = billsService.detail(bills);
-		return R.data(detail);
-	}
-
 }

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/ContainersBillsMapper.java

@@ -40,5 +40,5 @@ public interface ContainersBillsMapper extends BaseMapper<ContainersBills> {
 	 */
 	List<ContainersBillsVO> selectContainersBillsPage(IPage page, ContainersBillsVO containersBills);
 
-	void removeByPid(@Param("pid") Long pid,@Param("type") String type);
+	void removeByPid(@Param("ids")List<Long> ids);
 }

+ 5 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/ContainersBillsMapper.xml

@@ -51,7 +51,11 @@
         <result column="remarks" property="remarks"/>
     </resultMap>
     <update id="removeByPid">
-        update los_sea_containers_bills set is_deleted = '1' where pp_id = #{pid} and cntr_type_code = #{type}
+        update los_sea_containers_bills set is_deleted = '1'
+        where pid in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
     </update>
 
 

+ 3 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IContainersBillsService.java

@@ -21,6 +21,8 @@ import org.springblade.los.business.sea.vo.ContainersBillsVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 业务-海运进出口配箱-箱号装箱业务明细 服务类
  *
@@ -42,5 +44,5 @@ public interface IContainersBillsService extends IService<ContainersBills> {
 	 *
 	 * @param pid
 	 */
-    void removeByPid(Long pid,String type);
+    void removeByPid(List<Long> ids);
 }

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

@@ -22,11 +22,11 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
-import org.springblade.client.feign.ISerialClient;
 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.cur.service.IBCurrencyService;
 import org.springblade.los.billno.entity.BusinessBillNo;
 import org.springblade.los.billno.service.IBusinessBillNoService;
 import org.springblade.los.business.files.entity.FilesCenter;
@@ -75,10 +75,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 
 	private final IBusinessBillNoService businessBillNoService;
 
-	/**
-	 * 生成系统编号
-	 */
-	private ISerialClient serialClient;
+	private final IBCurrencyService bCurrencyService;
+
 
 	@Override
 	public IPage<BillsVO> selectBillsPage(IPage<BillsVO> page, BillsVO bills) {
@@ -183,6 +181,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					amountCrUsd = amountDrUsd.add(item.getAmount());
 				} else if ("CNY".equals(item.getCurCode())) {
 					amountCr = amountDrUsd.add(item.getAmount());
+				} else {
+					BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount());
+					amountCrUsd = amountCrUsd.add(usd);
 				}
 			}
 		}
@@ -192,6 +193,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					amountDrUsd = amountDrUsd.add(item.getAmount());
 				} else if ("CNY".equals(item.getCurCode())) {
 					amountDrUsd = amountDrUsd.add(item.getAmount());
+				} else {
+					BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount());
+					amountDrUsd = amountCrUsd.add(usd);
 				}
 			}
 		}
@@ -214,6 +218,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		//利润 = 收 - 付
 		amountProfit = amountDr.subtract(amountCr);
 		amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
+
+		amountDrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountDrUsd));
+		amountCrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountCrUsd));
 		amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
 
 		bills.setAmountDr(amountDr);
@@ -266,6 +273,10 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		if ("DD".equals(detail.getBillType())) {
 			WaitingBox waitingBox = new WaitingBox();
 			BeanUtil.copyProperties(detail, waitingBox);
+			waitingBox.setQuantity(detail.getCfsQuantity());
+			waitingBox.setGrossWeight(detail.getCfsGrossWeight());
+			waitingBox.setNetWeight(detail.getNetWeight());
+			waitingBox.setMeasurement(detail.getCfsMeasurement());
 			waitingBoxList.add(waitingBox);
 		} else if ("MM".equals(detail.getBillType())) {
 			List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
@@ -273,7 +284,15 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				.eq(Bills::getIsDeleted, 0)
 				.eq(Bills::getMasterId, detail.getId())
 				.eq(Bills::getMasterBillNo, detail.getBillNo()));
-			waitingBoxList = BeanUtil.copy(billsList, WaitingBox.class);
+			for (Bills item : billsList) {
+				WaitingBox waitingBox = new WaitingBox();
+				BeanUtil.copyProperties(item, waitingBox);
+				waitingBox.setQuantity(detail.getCfsQuantity());
+				waitingBox.setGrossWeight(detail.getCfsGrossWeight());
+				waitingBox.setNetWeight(detail.getNetWeight());
+				waitingBox.setMeasurement(detail.getCfsMeasurement());
+				waitingBoxList.add(waitingBox);
+			}
 		}
 		detail.setWaitingBoxList(waitingBoxList);
 		detail.setFeeCenterListC(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
@@ -345,11 +364,23 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		Bills bills = baseMapper.selectById(id);
 		List<Long> idArr = Func.toLongList(ids);
 		if (idArr.size() > 0 && bills != null) {
+			if (ObjectUtils.isNull(bills.getMblno())) {
+				throw new RuntimeException("主单提单号不能为空,操作失败");
+			}
+			if (ObjectUtils.isNull(bills.getPodId())) {
+				throw new RuntimeException("卸货港不能为空,操作失败");
+			}
+			if (ObjectUtils.isNull(bills.getPolId())) {
+				throw new RuntimeException("装货港不能为空,操作失败");
+			}
 			List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
 				.eq(Bills::getTenantId, AuthUtil.getTenantId())
 				.eq(Bills::getIsDeleted, 0)
 				.in(Bills::getId, idArr));
 			for (Bills item : billsList) {
+				if (ObjectUtils.isNull(item.getMblno())) {
+					throw new RuntimeException(item.getBillNo() + "分单提单号不能为空,操作失败");
+				}
 				item.setMasterId(bills.getId());
 				item.setMasterBillNo(bills.getBillNo());
 				item.setUpdateTime(new Date());

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

@@ -24,6 +24,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 业务-海运进出口配箱-箱号装箱业务明细 服务实现类
  *
@@ -39,8 +41,8 @@ public class ContainersBillsServiceImpl extends ServiceImpl<ContainersBillsMappe
 	}
 
 	@Override
-	public void removeByPid(Long pid,String type) {
-		baseMapper.removeByPid(pid,type);
+	public void removeByPid(List<Long> ids) {
+		baseMapper.removeByPid(ids);
 	}
 
 }

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

@@ -105,8 +105,15 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
 			bills.setUpdateUserName(AuthUtil.getUserName());
 			billsMapper.updateById(bills);
 		}
-		containersService.removeByPid(preContainers.getPid(),preContainers.getCntrTypeCode());
-//		containersBillsService.removeByPid(preContainers.getPid(),preContainers.getCntrTypeCode());
+		List<Containers> removeContainersList = containersService.list(new LambdaQueryWrapper<Containers>()
+			.eq(Containers::getTenantId, AuthUtil.getTenantId())
+			.eq(Containers::getIsDeleted, 0)
+			.eq(Containers::getPid, preContainers.getPid()));
+		containersService.removeByPid(preContainers.getPid(), preContainers.getCntrTypeCode());
+		if (removeContainersList.size() > 0) {
+			List<Long> ids = removeContainersList.stream().map(Containers::getId).collect(Collectors.toList());
+			containersBillsService.removeByPid(ids);
+		}
 		//生成海运进出口配箱-箱号装箱
 		List<Containers> containersList = new ArrayList<>();
 		for (int i = 0; i < preContainers.getQuantity(); i++) {

+ 42 - 7
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java

@@ -16,23 +16,29 @@
  */
 package org.springblade.los.finance.fee.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
-import javax.validation.Valid;
-
+import org.springblade.core.boot.ctrl.BladeController;
 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.Func;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.finance.fee.entity.FeeCenter;
-import org.springblade.los.finance.fee.vo.FeeCenterVO;
 import org.springblade.los.finance.fee.service.IFeeCenterService;
-import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.los.finance.fee.vo.FeeCenterVO;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 物流-费用中心-所有业务费用集中在该表中 控制器
@@ -60,6 +66,35 @@ public class FeeCenterController extends BladeController {
 	}
 
 	/**
+	 * 详情
+	 */
+	@GetMapping("/detailList")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "费用详情列表", notes = "传入bills")
+	public R<Map<String, List<FeeCenter>>> detailList(Bills bills) {
+		Map<String, List<FeeCenter>> map = new HashMap<>();
+		List<FeeCenter> feeCenterListC = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getBillType, bills.getBillType())
+			.eq(FeeCenter::getPid, bills.getId())
+			.eq(FeeCenter::getDc, "C")
+			.eq(FeeCenter::getBillNo, bills.getBillNo())
+		);
+		List<FeeCenter> feeCenterListD = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getBillType, bills.getBillType())
+			.eq(FeeCenter::getPid, bills.getId())
+			.eq(FeeCenter::getDc, "D")
+			.eq(FeeCenter::getBillNo, bills.getBillNo())
+		);
+		map.put("feeCenterListC", feeCenterListC);
+		map.put("feeCenterListD", feeCenterListD);
+		return R.data(map);
+	}
+
+	/**
 	 * 分页 物流-费用中心-所有业务费用集中在该表中
 	 */
 	@GetMapping("/list")

+ 8 - 3
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -786,7 +786,11 @@ public class OrderController extends BladeController {
 		}
 		order.setTenantId(AuthUtil.getTenantId());
 		List<PjOrderStatisticsExcel> list = orderService.statisticsExport(order);
-		ExcelUtil.export(response, "利润统计", "利润统计", list, PjOrderStatisticsExcel.class);
+		if (0 == order.getType()) {
+			ExcelUtil.export(response, "应收总账", "应收总账", list, PjOrderStatisticsExcel.class);
+		} else {
+			ExcelUtil.export(response, "应付总账", "应付总账", list, PjOrderStatisticsExcel.class);
+		}
 	}
 
 	/**
@@ -806,9 +810,10 @@ public class OrderController extends BladeController {
 			.like(ObjectUtils.isNotEmpty(order.getSrcOrdNo()), PjOrder::getSrcOrdNo, order.getSrcOrdNo())
 			.like(ObjectUtils.isNotEmpty(order.getOrdNo()), PjOrder::getOrdNo, order.getOrdNo());
 		if (order.getBusinesDateList() != null && order.getBusinesDateList().size() > 1) {
-			lambdaQueryWrapper.ge(PjOrder::getBusinesDate, order.getBusinesDateList().get(0));
-			lambdaQueryWrapper.le(PjOrder::getBusinesDate, order.getBusinesDateList().get(1));
+			lambdaQueryWrapper.ge(ObjectUtils.isNotNull(order.getBusinesDateList().get(0)), PjOrder::getBusinesDate, order.getBusinesDateList().get(0));
+			lambdaQueryWrapper.le(ObjectUtils.isNotNull(order.getBusinesDateList().get(1)), PjOrder::getBusinesDate, order.getBusinesDateList().get(1));
 		}
+		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) ) OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
 		lambdaQueryWrapper.orderByDesc(PjOrder::getCreateTime);
 		List<PjOrder> pages = orderService.list(lambdaQueryWrapper);
 		if ("1".equals(order.getExportType())) {

+ 0 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.xml

@@ -76,7 +76,6 @@
          po.is_deleted = 0
         AND po.tenant_id = #{order.tenantId}
         AND po.bs_type = 'XS'
-        AND po.business_source ='内部销售'
         and FIND_IN_SET(po.`status`,'待确认,待发货,已发货,退款请核')
         <if test="order.salesCompanyId!=null">
             and po.sales_company_id = #{order.salesCompanyId}
@@ -100,7 +99,6 @@
          po.is_deleted = 0
         AND po.tenant_id = #{order.tenantId}
         AND po.bs_type = 'XS'
-        AND po.business_source ='内部销售'
         and FIND_IN_SET(po.`status`,'待确认,待发货,已发货,退款请核')
         <if test="order.salesCompanyId!=null">
             and po.sales_company_id = #{order.salesCompanyId}
@@ -203,7 +201,6 @@
         po.is_deleted = 0
         AND po.tenant_id = #{order.tenantId}
         AND po.bs_type = 'XS'
-        AND po.business_source ='内部销售'
         and FIND_IN_SET(po.`status`,'待确认,待发货,已发货,退款请核')
         <if test="order.salesCompanyId!=null">
             and po.sales_company_id = #{order.salesCompanyId}
@@ -224,7 +221,6 @@
         po.is_deleted = 0
         AND po.tenant_id = #{order.tenantId}
         AND po.bs_type = 'XS'
-        AND po.business_source ='内部销售'
         and FIND_IN_SET(po.`status`,'待确认,待发货,已发货,退款请核')
         <if test="order.salesCompanyId!=null">
             and po.sales_company_id = #{order.salesCompanyId}

+ 7 - 8
blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java

@@ -18,7 +18,6 @@ package org.springblade.system.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.*;
@@ -33,7 +32,6 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
-import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
@@ -47,10 +45,8 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
 
@@ -118,12 +114,15 @@ public class DeptController extends BladeController {
 	@GetMapping("/top-list")
 	@PreAuth(AuthConstant.PERMIT_ALL)
 	public R<List<DeptVO>> topList(Dept dept) {
-		List<Dept> list = deptService.list(new LambdaQueryWrapper<Dept>()
-			.eq(ObjectUtil.isNotEmpty(dept.getDeptCategory()), Dept::getDeptCategory, dept.getDeptCategory())
+		LambdaQueryWrapper<Dept> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(ObjectUtil.isNotEmpty(dept.getDeptCategory()), Dept::getDeptCategory, dept.getDeptCategory())
 			.eq(Dept::getParentId, 0)
 			.eq(Dept::getTenantId, AuthUtil.getTenantId())
-			.eq(Dept::getIsDeleted, 0)
-		);
+			.eq(Dept::getIsDeleted, 0);
+		if ("792368".equals(AuthUtil.getTenantId())) {
+			lambdaQueryWrapper.apply("find_in_set(id,'" + AuthUtil.getDeptId() + "')");
+		}
+		List<Dept> list = deptService.list(lambdaQueryWrapper);
 		return R.data(DeptWrapper.build().listNodeVO(list));
 	}