lazhaoqian 3 年之前
父节点
当前提交
1cf6bd4a5f

+ 34 - 0
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/vo/CorpNumberVO.java

@@ -0,0 +1,34 @@
+package org.springblade.deliver.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 大屏 今日发货量统计
+ *
+ * @author BladeX
+ * @since 2021-09-26
+ */
+@Data
+public class CorpNumberVO implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 所属公司中文名
+	 */
+	@ApiModelProperty(value = "所属公司中文名")
+	private String belongToCorpName;
+	/**
+	 * 发货日期
+	 */
+	@ApiModelProperty(value = "今日发货")
+	private BigDecimal shipmentsNumber;
+	/**
+	 * 发货量
+	 */
+	@ApiModelProperty(value = "待发货")
+	private BigDecimal waitDeliver;
+}

+ 28 - 0
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/vo/DailyNumberVO.java

@@ -0,0 +1,28 @@
+package org.springblade.deliver.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 大屏 今日发货量统计
+ *
+ * @author BladeX
+ * @since 2021-09-26
+ */
+@Data
+public class DailyNumberVO implements Serializable {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 发货日期
+	 */
+	@ApiModelProperty(value = "今日发货")
+	private BigDecimal shipmentsNumber;
+	/**
+	 * 发货量
+	 */
+	@ApiModelProperty(value = "待发货")
+	private BigDecimal waitDeliver;
+}

+ 27 - 4
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/bigScreen/DeliverBigScreenController.java

@@ -1,14 +1,11 @@
 package org.springblade.deliver.goods.bigScreen;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.trade.purchase.order.enums.OrderTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 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.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.deliver.goods.service.IDeliveryItemsService;
@@ -47,5 +44,31 @@ public class DeliverBigScreenController extends BladeController {
 		delivery.setTradeType(OrderTypeEnum.DOMESTIC.getType());
 		return R.data(deliveryItemsService.dailyShipmentStatistics(delivery));
 	}
-
+	/**
+	 * 达沃特数字大屏今日发货数量
+	 */
+	/**
+	 * 达沃特数字大屏获取当月每天发货数量
+	 */
+	@GetMapping("/dailyNumber")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "达沃特数字大屏获取当月每天发货数量", notes = "传入delivery")
+	public R dailyNumber(DeliveryVO delivery) {
+		delivery.setTenantId(SecureUtil.getTenantId());
+		delivery.setBillType(OrderTypeEnum.RECEIPT.getType());
+		delivery.setTradeType(OrderTypeEnum.DOMESTIC.getType());
+		return R.data(deliveryItemsService.dailyNumber(delivery));
+	}
+	/**
+	 * 达沃特 按所属公司统计今日发货待发货数量
+	 */
+	@GetMapping("/corpNumber")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "达沃特数字大屏获取当月每天发货数量", notes = "传入delivery")
+	public R corpNumber(DeliveryVO delivery) {
+		delivery.setTenantId(SecureUtil.getTenantId());
+		delivery.setBillType(OrderTypeEnum.RECEIPT.getType());
+		delivery.setTradeType(OrderTypeEnum.DOMESTIC.getType());
+		return R.data(deliveryItemsService.corpNumber(delivery));
+	}
 }

+ 18 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/mapper/DeliveryItemsMapper.java

@@ -26,6 +26,8 @@ import org.springblade.deliver.goods.vo.ShipmentsVo;
 import org.springblade.purchase.sales.vo.ChargeMemberVo;
 import org.springframework.web.bind.annotation.PostMapping;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -73,5 +75,21 @@ public interface DeliveryItemsMapper extends BaseMapper<DeliveryItems> {
 	List<ShipmentsVo> dailyShipmentStatistics(@Param("tradeType")String tradeType,
 											  @Param("billType")String billType,
 											  @Param("tenantId")String tenantId);
+	/**
+	 *  获取发货数量
+	 * @param tradeType 贸易类型
+	 * @param billType 订单类型
+	 * @param tenantId 租户id
+	 * @param salesCompany 所属公司
+	 * @param businessDate 发货日期
+	 * @param deliveryStatus 单据状态
+	 * @return
+	 */
+	BigDecimal dailyNumber(@Param("tradeType")String tradeType,
+						   @Param("billType")String billType,
+						   @Param("tenantId")String tenantId,
+						   @Param("salesCompany")Long salesCompany,
+						   @Param("businessDate") Date businessDate,
+						   @Param("deliveryStatus") String deliveryStatus);
 
 }

+ 29 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/mapper/DeliveryItemsMapper.xml

@@ -110,4 +110,33 @@
         ON m.mark = n.mark
         ORDER BY m.mark
     </select>
+    <select id="dailyNumber" resultType="BigDecimal">
+        SELECT
+            IFNULL(SUM(di.actual_quantity),0) AS quantity
+        FROM
+        business_delivery_items di
+        LEFT JOIN business_delivery bd
+        ON di.pid = bd.id
+        WHERE
+        di.is_deleted = 0
+        AND bd.is_deleted = 0
+        <if test="tenantId!=null and tenantId != ''">
+            AND bd.tenant_id =  #{tenantId}
+        </if>
+        <if test="billType!=null and billType != ''">
+            AND bd.bill_type = #{billType}
+        </if>
+        <if test="tradeType!=null and tradeType != ''">
+            AND bd.trade_type = #{tradeType}
+        </if>
+        <if test="deliveryStatus!=null and deliveryStatus != ''">
+            AND bd.delivery_status = #{deliveryStatus}
+        </if>
+        <if test="salesCompany != null">
+            AND bd.sales_company = #{salesCompany}
+        </if>
+        <if test="businessDate != null">
+            AND TO_DAYS(bd.business_date) = TO_DAYS(NOW())
+        </if>
+    </select>
 </mapper>

+ 15 - 3
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/IDeliveryItemsService.java

@@ -18,11 +18,9 @@ package org.springblade.deliver.goods.service;
 
 import org.springblade.core.tool.api.R;
 import org.springblade.deliver.goods.entity.DeliveryItems;
-import org.springblade.deliver.goods.vo.DeliveryItemsVO;
+import org.springblade.deliver.goods.vo.*;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.deliver.goods.vo.DeliveryVO;
-import org.springblade.deliver.goods.vo.ShipmentsVo;
 
 import java.util.List;
 
@@ -63,4 +61,18 @@ public interface IDeliveryItemsService extends IService<DeliveryItems> {
 	 */
 	R affirmAllot(Long storageId, Long allotStorageId, List<DeliveryItems> list, int operate,String tradeType);
 
+	/**
+	 * 获取今日发货数量和待发货数量
+	 * @param delivery
+	 * @return
+	 */
+	DailyNumberVO dailyNumber(DeliveryVO delivery);
+
+	/**
+	 * 根据所属公司获取今日发货数量和待发货数量
+	 * @param delivery
+	 * @return
+	 */
+	List<CorpNumberVO> corpNumber(DeliveryVO delivery);
+
 }

+ 34 - 4
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -20,21 +20,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.trade.purchase.order.enums.OrderTypeEnum;
 import lombok.AllArgsConstructor;
+import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.vo.GoodsDescVO;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.entity.DeliveryItems;
 import org.springblade.deliver.goods.enums.DeliveryEnum;
 import org.springblade.deliver.goods.enums.DeliveryStatusEnum;
-import org.springblade.deliver.goods.vo.DeliveryItemsVO;
+import org.springblade.deliver.goods.vo.*;
 import org.springblade.deliver.goods.mapper.DeliveryItemsMapper;
 import org.springblade.deliver.goods.service.IDeliveryItemsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.deliver.goods.vo.DeliveryVO;
-import org.springblade.deliver.goods.vo.ShipmentsVo;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.mocha.entity.BusinessOverpaymentItem;
 import org.springblade.mocha.entity.BusinessPointsItem;
@@ -78,6 +77,8 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	private final IFinanceClient financeClient;
 	private final IBusinessPointsClient businessPointsClient;
 	private final IBusinessOverpaymentClient businessOverpaymentClient;
+	//获取客户信息
+	private final ICorpsDescClient corpsDescClient;
 	@Override
 	public IPage<DeliveryItemsVO> selectDeliveryItemsPage(IPage<DeliveryItemsVO> page, DeliveryItemsVO deliveryItems) {
 		return page.setRecords(baseMapper.selectDeliveryItemsPage(page, deliveryItems));
@@ -791,4 +792,33 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		}
 		return R.success("操作成功");
 	}
+
+	@Override
+	public DailyNumberVO dailyNumber(DeliveryVO delivery) {
+		DailyNumberVO dailyNumberVo = new DailyNumberVO();
+		//获取今日发货数量
+		dailyNumberVo.setShipmentsNumber(baseMapper.dailyNumber(delivery.getTradeType(),delivery.getBillType(),delivery.getTenantId(),null,new Date(),DeliveryStatusEnum.DELIVER.getType()));
+		//获取待发货数量
+		dailyNumberVo.setWaitDeliver(baseMapper.dailyNumber(delivery.getTradeType(),delivery.getBillType(),delivery.getTenantId(),null,null,DeliveryStatusEnum.REPEAL.getType()));
+		return dailyNumberVo;
+	}
+
+	@Override
+	public List<CorpNumberVO> corpNumber(DeliveryVO delivery) {
+		List<CorpNumberVO> list = new ArrayList<>();
+		//获取所属公司
+		List<CorpsDesc> corpsType = corpsDescClient.getCorpsType("GS");
+		if (CollectionUtils.isNotEmpty(corpsType)){
+			corpsType.stream().forEach(e ->{
+				CorpNumberVO corpNumberVO = new CorpNumberVO();
+				corpNumberVO.setBelongToCorpName(e.getGoodtypes());
+				//获取今日发货数量
+				corpNumberVO.setShipmentsNumber(baseMapper.dailyNumber(delivery.getTradeType(),delivery.getBillType(),delivery.getTenantId(),e.getId(),new Date(),DeliveryStatusEnum.DELIVER.getType()));
+				//获取待发货数量
+				corpNumberVO.setWaitDeliver(baseMapper.dailyNumber(delivery.getTradeType(),delivery.getBillType(),delivery.getTenantId(),e.getId(),null,DeliveryStatusEnum.REPEAL.getType()));
+				list.add(corpNumberVO);
+			});
+		}
+		return list;
+	}
 }