提交 5b2dedd3 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v16.3_line_warn_20240528' into test

......@@ -180,7 +180,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> listByOrderGoodsNoAndStatus(String orderGoodsNo, List<Integer> statusList);
BigDecimal sumTakeWeightByOrderGoodsNo(String orderGoodsNo);
BigDecimal sumTakeWeightByOrderGoodsNo(String orderGoodsNo, BigDecimal defaultWeight);
BigDecimal sumLoadWeightByOrderGoodsNo(String orderGoodsNo);
BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo);
......
......@@ -577,8 +577,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
@Override
public BigDecimal sumTakeWeightByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.sumTakeWeightByOrderGoodsNo(orderGoodsNo);
public BigDecimal sumTakeWeightByOrderGoodsNo(String orderGoodsNo, BigDecimal defaultWeight) {
return baseMapper.sumTakeWeightByOrderGoodsNo(orderGoodsNo, defaultWeight);
}
@Override
......
......@@ -118,38 +118,47 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
Integer sendSystemAddressId, Integer receiveSystemAddressId,
String beginTime);
@Select("select count(1) from order_child where order_goods_no=#{orderGoodsNo} and status in(10,20,30,40,50,60,70,80,90,100)")
BigDecimal sumTakeWeightByOrderGoodsNo(String orderGoodsNo);
@Select("select sum(if (status>=50, load_net, #{defaultWeight})) from order_child " +
" where order_goods_no=#{orderGoodsNo} and status in(10,20,30,40,50,60,70,80,90,100)")
BigDecimal sumTakeWeightByOrderGoodsNo(String orderGoodsNo, BigDecimal defaultWeight);
@Select("select sum(load_net) from order_child where order_goods_no=#{orderGoodsNo} and status in(50,60,70,80,90,100)")
@Select("select sum(load_net) from order_child " +
" where order_goods_no=#{orderGoodsNo} and status in(50,60,70,80,90,100)")
BigDecimal sumLoadWeightByOrderGoodsNo(String orderGoodsNo);
@Select("select sum(if (unload_net>load_net, load_net, unload_net)) from order_child where order_goods_no=#{orderGoodsNo} and status in(80,90,100)")
@Select("select sum(if (unload_net>load_net, load_net, unload_net)) from order_child " +
" where order_goods_no=#{orderGoodsNo} and status in(80,90,100)")
BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(10,20,30,40,50,60,70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
@Select("<script>select order_goods_no, count(*) num from order_child " +
" where status in(10,20,30,40,50,60,70,80,90,100) " +
" and order_goods_no " +
" in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumTakeNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(40,50,60,70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and order_goods_no " +
" in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumArriveSendNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(50,60,70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and order_goods_no " +
" in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumLoadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and order_goods_no " +
" in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumArriveRecieveNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and order_goods_no " +
" in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumUnloadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
......
......@@ -65,16 +65,21 @@ public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService {
// 任务完成率
BigDecimal taskCompleteRatio = BigDecimal.ZERO;
BigDecimal weight = orderChildDao.sumTakeWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo());
FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderGoods.getOrderNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
if (Objects.equals(orderInfo.getOverWeight(), OrderEnum.OverWeight.YES.getCode())){
weight = weight.multiply(OVER_WEIGHT);
}
else {
weight = weight.multiply(STANDARD_WEIGHT);
}
BigDecimal weight = orderChildDao.sumTakeWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(),
Objects.equals(orderInfo.getOverWeight(), OrderEnum.OverWeight.YES.getCode())
? OVER_WEIGHT
: STANDARD_WEIGHT
);
// if (Objects.equals(orderInfo.getOverWeight(), OrderEnum.OverWeight.YES.getCode())){
// weight = weight.multiply(OVER_WEIGHT);
// }
// else {
// weight = weight.multiply(STANDARD_WEIGHT);
// }
taskCompleteRatio = weight.divide(taskWeight, 4, RoundingMode.UP).movePointRight(2);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论