Browse Source

2023年11月23日17:31:11

纪新园 2 years ago
parent
commit
c71a6d103b
15 changed files with 510 additions and 104 deletions
  1. 3 2
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IIntegralDetailClient.java
  2. 57 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/dto/StayDoOrder.java
  3. 8 8
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java
  4. 1 1
      blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditProecessController.java
  5. 4 4
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java
  6. 34 34
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java
  7. 39 38
      blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java
  8. 5 3
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/IntegralClient.java
  9. 1 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/controller/AuditProecessController.java
  10. 4 7
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java
  11. 8 5
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java
  12. 3 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java
  13. 46 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/controller/StatisticsController.java
  14. 45 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/IStatisticsService.java
  15. 252 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/impl/StatisticsServiceImpl.java

+ 3 - 2
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IIntegralClient.java → blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IIntegralDetailClient.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.ApiParam;
 import org.springblade.common.constant.LauncherConstant;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.purchase.sales.entity.IntegralDetail;
 import org.springblade.purchase.sales.entity.OrderItems;
@@ -20,7 +21,7 @@ import java.util.Map;
 @FeignClient(
 	value = LauncherConstant.APPLICATION_PURCHASE_SALES_NAME
 )
-public interface IIntegralClient {
+public interface IIntegralDetailClient {
 	String API_PREFIX = "/integralDetail";
 	String SAVE = API_PREFIX + "/add";
 	String SELECT_PAGE = API_PREFIX + "/selectPage";
@@ -29,5 +30,5 @@ public interface IIntegralClient {
 	R submit(@RequestBody IntegralDetail integralDetail);
 
 	@GetMapping(SELECT_PAGE)
-	R<IPage<IntegralDetail>> slectPage(IPage<IntegralDetail> page, LambdaQueryWrapper<IntegralDetail> lambdaQueryWrapper);
+	R<IPage<IntegralDetail>> slectPage(@RequestParam("query") Query query, @RequestParam("lambdaQueryWrapper")LambdaQueryWrapper<IntegralDetail> lambdaQueryWrapper);
 }

+ 57 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/dto/StayDoOrder.java

@@ -0,0 +1,57 @@
+package org.springblade.salesPart.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author :jixinyuan
+ * @date : 2023/11/23
+ */
+@Data
+public class StayDoOrder {
+	/**
+	 * 业务id
+	 */
+	private Long id;
+	/**
+	 * 订单号
+	 */
+	private String orderNo;
+	/**
+	 * 客户名称
+	 */
+	private String corpName;
+	/**
+	 * 订单日期
+	 */
+	private Date date;
+	/**
+	 * 订单状态
+	 */
+	private String status;
+	/**
+	 * 支付状态
+	 */
+	private String payStatus;
+	/**
+	 * 业务员
+	 */
+	private String salesman;
+
+	/**
+	 * 业务类型
+	 */
+	private String type;
+
+	/**
+	 * 时间检索
+	 */
+	private List<String> dateList;
+	/**
+	 * 排序
+	 */
+	private Integer sort;
+
+}

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

@@ -109,12 +109,12 @@ public class BillsController extends BladeController {
 				.like(Bills::getSrcEnName, bills.getSrcCnName()))
 			.apply(ObjectUtils.isNotNull(bills.getCreateDeptName()), "find_in_set('" + bills.getCreateDeptName() + "',create_dept_name)");
 		if (ObjectUtils.isNotNull(bills.getEtdList()) && bills.getEtdList().size() > 0) {
-			lambdaQueryWrapper.lt(Bills::getEtd, bills.getEtdList().get(0));
-			lambdaQueryWrapper.gt(Bills::getEtd, bills.getEtdList().get(1));
+			lambdaQueryWrapper.gt(Bills::getEtd, bills.getEtdList().get(0));
+			lambdaQueryWrapper.lt(Bills::getEtd, bills.getEtdList().get(1));
 		}
 		if (ObjectUtils.isNotNull(bills.getEtaList()) && bills.getEtaList().size() > 0) {
-			lambdaQueryWrapper.lt(Bills::getEta, bills.getEtaList().get(0));
-			lambdaQueryWrapper.gt(Bills::getEta, bills.getEtaList().get(1));
+			lambdaQueryWrapper.gt(Bills::getEta, bills.getEtaList().get(0));
+			lambdaQueryWrapper.lt(Bills::getEta, bills.getEtaList().get(1));
 		}
 		lambdaQueryWrapper.and(ObjectUtils.isNotNull(bills.getBookingAgentCnName()), i -> i.like(Bills::getBookingAgentCnName, bills.getBookingAgentCnName()).or()
 			.like(Bills::getBookingAgentEnName, bills.getBookingAgentCnName()))
@@ -162,12 +162,12 @@ public class BillsController extends BladeController {
 				.like(Bills::getSrcEnName, bills.getSrcCnName()))
 			.apply(ObjectUtils.isNotNull(bills.getCreateDeptName()), "find_in_set('" + bills.getCreateDeptName() + "',create_dept_name)");
 		if (ObjectUtils.isNotNull(bills.getEtdList()) && bills.getEtdList().size() > 0) {
-			lambdaQueryWrapper.lt(Bills::getEtd, bills.getEtdList().get(0));
-			lambdaQueryWrapper.gt(Bills::getEtd, bills.getEtdList().get(1));
+			lambdaQueryWrapper.gt(Bills::getEtd, bills.getEtdList().get(0));
+			lambdaQueryWrapper.lt(Bills::getEtd, bills.getEtdList().get(1));
 		}
 		if (ObjectUtils.isNotNull(bills.getEtaList()) && bills.getEtaList().size() > 0) {
-			lambdaQueryWrapper.lt(Bills::getEta, bills.getEtaList().get(0));
-			lambdaQueryWrapper.gt(Bills::getEta, bills.getEtaList().get(1));
+			lambdaQueryWrapper.gt(Bills::getEta, bills.getEtaList().get(0));
+			lambdaQueryWrapper.lt(Bills::getEta, bills.getEtaList().get(1));
 		}
 		lambdaQueryWrapper.and(ObjectUtils.isNotNull(bills.getBookingAgentCnName()), i -> i.like(Bills::getBookingAgentCnName, bills.getBookingAgentCnName()).or()
 			.like(Bills::getBookingAgentEnName, bills.getBookingAgentCnName()))

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditProecessController.java

@@ -87,7 +87,7 @@ public class AuditProecessController extends BladeController {
 		lambdaQueryWrapper.orderByDesc(LosAuditProecess::getSendTime);
 		if (ObjectUtils.isNotNull(auditProecess.getBillTimeList())) {
 			lambdaQueryWrapper.gt(LosAuditProecess::getBillTime, auditProecess.getBillTimeList().get(0));
-			lambdaQueryWrapper.le(LosAuditProecess::getBillTime, auditProecess.getBillTimeList().get(1));
+			lambdaQueryWrapper.lt(LosAuditProecess::getBillTime, auditProecess.getBillTimeList().get(1));
 		}
 		lambdaQueryWrapper.ne(StringUtils.isBlank(auditProecess.getAuditStatus()), LosAuditProecess::getAuditStatus, "N");
 		if (!AuthUtil.getUserRole().contains("admin")) {

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

@@ -117,12 +117,12 @@ public class FeeCenterController extends BladeController {
 			.like(ObjectUtils.isNotNull(feeCenter.getMblno()), FeeCenter::getMblno, feeCenter.getMblno())
 			.like(ObjectUtils.isNotNull(feeCenter.getHblno()), FeeCenter::getHblno, feeCenter.getHblno());
 		if (ObjectUtils.isNotNull(feeCenter.getEtdList()) && feeCenter.getEtdList().size() > 0) {
-			lambdaQueryWrapper.lt(FeeCenter::getEtd, feeCenter.getEtdList().get(0));
-			lambdaQueryWrapper.gt(FeeCenter::getEtd, feeCenter.getEtdList().get(1));
+			lambdaQueryWrapper.gt(FeeCenter::getEtd, feeCenter.getEtdList().get(0));
+			lambdaQueryWrapper.lt(FeeCenter::getEtd, feeCenter.getEtdList().get(1));
 		}
 		if (ObjectUtils.isNotNull(feeCenter.getEtaList()) && feeCenter.getEtaList().size() > 0) {
-			lambdaQueryWrapper.lt(FeeCenter::getEta, feeCenter.getEtaList().get(0));
-			lambdaQueryWrapper.gt(FeeCenter::getEta, feeCenter.getEtaList().get(1));
+			lambdaQueryWrapper.gt(FeeCenter::getEta, feeCenter.getEtaList().get(0));
+			lambdaQueryWrapper.lt(FeeCenter::getEta, feeCenter.getEtaList().get(1));
 		}
 		lambdaQueryWrapper.orderByDesc(FeeCenter::getCreateTime);
 		IPage<FeeCenter> pages = feeCenterService.page(Condition.getPage(query), Condition.getQueryWrapper(feeCenter));

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

@@ -105,36 +105,36 @@ public class FinAccBillsController extends BladeController {
 			.like(ObjectUtils.isNotNull(finAccBills.getBookingNo()), FinAccBills::getAccountDc, finAccBills.getAccountDc());
 
 		if (ObjectUtils.isNotNull(finAccBills.getAccountDateList()) && finAccBills.getAccountDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getBusinessDateList()) && finAccBills.getBusinessDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getBusinessDivideDateList()) && finAccBills.getBusinessDivideDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getEtdList()) && finAccBills.getEtdList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getEtd, finAccBills.getEtdList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getEtd, finAccBills.getEtdList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getEtd, finAccBills.getEtdList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getEtd, finAccBills.getEtdList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getEtaList()) && finAccBills.getEtaList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getEta, finAccBills.getEtaList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getEta, finAccBills.getEtaList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getEta, finAccBills.getEtaList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getEta, finAccBills.getEtaList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getStlDateList()) && finAccBills.getStlDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getInvoiceDateList()) && finAccBills.getInvoiceDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getVoucherDateList()) && finAccBills.getVoucherDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
 		}
 		lambdaQueryWrapper.orderByDesc(FinAccBills::getCreateTime);
 		IPage<FinAccBills> pages = finAccBillsService.page(Condition.getPage(query), Condition.getQueryWrapper(finAccBills));
@@ -253,40 +253,40 @@ public class FinAccBillsController extends BladeController {
 			.like(ObjectUtils.isNotNull(finAccBills.getBookingNo()), FinAccBills::getAccountDc, finAccBills.getAccountDc());
 
 		if (ObjectUtils.isNotNull(finAccBills.getAccountDateList()) && finAccBills.getAccountDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getBusinessDateList()) && finAccBills.getBusinessDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getApprovedDateList()) && finAccBills.getApprovedDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getApprovedDate, finAccBills.getApprovedDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getApprovedDate, finAccBills.getApprovedDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getApprovedDate, finAccBills.getApprovedDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getApprovedDate, finAccBills.getApprovedDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getBusinessDivideDateList()) && finAccBills.getBusinessDivideDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getEtdList()) && finAccBills.getEtdList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getEtd, finAccBills.getEtdList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getEtd, finAccBills.getEtdList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getEtd, finAccBills.getEtdList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getEtd, finAccBills.getEtdList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getEtaList()) && finAccBills.getEtaList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getEta, finAccBills.getEtaList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getEta, finAccBills.getEtaList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getEta, finAccBills.getEtaList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getEta, finAccBills.getEtaList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getStlDateList()) && finAccBills.getStlDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getStlDate, finAccBills.getStlDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getInvoiceDateList()) && finAccBills.getInvoiceDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(1));
 		}
 		if (ObjectUtils.isNotNull(finAccBills.getVoucherDateList()) && finAccBills.getVoucherDateList().size() > 0) {
-			lambdaQueryWrapper.lt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(0));
-			lambdaQueryWrapper.gt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
+			lambdaQueryWrapper.gt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(0));
+			lambdaQueryWrapper.lt(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
 		}
 		lambdaQueryWrapper.orderByDesc(FinAccBills::getCreateTime);
 		List<FinAccBills> pages = finAccBillsService.list(Condition.getQueryWrapper(finAccBills));

+ 39 - 38
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java

@@ -166,7 +166,46 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finStlBills.setUpdateTime(new Date());
 			finStlBills.setUpdateUserName(AuthUtil.getUserName());
 		}
+		this.saveOrUpdate(finStlBills);
 		if (ObjectUtils.isNotNull(finStlBills.getFinStlBillsItemsList())) {
+			for (FinStlBillsItems item : finStlBills.getFinStlBillsItemsList()) {
+				//计算字段null值处理
+				item.setCurrentStlAmount(ObjectUtils.isNotNull(item.getCurrentStlAmount()) ? item.getCurrentStlAmount() : new BigDecimal("0.00"));
+				item.setAmount(ObjectUtils.isNotNull(item.getAmount()) ? item.getAmount() : new BigDecimal("0.00"));
+
+				item.setPid(finStlBills.getId());
+				//判断是否是本位币
+				if ("CNY".equals(item.getCurrentStlCurCode())) {
+					item.setCurrentStlAmountLoc(item.getCurrentStlAmount());
+				} else {
+					item.setCurrentStlAmountLoc(bCurrencyService.converterCny(item.getCurrentStlCurCode(), item.getCurrentStlAmount()));
+				}
+				// 去税金额 = 本次结算金额currentStlAmount - 税额amountTax
+				BigDecimal amountNet = new BigDecimal("0.00");
+				// 税额 = 本次结算金额currentStlAmount / 总金额 * 总税额amountTax
+				BigDecimal amountTax = new BigDecimal("0.00");
+				// 税额
+				amountTax = amountTax.add(item.getCurrentStlAmount().divide(item.getAmount(), 2, RoundingMode.HALF_UP)
+					.multiply(item.getAmountTax()));
+				amountNet = amountNet.add(item.getCurrentStlAmount().subtract(amountTax));
+				item.setCurrentStlAmountTax(amountTax);
+				item.setCurrentStlAmountNet(amountNet);
+				if (item.getId() == null) {
+					item.setCreateTime(new Date());
+					item.setCreateUser(AuthUtil.getUserId());
+					item.setCreateUserName(AuthUtil.getUserName());
+					if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
+						item.setCreateDept(deptId);
+						item.setBranchId(deptId);
+						item.setCreateDeptName(deptName);
+					}
+				} else {
+					item.setUpdateUser(AuthUtil.getUserId());
+					item.setUpdateTime(new Date());
+					item.setUpdateUserName(AuthUtil.getUserName());
+				}
+			}
+			finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
 			BigDecimal amountDrCNY = new BigDecimal("0.00");
 			BigDecimal amountCrCNY = new BigDecimal("0.00");
 			BigDecimal amountDrUSD = new BigDecimal("0.00");
@@ -212,44 +251,6 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finStlBills.setAmountCrLoc(amountCrCNY.add(bCurrencyService.converterCny("USD", amountCrUSD)));
 			finStlBills.setAmountDrLocNet(amountDrCNYTax.add(bCurrencyService.converterCny("USD", amountDrUSDTax)));
 			finStlBills.setAmountCrLocNet(amountCrCNYTax.add(bCurrencyService.converterCny("USD", amountCrUSDTax)));
-			for (FinStlBillsItems item : finStlBills.getFinStlBillsItemsList()) {
-				//计算字段null值处理
-				item.setCurrentStlAmount(ObjectUtils.isNotNull(item.getCurrentStlAmount()) ? item.getCurrentStlAmount() : new BigDecimal("0.00"));
-				item.setAmount(ObjectUtils.isNotNull(item.getAmount()) ? item.getAmount() : new BigDecimal("0.00"));
-
-				item.setPid(finStlBills.getId());
-				//判断是否是本位币
-				if ("CNY".equals(item.getCurrentStlCurCode())) {
-					item.setCurrentStlAmountLoc(item.getCurrentStlAmount());
-				} else {
-					item.setCurrentStlAmountLoc(bCurrencyService.converterCny(item.getCurrentStlCurCode(), item.getCurrentStlAmount()));
-				}
-				// 去税金额 = 本次结算金额currentStlAmount - 税额amountTax
-				BigDecimal amountNet = new BigDecimal("0.00");
-				// 税额 = 本次结算金额currentStlAmount / 总金额 * 总税额amountTax
-				BigDecimal amountTax = new BigDecimal("0.00");
-				// 税额
-				amountTax = amountTax.add(item.getCurrentStlAmount().divide(item.getAmount(), 2, RoundingMode.HALF_UP)
-					.multiply(item.getAmountTax()));
-				amountNet = amountNet.add(item.getCurrentStlAmount().subtract(amountTax));
-				item.setCurrentStlAmountTax(amountTax);
-				item.setCurrentStlAmountNet(amountNet);
-				if (item.getId() == null) {
-					item.setCreateTime(new Date());
-					item.setCreateUser(AuthUtil.getUserId());
-					item.setCreateUserName(AuthUtil.getUserName());
-					if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
-						item.setCreateDept(deptId);
-						item.setBranchId(deptId);
-						item.setCreateDeptName(deptName);
-					}
-				} else {
-					item.setUpdateUser(AuthUtil.getUserId());
-					item.setUpdateTime(new Date());
-					item.setUpdateUserName(AuthUtil.getUserName());
-				}
-			}
-			finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
 		}
 		this.saveOrUpdate(finStlBills);
 		return R.data(finStlBills);

+ 5 - 3
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/IntegralClient.java

@@ -3,6 +3,8 @@ package org.springblade.purchase.sales.feign;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.purchase.sales.entity.IntegralDetail;
@@ -14,7 +16,7 @@ import springfox.documentation.annotations.ApiIgnore;
 @ApiIgnore()
 @RestController
 @AllArgsConstructor
-public class IntegralClient implements IIntegralClient {
+public class IntegralClient implements IIntegralDetailClient {
 
 	private IIntegralDetailService integralDetailService;
 
@@ -25,7 +27,7 @@ public class IntegralClient implements IIntegralClient {
 	}
 
 	@Override
-	public R<IPage<IntegralDetail>> slectPage(IPage<IntegralDetail> page, LambdaQueryWrapper<IntegralDetail> lambdaQueryWrapper) {
-		return R.data(integralDetailService.page(page,lambdaQueryWrapper));
+	public R<IPage<IntegralDetail>> slectPage(Query query, LambdaQueryWrapper<IntegralDetail> lambdaQueryWrapper) {
+		return R.data(integralDetailService.page(Condition.getPage(query),lambdaQueryWrapper));
 	}
 }

+ 1 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/controller/AuditProecessController.java

@@ -95,7 +95,7 @@ public class AuditProecessController extends BladeController {
 		lambdaQueryWrapper.orderByDesc(PjAuditProecess::getSendTime);
 		if (ObjectUtils.isNotNull(auditProecess.getBillTimeList())){
 			lambdaQueryWrapper.gt( PjAuditProecess::getBillTime, auditProecess.getBillTimeList().get(0));
-			lambdaQueryWrapper.le( PjAuditProecess::getBillTime, auditProecess.getBillTimeList().get(1));
+			lambdaQueryWrapper.lt( PjAuditProecess::getBillTime, auditProecess.getBillTimeList().get(1));
 		}
 		lambdaQueryWrapper.ne(StringUtils.isBlank(auditProecess.getAuditStatus()), PjAuditProecess::getAuditStatus, "N");
 		if (!AuthUtil.getUserRole().contains("admin")) {

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

@@ -26,8 +26,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
-import org.springblade.client.entity.CorpsAttn;
-import org.springblade.client.entity.CorpsDesc;
 import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
@@ -39,8 +37,7 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.purchase.sales.entity.IntegralDetail;
-import org.springblade.purchase.sales.entity.Order;
-import org.springblade.purchase.sales.feign.IIntegralClient;
+import org.springblade.purchase.sales.feign.IIntegralDetailClient;
 import org.springblade.salesPart.brand.service.IBrandFilesService;
 import org.springblade.salesPart.corps.service.ICorpsAttnService;
 import org.springblade.salesPart.corps.service.ICorpsDescService;
@@ -91,7 +88,7 @@ public class OrderController extends BladeController {
 	private final IGoodsFilesService goodsFilesService;
 	private final IBrandFilesService brandFilesService;
 	private final ISysClient sysClient;
-	private final IIntegralClient iIntegralClient;
+	private final IIntegralDetailClient iIntegralDetailClient;
 
 	/**
 	 * 销售详情
@@ -905,7 +902,7 @@ public class OrderController extends BladeController {
 		lambdaQueryWrapper.eq(IntegralDetail::getCorpId, corpId)
 			.eq(IntegralDetail::getType, "积分兑换")
 			.ne(IntegralDetail::getIntegral, 0);
-		return iIntegralClient.slectPage(Condition.getPage(query), lambdaQueryWrapper);
+		return iIntegralDetailClient.slectPage(query, lambdaQueryWrapper);
 	}
 
 	/**
@@ -948,7 +945,7 @@ public class OrderController extends BladeController {
 		lambdaQueryWrapper.eq(IntegralDetail::getCorpId, corpId)
 			.apply("find_in_set(type,'购买获取,退款退货')")
 			.ne(IntegralDetail::getIntegral, 0);
-		return iIntegralClient.slectPage(Condition.getPage(query), lambdaQueryWrapper);
+		return iIntegralDetailClient.slectPage(query, lambdaQueryWrapper);
 	}
 
 	/**

+ 8 - 5
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -36,7 +36,7 @@ import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.pay.tonglianPayment.entity.WechatMark;
 import org.springblade.pay.tonglianPayment.fegin.IPaymentClient;
 import org.springblade.purchase.sales.entity.IntegralDetail;
-import org.springblade.purchase.sales.feign.IIntegralClient;
+import org.springblade.purchase.sales.feign.IIntegralDetailClient;
 import org.springblade.salesPart.brand.service.IBrandFilesService;
 import org.springblade.salesPart.check.dto.PjAuditProecessDTO;
 import org.springblade.salesPart.check.entity.PjAuditPathsActs;
@@ -120,7 +120,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 	private final ISettlementItemsService settlementItemsService;
 	private final SettlementMapper settlementMapper;
 	private final IPaymentClient paymentClient;
-	private final IIntegralClient iIntegralClient;
+	private final IIntegralDetailClient iIntegralDetailClient;
 	//消息
 	private final IMessageClient messageClient;
 	/**
@@ -412,7 +412,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			if (goodsId.length() > 0) {
 				integralDetail.setGoodsId(goodsId.substring(0, goodsId.length() - 1));
 			}
-			iIntegralClient.submit(integralDetail);
+			iIntegralDetailClient.submit(integralDetail);
 		}
 		if (reference != null) {
 			corpsDescMapper.updateById(reference);
@@ -547,7 +547,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			if (goodsIds.length() > 0) {
 				integralDetail.setGoodsId(goodsIds.substring(0, goodsIds.length() - 1));
 			}
-			iIntegralClient.submit(integralDetail);
+			iIntegralDetailClient.submit(integralDetail);
 		}
 		corpsDescMapper.updateById(corpsDesc);
 		baseMapper.updateById(order);
@@ -916,6 +916,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 						}
 						PjStockDesc stockDesc = stockDescService.getOne(lambdaQueryWrapper);
 						if (ObjectUtil.isNotEmpty(stockDesc)) {
+							if (item.getGoodsNum().compareTo(stockDesc.getBalanceQuantity()) > 0) {
+								throw new RuntimeException("库存不足,保存失败");
+							}
 							item.setCostprie(item.getGoodsNum().multiply(stockDesc.getInventoryCostPrice()));
 						} else {
 							throw new RuntimeException("未查到库存信息 原因: 仓库、产品批次号 是否正确,请核对!!!");
@@ -1791,7 +1794,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			if (goodsId.length() > 0) {
 				integralDetail.setGoodsId(goodsId.substring(0, goodsId.length() - 1));
 			}
-			iIntegralClient.submit(integralDetail);
+			iIntegralDetailClient.submit(integralDetail);
 		} else {
 			order.setStatus("待确认");
 		}

+ 3 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java

@@ -96,7 +96,6 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 	private final ISysClient sysClient;
 	private final IStockDescService iStockDescService;
 	private final GoodsDescMapper goodsDescMapper;
-	private final CorpsDescMapper corpsDescMapper;
 	private final GoodsTypeMapper goodsTypeMapper;
 	private final IProductLaunchService productLaunchService;
 	private final HistoryMapper historyMapper;
@@ -1587,6 +1586,9 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 
 				PjStockDesc stockOneC = iStockDescService.getOne(lambdaQueryWrapperC);
 				if (ObjectUtil.isNotEmpty(stockOneC)) {
+					if (orderItems.getGoodsNum().compareTo(stockOneC.getBalanceQuantity()) > 0) {
+						throw new RuntimeException("库存不足,保存失败");
+					}
 					stockOneC.setBalanceQuantity(stockOneC.getBalanceQuantity().subtract(orderItems.getGoodsNum()));
 					stockOneC.setStoreInventory(stockOneC.getBalanceQuantity());
 					stockOneC.setInventoryAmount(stockOneC.getInventoryAmount().subtract(orderItems.getGoodsNum()

+ 46 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/controller/StatisticsController.java

@@ -0,0 +1,46 @@
+package org.springblade.salesPart.statistics.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.salesPart.dto.StayDoOrder;
+import org.springblade.salesPart.entity.PjOrder;
+import org.springblade.salesPart.statistics.service.IStatisticsService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :jixinyuan
+ * @date : 2023/11/23
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/statistics")
+@Api(value = "首页统计", tags = "首页统计接口")
+public class StatisticsController {
+
+	private IStatisticsService statisticsService;
+
+	/**
+	 * 首页金额统计
+	 */
+	@GetMapping("/amountStatistics")
+	public R<Map<String, Object>> amountStatistics() {
+		return statisticsService.amountStatistics();
+	}
+
+
+	/**
+	 * 首页待办订单
+	 */
+	@PostMapping("/stayDoOrder")
+	public R<List<StayDoOrder>> stayDoOrder( @RequestBody StayDoOrder stayDoOrder) {
+		return statisticsService.stayDoOrder(stayDoOrder);
+	}
+
+}

+ 45 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/IStatisticsService.java

@@ -0,0 +1,45 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.salesPart.statistics.service;
+
+import org.springblade.core.tool.api.R;
+import org.springblade.salesPart.dto.StayDoOrder;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 首页统计 服务类
+ *
+ * @author BladeX
+ * @since 2023-04-21
+ */
+public interface IStatisticsService {
+
+
+	/**
+	 * 首页金额统计
+	 * @return
+	 */
+	R<Map<String, Object>> amountStatistics();
+
+	/**
+	 * 首页待办订单
+	 * @return
+	 */
+	R<List<StayDoOrder>> stayDoOrder(StayDoOrder stayDoOrder);
+}

+ 252 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/impl/StatisticsServiceImpl.java

@@ -0,0 +1,252 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.salesPart.statistics.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.salesPart.dto.StayDoOrder;
+import org.springblade.salesPart.entity.PjOrder;
+import org.springblade.salesPart.entity.PjOrderItems;
+import org.springblade.salesPart.entity.PjShip;
+import org.springblade.salesPart.order.service.IOrderItemsService;
+import org.springblade.salesPart.order.service.IOrderService;
+import org.springblade.salesPart.ship.service.IShipService;
+import org.springblade.salesPart.statistics.service.IStatisticsService;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 首页统计 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-04-21
+ */
+@Service
+@AllArgsConstructor
+public class StatisticsServiceImpl implements IStatisticsService {
+
+	private final IOrderService orderService;
+
+	private final IOrderItemsService orderItemsService;
+
+	private final IShipService shipService;
+
+	@Override
+	public R<Map<String, Object>> amountStatistics() {
+		Map<String, Object> map = new HashMap<>();
+		BigDecimal dealAmountD = new BigDecimal("0.00");
+		BigDecimal dealAmountM = new BigDecimal("0.00");
+		BigDecimal salesNumD = new BigDecimal("0.00");
+		BigDecimal salesNumM = new BigDecimal("0.00");
+		BigDecimal stlAmountD = new BigDecimal("0.00");
+		BigDecimal stlAmountM = new BigDecimal("0.00");
+		BigDecimal profitD = new BigDecimal("0.00");
+		BigDecimal profitM = new BigDecimal("0.00");
+		List<PjOrder> pjOrderListD = orderService.list(new LambdaQueryWrapper<PjOrder>()
+			.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrder::getIsDeleted, 0)
+			.eq(PjOrder::getBsType, "XS")
+			.apply("status = '已发货' and busines_date = CURDATE()"));
+		if (pjOrderListD.size() > 0) {
+			List<Long> orderIdsD = pjOrderListD.stream().map(PjOrder::getId).collect(Collectors.toList());
+			if (orderIdsD.size() > 0) {
+				List<PjOrderItems> pjOrderItemsListD = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
+					.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+					.eq(PjOrderItems::getIsDeleted, 0)
+					.in(PjOrderItems::getPid, orderIdsD));
+				if (pjOrderItemsListD.size() > 0) {
+					salesNumD = pjOrderItemsListD.stream().map(PjOrderItems::getSendNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+				}
+			}
+			dealAmountD = pjOrderListD.stream().map(PjOrder::getTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+			stlAmountD = pjOrderListD.stream().filter(e -> ObjectUtils.isNotNull(e.getOldTrxId())).map(PjOrder::getTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+			profitD = pjOrderListD.stream().map(PjOrder::getGrossProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+		}
+		List<PjOrder> pjOrderListM = orderService.list(new LambdaQueryWrapper<PjOrder>()
+			.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrder::getIsDeleted, 0)
+			.eq(PjOrder::getBsType, "XS")
+			.apply("status = '已发货' and DATE_FORMAT(busines_date, '%Y-%m') = DATE_FORMAT(CURRENT_DATE(), '%Y-%m')"));
+		if (pjOrderListM.size() > 0) {
+			List<Long> orderIdsM = pjOrderListD.stream().map(PjOrder::getId).collect(Collectors.toList());
+			if (orderIdsM.size() > 0) {
+				List<PjOrderItems> pjOrderItemsListM = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
+					.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+					.eq(PjOrderItems::getIsDeleted, 0)
+					.in(PjOrderItems::getPid, orderIdsM));
+				if (pjOrderItemsListM.size() > 0) {
+					salesNumM = pjOrderItemsListM.stream().map(PjOrderItems::getSendNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+				}
+			}
+			dealAmountM = pjOrderListM.stream().map(PjOrder::getTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+			stlAmountM = pjOrderListM.stream().filter(e -> ObjectUtils.isNotNull(e.getOldTrxId())).map(PjOrder::getTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+			profitM = pjOrderListM.stream().map(PjOrder::getGrossProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+		}
+		map.put("dealAmountD", dealAmountD);
+		map.put("dealAmountM", dealAmountM);
+		map.put("salesNumD", salesNumD);
+		map.put("salesNumM", salesNumM);
+		map.put("stlAmountD", stlAmountD);
+		map.put("stlAmountM", stlAmountM);
+		map.put("profitD", profitD);
+		map.put("profitM", profitM);
+		return R.data(map);
+	}
+
+	@Override
+	public R<List<StayDoOrder>> stayDoOrder(StayDoOrder quer) {
+		if (quer.getDateList() == null) {
+			quer.setDateList(new ArrayList<>());
+		}
+		List<StayDoOrder> stayDoOrderList = new ArrayList<>();
+		List<PjOrder> pjOrderList = orderService.list(new LambdaQueryWrapper<PjOrder>()
+			.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrder::getIsDeleted, 0)
+			.eq(PjOrder::getBsType, "XS")
+			.apply("find_in_set(status,'录入,待确认')")
+			.gt(quer.getDateList().size() > 0, PjOrder::getBusinesDate, quer.getDateList().get(0))
+			.lt(quer.getDateList().size() > 0, PjOrder::getBusinesDate, quer.getDateList().get(1)));
+		for (PjOrder item : pjOrderList) {
+			StayDoOrder stayDoOrder = new StayDoOrder();
+			stayDoOrder.setOrderNo(item.getOrdNo());
+			stayDoOrder.setId(item.getId());
+			stayDoOrder.setCorpName(item.getCustomerName());
+			stayDoOrder.setDate(item.getBusinesDate());
+			stayDoOrder.setStatus(item.getStatus());
+			stayDoOrder.setType(item.getBsType());
+			if (1 == item.getActualPaymentStatus()) {
+				stayDoOrder.setPayStatus("待收款");
+			} else if (2 == item.getActualPaymentStatus()) {
+				stayDoOrder.setPayStatus("已收款");
+			} else if (3 == item.getActualPaymentStatus()) {
+				stayDoOrder.setPayStatus("尾款");
+			} else {
+				stayDoOrder.setPayStatus("已退款");
+			}
+			stayDoOrder.setSalesman(item.getSalerName());
+			stayDoOrderList.add(stayDoOrder);
+		}
+		List<PjShip> pjShipListRW = shipService.list(new LambdaQueryWrapper<PjShip>()
+			.eq(PjShip::getTenantId, AuthUtil.getTenantId())
+			.eq(PjShip::getIsDeleted, 0)
+			.eq(PjShip::getBizTypeName, "FHRW")
+			.eq(PjShip::getStatusName, "待处理")
+			.gt(quer.getDateList().size() > 0, PjShip::getBusinesDate, quer.getDateList().get(0))
+			.lt(quer.getDateList().size() > 0, PjShip::getBusinesDate, quer.getDateList().get(1)));
+		List<PjShip> pjShipListGD = shipService.list(new LambdaQueryWrapper<PjShip>()
+			.eq(PjShip::getTenantId, AuthUtil.getTenantId())
+			.eq(PjShip::getIsDeleted, 0)
+			.eq(PjShip::getBizTypeName, "FHGD")
+			.eq(PjShip::getStatusName, "待出库")
+			.gt(quer.getDateList().size() > 0, PjShip::getBusinesDate, quer.getDateList().get(0))
+			.lt(quer.getDateList().size() > 0, PjShip::getBusinesDate, quer.getDateList().get(1)));
+		List<Long> ids = new ArrayList<>();
+		if (pjShipListRW.size() > 0) {
+			List<Long> pjShipListId = pjShipListRW.stream().map(PjShip::getOrdId).filter(Objects::nonNull).collect(Collectors.toList());
+			if (pjShipListId.size() > 0) {
+				ids.addAll(pjShipListId);
+			}
+		}
+		if (pjShipListGD.size() > 0) {
+			List<Long> pjShipListId = pjShipListGD.stream().map(PjShip::getOrdId).filter(Objects::nonNull).collect(Collectors.toList());
+			if (pjShipListId.size() > 0) {
+				ids.addAll(pjShipListId);
+			}
+		}
+		List<PjOrder> orderList = new ArrayList<>();
+		if (ids.size() > 0) {
+			orderList = orderService.list(new LambdaQueryWrapper<PjOrder>()
+				.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+				.eq(PjOrder::getIsDeleted, 0)
+				.in(PjOrder::getId, ids));
+		}
+		for (PjShip item : pjShipListRW) {
+			StayDoOrder stayDoOrder = new StayDoOrder();
+			stayDoOrder.setOrderNo(item.getOrdNo());
+			stayDoOrder.setId(item.getId());
+			stayDoOrder.setCorpName(item.getCustomerName());
+			stayDoOrder.setDate(item.getBusinesDate());
+			stayDoOrder.setStatus(item.getStatusName());
+			stayDoOrder.setType(item.getBizTypeName());
+			if (orderList.size() > 0) {
+				PjOrder pjOrder = orderList.stream().filter(e -> e.getId().equals(item.getOrdId())).findFirst().orElse(null);
+				if (pjOrder != null) {
+					if (1 == pjOrder.getActualPaymentStatus()) {
+						stayDoOrder.setPayStatus("待收款");
+					} else if (2 == pjOrder.getActualPaymentStatus()) {
+						stayDoOrder.setPayStatus("已收款");
+					} else if (3 == pjOrder.getActualPaymentStatus()) {
+						stayDoOrder.setPayStatus("尾款");
+					} else {
+						stayDoOrder.setPayStatus("已退款");
+					}
+					stayDoOrder.setSalesman(pjOrder.getSalerName());
+				}
+			}
+			stayDoOrderList.add(stayDoOrder);
+		}
+		for (PjShip item : pjShipListGD) {
+			StayDoOrder stayDoOrder = new StayDoOrder();
+			stayDoOrder.setOrderNo(item.getOrdNo());
+			stayDoOrder.setId(item.getId());
+			stayDoOrder.setCorpName(item.getCustomerName());
+			stayDoOrder.setDate(item.getBusinesDate());
+			stayDoOrder.setStatus(item.getStatusName());
+			stayDoOrder.setType(item.getBizTypeName());
+			if (orderList.size() > 0) {
+				PjOrder pjOrder = orderList.stream().filter(e -> e.getId().equals(item.getOrdId())).findFirst().orElse(null);
+				if (pjOrder != null) {
+					if (1 == pjOrder.getActualPaymentStatus()) {
+						stayDoOrder.setPayStatus("待收款");
+					} else if (2 == pjOrder.getActualPaymentStatus()) {
+						stayDoOrder.setPayStatus("已收款");
+					} else if (3 == pjOrder.getActualPaymentStatus()) {
+						stayDoOrder.setPayStatus("尾款");
+					} else {
+						stayDoOrder.setPayStatus("已退款");
+					}
+					stayDoOrder.setSalesman(pjOrder.getSalerName());
+				}
+			}
+			stayDoOrderList.add(stayDoOrder);
+		}
+		if (1 == quer.getSort()) {
+			Collections.sort(stayDoOrderList, new Comparator<StayDoOrder>() {
+				@Override
+				public int compare(StayDoOrder o1, StayDoOrder o2) {
+					// 从小到大
+					return o1.getDate().compareTo(o2.getDate());
+				}
+			});
+		} else {
+			Collections.sort(stayDoOrderList, new Comparator<StayDoOrder>() {
+				@Override
+				public int compare(StayDoOrder o1, StayDoOrder o2) {
+					// 从大到小
+					return o2.getDate().compareTo(o1.getDate());
+				}
+			});
+		}
+		return R.data(stayDoOrderList);
+	}
+}