Browse Source

增加首页统计

pull/4/head
chenlong 7 months ago
parent
commit
b202e17806
  1. 4
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/InLibraryDeliverMapper.java
  2. 27
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/InLibraryDeliverMapper.xml
  3. 14
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/IndexCountMapper.java
  4. 9
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/IndexCountMapper.xml
  5. 17
      blade-service/logpm-report/src/main/java/com/logpm/report/service/IndexCountService.java
  6. 17
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/InLibraryDeliverServiceImpl.java
  7. 85
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/IndexCountServiceImpl.java
  8. 4
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/IndexCountVO.java
  9. 19
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/indexCount/InStoreDataVO.java

4
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/InLibraryDeliverMapper.java

@ -10,9 +10,9 @@ import java.util.List;
@Mapper
public interface InLibraryDeliverMapper extends BaseMapper {
Integer obtainTheNumberOfInventoryListings (@Param("id") Long id);
Integer obtainTheNumberOfInventoryListings (Long warehouseId);
Integer theNumberOfShelvesInTheLibrary(@Param("id") Long id , Integer order_package_grounding_status);
Integer theNumberOfShelvesInTheLibrary(Long warehouseId , Integer order_package_grounding_status);
// Integer quantityInTransit(@Param("id") Long id,)
}

27
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/InLibraryDeliverMapper.xml

@ -2,25 +2,26 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.logpm.report.mapper.InLibraryDeliverMapper">
<select id="obtainTheNumberOfInventoryListings" resultType="java.lang.Integer">
select count (
*
) as con
from logpm_distribution_parcel_list
where warehouse_id = #{id} and
order_package_status = 20
and
conditions = 1
select count(*) as con
from logpm_distribution_parcel_list
where
order_package_status = 20
and conditions = 1
<if test="warehouseId != null">
and warehouse_id = #{warehouseId}
</if>
</select>
<select id="theNumberOfShelvesInTheLibrary" resultType="java.lang.Integer">
select count (
*
) as con
select count(*) as con
from logpm_distribution_parcel_list
where warehouse_id = #{id} and
where
order_package_status = 20
and
conditions = 1
and
order_package_grounding_status= #{order_package_grounding_status}
order_package_grounding_status = #{order_package_grounding_status}
<if test="warehouseId != null">
and warehouse_id = #{warehouseId}
</if>
</select>
</mapper>

14
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/IndexCountMapper.java

@ -1,27 +1,33 @@
package com.logpm.report.mapper;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface IndexCountMapper {
/**
* 所有异常工单数量
*/
public Integer numberOfAbnormalWorkOrdersInTheMonth(@Param("warehouseId") Long warehouseId);
Integer numberOfAbnormalWorkOrdersInTheMonth(@Param("warehouseId") Long warehouseId);
/**
* 待处理的异常工单数量
*/
public Integer numberOfAbnormalWorkOrdersAndWaitHandleInTheMonth(@Param("warehouseId") Long warehouseId, @Param("status") String status);
Integer numberOfAbnormalWorkOrdersAndWaitHandleInTheMonth(@Param("warehouseId") Long warehouseId, @Param("status") String status);
/**
* 出库数量
*/
public Integer outboundQuantity(@Param("warehouseId") Long warehouseId, String orderPackageStatus);
@MapKey(value = "typeService")
List<Map<String, Object>> outboundQuantityInTheMonth(@Param("warehouseId") Long warehouseId, String orderPackageStatus);
/**
* 入库数量
*/
public Integer inboundQuantity(@Param("warehouseId") Long warehouseId, String orderPackageStatus);
@MapKey(value = "typeService")
List<Map<String, Object>> inboundQuantityInTheMonth(@Param("warehouseId") Long warehouseId, String orderPackageStatus);
}

9
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/IndexCountMapper.xml

@ -33,13 +33,18 @@
</if>
</sql>
<select id="outboundQuantity" resultType="java.lang.Integer">
<resultMap id="inboundAndOutboundQuantityTheMonth" type="java.util.Map">
<result column="count"/>
<result column="typeService"/>
</resultMap>
<select id="outboundQuantityInTheMonth" resultType="java.util.Map">
<include refid="boundQuantity"/>
and a.order_package_status > #{orderPackageStatus}
GROUP BY b.type_service
</select>
<select id="inboundQuantity" resultType="java.lang.Integer">
<select id="inboundQuantityInTheMonth" resultType="java.util.Map">
<include refid="boundQuantity"/>
and a.order_package_status <![CDATA[ <= ]]> #{orderPackageStatus}
GROUP BY b.type_service

17
blade-service/logpm-report/src/main/java/com/logpm/report/service/IndexCountService.java

@ -1,6 +1,7 @@
package com.logpm.report.service;
import com.logpm.report.vo.IndexCountVO;
import com.logpm.report.vo.indexCount.InboundAndOutboundQuantityVO;
import com.logpm.report.vo.indexCount.QuantityAbnormalWorkOrdersVO;
/**
@ -8,7 +9,19 @@ import com.logpm.report.vo.indexCount.QuantityAbnormalWorkOrdersVO;
*/
public interface IndexCountService {
public IndexCountVO indexCount(Long warehouseId);
IndexCountVO indexCount(Long warehouseId);
public QuantityAbnormalWorkOrdersVO numberOfAbnormalWorkOrdersTheMonth(Long warehouseId);
/**
* 当月异常工单数量
* @param warehouseId
* @return
*/
QuantityAbnormalWorkOrdersVO numberOfAbnormalWorkOrdersTheMonth(Long warehouseId);
/**
* 当月出入库数量
* @param warehouseId
* @return
*/
InboundAndOutboundQuantityVO inboundAndOutboundQuantityTheMonth(Long warehouseId);
}

17
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/InLibraryDeliverServiceImpl.java

@ -18,12 +18,23 @@ public class InLibraryDeliverServiceImpl implements InLibraryDeliverService {
return null;
}
/***
* 总在库数
* @param id
* @return
*/
@Override
public Integer indexCount(Long id) {
return inLibraryDeliverMapper.obtainTheNumberOfInventoryListings(id);
return inLibraryDeliverMapper.obtainTheNumberOfInventoryListings(id);
}
public Integer theNumberOfShelvesInTheLibrary(Long id,Integer order_package_grounding_status){
return inLibraryDeliverMapper.theNumberOfShelvesInTheLibrary(id,order_package_grounding_status);
/**
* 上架数量
* @param id
* @param order_package_grounding_status 状态 1=已上架2 = 未上架
* @return
*/
public Integer theNumberOfShelvesInTheLibrary(Long id, Integer order_package_grounding_status){
return inLibraryDeliverMapper.theNumberOfShelvesInTheLibrary(id, order_package_grounding_status);
}
}

85
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/IndexCountServiceImpl.java

@ -3,11 +3,22 @@ package com.logpm.report.service.impl;
import com.logpm.report.mapper.IndexCountMapper;
import com.logpm.report.service.IndexCountService;
import com.logpm.report.vo.IndexCountVO;
import com.logpm.report.vo.indexCount.InStoreDataVO;
import com.logpm.report.vo.indexCount.InboundAndOutboundQuantityVO;
import com.logpm.report.vo.indexCount.QuantityAbnormalWorkOrdersVO;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.aftersales.WorkOrderStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant;
import org.springblade.common.constant.stockup.StockupTypeConstant;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import static org.springblade.common.constant.stockup.StockupTypeConstant.*;
/**
* 首页统计接口实现类
*/
@ -17,20 +28,44 @@ public class IndexCountServiceImpl implements IndexCountService {
private IndexCountMapper indexCountMapper;
private InLibraryDeliverServiceImpl inLibraryDeliverService;
/**
* 首页统计数据
*/
*/
public IndexCountVO indexCount(Long warehouseId) {
// Long warehouseId = AuthUtil.getWarehouseId();
// 这里需要换这里的代码,测试是模拟请求携带仓库ID参数
// Long warehouseId = AuthUtil.getWarehouseId();
IndexCountVO indexCountVo = new IndexCountVO();
indexCountVo.setQuantityAbnormalWorkOrders(numberOfAbnormalWorkOrdersTheMonth(warehouseId));
indexCountVo.setInboundAndOutboundQuantity(inboundAndOutboundQuantityTheMonth(warehouseId));
indexCountVo.setInStoreData(inStoreData(warehouseId));
return indexCountVo;
}
/**
* 设置在库数据
* @param warehouseId
* @return
*/
private InStoreDataVO inStoreData(Long warehouseId) {
InStoreDataVO inStoreDataVO = new InStoreDataVO();
Integer OnTheShelves = 1; // 上架
Integer NotOnTheShelves = 2; // 未上架
inStoreDataVO.setAll(inLibraryDeliverService.indexCount(warehouseId));
inStoreDataVO.setOnTheShelves(inLibraryDeliverService.theNumberOfShelvesInTheLibrary(warehouseId, OnTheShelves));
inStoreDataVO.setNotOnTheShelves(inLibraryDeliverService.theNumberOfShelvesInTheLibrary(warehouseId, NotOnTheShelves));
return inStoreDataVO;
}
/**
* 异常工单数据
*/
*/
@Override
public QuantityAbnormalWorkOrdersVO numberOfAbnormalWorkOrdersTheMonth(Long warehouseId) {
String status = WorkOrderStatusConstant.daichuli.getValue();
@ -40,4 +75,48 @@ public class IndexCountServiceImpl implements IndexCountService {
quantityAbnormalWorkOrdersVo.setWaitHandle(indexCountMapper.numberOfAbnormalWorkOrdersAndWaitHandleInTheMonth(warehouseId, status));
return quantityAbnormalWorkOrdersVo;
}
/**
* 出入库数量
*
* @param warehouseId
*/
@Override
public InboundAndOutboundQuantityVO inboundAndOutboundQuantityTheMonth(Long warehouseId) {
InboundAndOutboundQuantityVO inboundAndOutboundQuantityVO = new InboundAndOutboundQuantityVO();
String status = OrderPackageStatusConstant.yichuku.getValue();
HashMap<String, Consumer<Integer>> outHashMap = new HashMap<>();
HashMap<String, Consumer<Integer>> inHashMap = new HashMap<>();
outHashMap.put(ziti.getValue(), inboundAndOutboundQuantityVO::setSelfOut);
outHashMap.put(shipei.getValue(), inboundAndOutboundQuantityVO::setCityOut);
outHashMap.put(shangpei.getValue(), inboundAndOutboundQuantityVO::setMerchantOut);
inHashMap.put(ziti.getValue(), inboundAndOutboundQuantityVO::setSelfIn);
inHashMap.put(shipei.getValue(), inboundAndOutboundQuantityVO::setCityIn);
inHashMap.put(shangpei.getValue(), inboundAndOutboundQuantityVO::setMerchantIn);
setCount(outHashMap, indexCountMapper.outboundQuantityInTheMonth(warehouseId, status));
setCount(inHashMap, indexCountMapper.inboundQuantityInTheMonth(warehouseId, status));
return inboundAndOutboundQuantityVO;
}
/**
* 设置计数
* @param setCountMap
* @param dataMaps
*/
private void setCount(HashMap<String, Consumer<Integer>> setCountMap, List<Map<String, Object>> dataMaps) {
dataMaps.forEach((res) -> {
try {
String typeService = res.get("typeService").toString();
if (setCountMap.containsKey(typeService)) {
setCountMap.get(typeService).accept(Long.valueOf(res.get("count").toString()).intValue());
}
}catch (Exception e){
System.out.println(e.getMessage());
}
});
}
}

4
blade-service/logpm-report/src/main/java/com/logpm/report/vo/IndexCountVO.java

@ -1,6 +1,7 @@
package com.logpm.report.vo;
import com.logpm.report.vo.indexCount.InStoreDataVO;
import com.logpm.report.vo.indexCount.InboundAndOutboundQuantityVO;
import com.logpm.report.vo.indexCount.QuantityAbnormalWorkOrdersVO;
import io.swagger.annotations.ApiModel;
@ -16,4 +17,7 @@ public class IndexCountVO {
@ApiModelProperty("出入库数量")
private InboundAndOutboundQuantityVO inboundAndOutboundQuantity;
@ApiModelProperty("在库数量")
private InStoreDataVO inStoreData;
}

19
blade-service/logpm-report/src/main/java/com/logpm/report/vo/indexCount/InStoreDataVO.java

@ -0,0 +1,19 @@
package com.logpm.report.vo.indexCount;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("在库数据")
public class InStoreDataVO {
@ApiModelProperty("总数")
private Integer all;
@ApiModelProperty("已上架数量")
private Integer onTheShelves;
@ApiModelProperty("未上架数量")
private Integer notOnTheShelves;
}
Loading…
Cancel
Save