提交 2b9f03ca authored 作者: 艾庆国's avatar 艾庆国

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

...@@ -14,6 +14,14 @@ import java.util.List; ...@@ -14,6 +14,14 @@ import java.util.List;
@Repository @Repository
public class LineWarnOrderGoodsDaoImpl extends BaseDaoImpl<LineWarnOrderGoodsMapper, LineWarnOrderGoods, Integer> implements LineWarnOrderGoodsDao { public class LineWarnOrderGoodsDaoImpl extends BaseDaoImpl<LineWarnOrderGoodsMapper, LineWarnOrderGoods, Integer> implements LineWarnOrderGoodsDao {
@Override
public boolean updateWarnStatus(LineWarnOrderGoods item) {
return update(lUdWrapper()
.eq(LineWarnOrderGoods::getId, item.getId())
.set(LineWarnOrderGoods::getWarnStatus, item.getWarnStatus())
);
}
@Override @Override
public Optional<LineWarnOrderGoods> getByOrderGoodsNo(String orderGoodsNo) { public Optional<LineWarnOrderGoods> getByOrderGoodsNo(String orderGoodsNo) {
return Optional.of(orderGoodsNo) return Optional.of(orderGoodsNo)
......
...@@ -9,6 +9,8 @@ import java.util.List; ...@@ -9,6 +9,8 @@ import java.util.List;
public interface LineWarnOrderGoodsDao extends BaseDao<LineWarnOrderGoodsMapper, LineWarnOrderGoods, Integer> { public interface LineWarnOrderGoodsDao extends BaseDao<LineWarnOrderGoodsMapper, LineWarnOrderGoods, Integer> {
boolean updateWarnStatus(LineWarnOrderGoods item);
Optional<LineWarnOrderGoods> getByOrderGoodsNo(String orderGoodsNo); Optional<LineWarnOrderGoods> getByOrderGoodsNo(String orderGoodsNo);
List<LineWarnOrderGoods> ListOrderGoodsNoOfWarn(); List<LineWarnOrderGoods> ListOrderGoodsNoOfWarn();
......
...@@ -79,7 +79,7 @@ public class LineWarnLoadWarnServiceImpl implements LineWarnLoadWarnService { ...@@ -79,7 +79,7 @@ public class LineWarnLoadWarnServiceImpl implements LineWarnLoadWarnService {
int time = lineWarnConfig.getTimeRatio().multiply(new BigDecimal(difTime)).intValue(); int time = lineWarnConfig.getTimeRatio().multiply(new BigDecimal(difTime)).intValue();
// 未达到时间占比 // 未达到时间占比
if (pendingOrderTime.plusMinutes(time).isBefore(LocalDateTime.now())){return;} if (pendingOrderTime.plusMinutes(time).isAfter(LocalDateTime.now())){return;}
// 达到任务占比 // 达到任务占比
if (lineWarnConfig.getTaskCompleteRatio().compareTo(taskCompleteRatio) >= 0) {return;} if (lineWarnConfig.getTaskCompleteRatio().compareTo(taskCompleteRatio) >= 0) {return;}
......
...@@ -14,7 +14,9 @@ import com.clx.performance.dao.linewarn.LineWarnInfoDao; ...@@ -14,7 +14,9 @@ import com.clx.performance.dao.linewarn.LineWarnInfoDao;
import com.clx.performance.dao.linewarn.LineWarnOrderGoodsDao; import com.clx.performance.dao.linewarn.LineWarnOrderGoodsDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao;
import com.clx.performance.dto.linewarn.LineWarnCommonInfoDTO; import com.clx.performance.dto.linewarn.LineWarnCommonInfoDTO;
import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.ResultEnum; import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.linewarn.LineWarnOrderGoodsEnum;
import com.clx.performance.extranal.user.OrderService; import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.linewarn.LineWarnInfo; import com.clx.performance.model.linewarn.LineWarnInfo;
...@@ -30,11 +32,13 @@ import com.clx.performance.utils.gd.GdUtils; ...@@ -30,11 +32,13 @@ import com.clx.performance.utils.gd.GdUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
@Slf4j @Slf4j
@Service @Service
...@@ -80,6 +84,7 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { ...@@ -80,6 +84,7 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
private ClxMessageOpenapiFeign clxMessageOpenapiFeign; private ClxMessageOpenapiFeign clxMessageOpenapiFeign;
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderGoodsAdd(LineWarnOrderGoodsAddMqParam mq) { public void orderGoodsAdd(LineWarnOrderGoodsAddMqParam mq) {
OrderGoods orderGoods = orderGoodsDao OrderGoods orderGoods = orderGoodsDao
...@@ -100,6 +105,7 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { ...@@ -100,6 +105,7 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
lineWarnOrderGoodsDao.saveEntity(lineWarnOrderGoods); lineWarnOrderGoodsDao.saveEntity(lineWarnOrderGoods);
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void lineWarn(LineWarnLineWarnMqParam mq) { public void lineWarn(LineWarnLineWarnMqParam mq) {
LineWarnOrderGoods lineWarnOrderGoods = lineWarnOrderGoodsDao LineWarnOrderGoods lineWarnOrderGoods = lineWarnOrderGoodsDao
...@@ -113,12 +119,15 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { ...@@ -113,12 +119,15 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
lineWarnCommonInfo.setPendingOrderTime(lineWarnOrderGoods.getPendingOrderTime()); lineWarnCommonInfo.setPendingOrderTime(lineWarnOrderGoods.getPendingOrderTime());
lineWarnCommonInfo.setArriveReceiveExpectTime(lineWarnOrderGoods.getArriveReceiveExpectTime()); lineWarnCommonInfo.setArriveReceiveExpectTime(lineWarnOrderGoods.getArriveReceiveExpectTime());
// 任务量
lineWarnCommonInfo.setTaskWeight(orderGoods.getExtractWeight()); lineWarnCommonInfo.setTaskWeight(orderGoods.getExtractWeight());
// 装卸车时间 // 装卸车时间
Integer loadTimeAvg = orderChildDao.loadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(), Integer loadTimeAvg = orderChildDao
.loadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(),
orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(), orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(),
LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(DEFAULT_LOAD_UNLOAD_DAY))); LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(DEFAULT_LOAD_UNLOAD_DAY)));
Integer unloadTimeAvg = orderChildDao.unloadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(), Integer unloadTimeAvg = orderChildDao
.unloadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(),
orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(), orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(),
LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(DEFAULT_LOAD_UNLOAD_DAY))); LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(DEFAULT_LOAD_UNLOAD_DAY)));
lineWarnCommonInfo.setLoadTimeAvg(loadTimeAvg!=null? loadTimeAvg:DEFAULT_LOAD_UNLOAD_TIME); lineWarnCommonInfo.setLoadTimeAvg(loadTimeAvg!=null? loadTimeAvg:DEFAULT_LOAD_UNLOAD_TIME);
...@@ -170,6 +179,14 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { ...@@ -170,6 +179,14 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
log.info("线路异常,msg:{}", e.getMessage()); log.info("线路异常,msg:{}", e.getMessage());
} }
if (Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.CANCEL.getCode())
|| Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.SUCCESS.getCode())
|| Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.COMPLETED.getCode())
){
lineWarnOrderGoods.setWarnStatus(LineWarnOrderGoodsEnum.WarnStatus.DISABLE.getCode());
lineWarnOrderGoodsDao.updateWarnStatus(lineWarnOrderGoods);
}
} }
@Override @Override
...@@ -256,12 +273,16 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { ...@@ -256,12 +273,16 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderChildWarn(LineWarnOrderChildWarnMqParam mq) { public void orderChildWarn(LineWarnOrderChildWarnMqParam mq) {
LineWarnOrderGoods lineWarnOrderGoods = lineWarnOrderGoodsDao LineWarnOrderGoods lineWarnOrderGoods = lineWarnOrderGoodsDao
.getByOrderGoodsNo(mq.getOrderGoodsNo()).orElseThrow(ResultEnum.DATA_NOT_FIND); .getByOrderGoodsNo(mq.getOrderGoodsNo()).orElseThrow(ResultEnum.DATA_NOT_FIND);
OrderGoods orderGoods = orderGoodsDao OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(mq.getOrderGoodsNo()).orElseThrow(ResultEnum.DATA_NOT_FIND); .getByOrderGoodsNo(mq.getOrderGoodsNo()).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (Objects.equals(lineWarnOrderGoods.getWarnStatus(), LineWarnOrderGoodsEnum.WarnStatus.DISABLE.getCode())) {
return;
}
// 运单异常 // 运单异常
try{ try{
......
...@@ -81,7 +81,7 @@ public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService { ...@@ -81,7 +81,7 @@ public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService {
int time = lineWarnConfig.getTimeRatio().multiply(new BigDecimal(difTime)).intValue(); int time = lineWarnConfig.getTimeRatio().multiply(new BigDecimal(difTime)).intValue();
// 未达到时间占比 // 未达到时间占比
if (pendingOrderTime.plusMinutes(time).isBefore(LocalDateTime.now())){return;} if (pendingOrderTime.plusMinutes(time).isAfter(LocalDateTime.now())){return;}
// 达到任务占比 // 达到任务占比
if (lineWarnConfig.getTaskCompleteRatio().compareTo(taskCompleteRatio) >= 0) {return;} if (lineWarnConfig.getTaskCompleteRatio().compareTo(taskCompleteRatio) >= 0) {return;}
......
...@@ -74,7 +74,7 @@ public class LineWarnUnloadServiceImpl implements LineWarnUnloadWarnService { ...@@ -74,7 +74,7 @@ public class LineWarnUnloadServiceImpl implements LineWarnUnloadWarnService {
int time = lineWarnConfig.getTimeRatio().multiply(new BigDecimal(difTime)).intValue(); int time = lineWarnConfig.getTimeRatio().multiply(new BigDecimal(difTime)).intValue();
// 未达到时间占比 // 未达到时间占比
if (pendingOrderTime.plusMinutes(time).isBefore(LocalDateTime.now())){return;} if (pendingOrderTime.plusMinutes(time).isAfter(LocalDateTime.now())){return;}
// 达到任务占比 // 达到任务占比
if (lineWarnConfig.getTaskCompleteRatio().compareTo(taskCompleteRatio) >= 0) {return;} if (lineWarnConfig.getTaskCompleteRatio().compareTo(taskCompleteRatio) >= 0) {return;}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论