Browse Source

2022年11月14日18:33:01

纪新园 3 years ago
parent
commit
1320ad669e

+ 26 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IContainerDescClient.java

@@ -0,0 +1,26 @@
+package org.springblade.client.feign;
+
+import org.springblade.common.constant.LauncherConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(
+	value = LauncherConstant.APPLICATION_CLIENT_NAME
+)
+/**
+ * 箱管理信息
+ */
+public interface IContainerDescClient {
+	String API_PREFIX = "/client";
+	String GET_CONTAINER_DESC_LIST = API_PREFIX + "/getContainerDescList";
+
+	/**
+	 * 获取箱信息
+	 *
+	 * @return
+	 */
+	@GetMapping(GET_CONTAINER_DESC_LIST)
+	R getContainerDescList();
+
+}

+ 33 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/feign/ContainerDescClient.java

@@ -0,0 +1,33 @@
+package org.springblade.client.container.feign;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.AllArgsConstructor;
+import org.springblade.client.container.service.BasicContainerDescService;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.feign.IContainerDescClient;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.List;
+
+@NonDS
+@ApiIgnore()
+@RestController
+@AllArgsConstructor
+public class ContainerDescClient implements IContainerDescClient {
+	@Autowired
+	private BasicContainerDescService basicContainerDescService;
+
+	@Override
+	public R getContainerDescList() {
+		LambdaQueryWrapper<BasicContainerDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(BasicContainerDesc::getIsDeleted,0)
+			.eq(BasicContainerDesc::getTenantId, AuthUtil.getTenantId());
+		List<BasicContainerDesc> basicContainerDescList = basicContainerDescService.list(lambdaQueryWrapper);
+		return R.data(basicContainerDescList);
+	}
+}

+ 11 - 6
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescPartsController.java

@@ -83,9 +83,14 @@ public class CorpsDescPartsController extends BladeController {
 				//已收账款
 				corpsDescDto1.setSettlmentAmount(orderList.stream().map(Order::getSettlmentAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 				//预(收)付款
-				BigDecimal creditGrant = new BigDecimal("0.00");
-				creditGrant = corpsDescDto1.getCreditGrant().subtract(orderList.stream().map(Order::getAdvancePayment).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-				corpsDescDto1.setAdvancePayment(creditGrant);
+				BigDecimal creditGrant;
+				if (ObjectUtils.isNotNull(corpsDescDto1.getCreditGrant())){
+					creditGrant = corpsDescDto1.getCreditGrant().subtract(orderList.stream().map(Order::getAdvancePayment).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+					corpsDescDto1.setAdvancePayment(creditGrant);
+				}else{
+					//预(收)付款
+					corpsDescDto1.setAdvancePayment(new BigDecimal(0));
+				}
 			} else {
 				//未收账款
 				corpsDescDto1.setBalanceAmount(new BigDecimal(0));
@@ -231,7 +236,7 @@ public class CorpsDescPartsController extends BladeController {
 		if (unsales > 0){
 			lossRate = lossRate.add(new BigDecimal(unsales).divide(new BigDecimal(corpsDescList.size()),MathContext.DECIMAL32));
 		}
-		Order order = new Order();
+		/*Order order = new Order();
 		order.setBillType("XS");
 		order.setTradeType("YPJ");
 		List<Order> orderList = orderDescClient.getByBillNo(order);
@@ -239,12 +244,12 @@ public class CorpsDescPartsController extends BladeController {
 		//平均客单产值
 		if(orderList.size() != 0){
 			averageAmount = averageAmount.add(new BigDecimal(corpsDescList.size()/orderList.size(),MathContext.DECIMAL32));
-		}
+		}*/
 
 		map.put("sumNumber", corpsDescList.size());
 		map.put("coreCorp", coreCorp);
 		map.put("lossRate", lossRate);
-		map.put("averageAmount", averageAmount);
+//		map.put("averageAmount", averageAmount);
 		return R.data(map);
 	}
 

+ 2 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.java

@@ -316,4 +316,6 @@ public interface OrderMapper extends BaseMapper<Order> {
 	Map<String, BigDecimal> turnoverAnalysis(@Param("tenantId") String tenantId,@Param("type") String type, @Param("statusDate") String statusDate, @Param("endDate") String endDate,@Param("billType")String billType);
 
 	int corpAnalysis(@Param("order")Order order);
+
+	List<Order> turnoverAnalysisList(String tenantId, String type, String statusDate, String endDate, String billType);
 }

+ 30 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml

@@ -2976,6 +2976,36 @@ ORDER BY
             AND busines_date between date_sub(now(),interval 6 month) and now();
         </if>
     </select>
+    <select id="turnoverAnalysisList" resultType="org.springblade.purchase.sales.entity.Order">
+        SELECT
+        *
+        FROM
+        business_order
+        where
+            is_deleted = 0
+        AND trade_type = 'YPJ'
+        <if test="billType != null and billType != ''">
+            AND bill_type = #{billType}
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+            AND tenant_id = #{tenantId}
+        </if>
+        <if test="type != null and type != '' and type == 1">
+            AND TO_DAYS(busines_date)=TO_DAYS(NOW())
+        </if>
+        <if test="type != null and type != '' and type == 2">
+            AND YEARWEEK(DATE_FORMAT(busines_date,'%Y-%m-%d'))=YEARWEEK(NOW())
+        </if>
+        <if test="type != null and type != '' and type == 3">
+            AND DATE_FORMAT(busines_date,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')
+        </if>
+        <if test="statusDate != null and statusDate != ''">
+            and DATE_FORMAT(busines_date,'%Y-%m-%d') &gt;= DATE_FORMAT(#{statusDate},'%Y-%m-%d')
+        </if>
+        <if test="endDate != null and endDate != ''">
+            and DATE_FORMAT(busines_date,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate},'%Y-%m-%d')
+        </if>
+    </select>
     <update id="updateStockGoods" parameterType="org.springblade.stock.entity.StockGoods">
         UPDATE business_stock_goods SET surplus_route_quantity = #{surplusRouteQuantity},locking_quantity = #{lockingQuantity} WHERE tenant_id = #{tenantId} AND id = #{id} AND is_deleted = 0
     </update>

+ 10 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java

@@ -438,6 +438,8 @@ public class AppPartsController extends BladeController {
 		BigDecimal profit = new BigDecimal("0.00");
 		//成本
 		BigDecimal cost = new BigDecimal("0.00");
+		//平均客单价
+		BigDecimal averageAmount = new BigDecimal("0.00");
 		Map<String, BigDecimal> mapXS = orderService.turnoverAnalysis("XS", null, statusDate, endDate);
 
 		Map<String, BigDecimal> mapCG = orderService.turnoverAnalysis("CG", null, statusDate, endDate);
@@ -450,10 +452,18 @@ public class AppPartsController extends BladeController {
 
 		profit = profit.add(mapXS.get("income").subtract(cost));
 
+		Order order = new Order();
+		order.setBillType("XS");
+		order.setTradeType("YPJ");
+		List<Order> orderList = orderService.turnoverAnalysisList("XS", null, statusDate, endDate);
+		if (orderList.size()>0 && !income.equals(new BigDecimal("0.00"))){
+			averageAmount = averageAmount.add(income.divide(new BigDecimal(orderList.size()),MathContext.DECIMAL32).setScale(2,BigDecimal.ROUND_HALF_UP));
+		}
 		map.put("income", income);
 		map.put("expenditure", expenditure);
 		map.put("profit", profit);
 		map.put("cost", cost);
+		map.put("averageAmount", averageAmount);
 		return R.data(map);
 	}
 }

+ 2 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/IOrderService.java

@@ -381,4 +381,6 @@ public interface IOrderService extends IService<Order> {
 	Map<String, BigDecimal> turnoverAnalysis(String billType,String type, String statusDate, String endDate);
 
 	int corpAnalysis(Order order);
+
+	List<Order> turnoverAnalysisList(String billType,String type, String statusDate, String endDate);
 }

+ 5 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -2390,6 +2390,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	@Override
+	public List<Order> turnoverAnalysisList(String billType,String type, String statusDate, String endDate) {
+		return baseMapper.turnoverAnalysisList(AuthUtil.getTenantId(),type,statusDate,endDate,billType);
+	}
+
+	@Override
 	public MonthSales monthSales(OrderVO order) {
 		MonthSales monthSales = new MonthSales();
 		if (AuthUtil.getTenantId().equals("673511")) {