package com.ruoyi.cwgl.service.impl;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import com.ruoyi.common.constant.HttpStatus;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.cwgl.domain.RequestLog;
|
import com.ruoyi.cwgl.domain.dto.TakeReviewDto;
|
import com.ruoyi.cwgl.service.IRequestLogService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.stereotype.Service;
|
import org.springframework.scheduling.annotation.Async;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.annotation.DataSource;
|
import com.ruoyi.common.enums.DataSourceType;
|
import com.ruoyi.common.core.service.BaseService;
|
|
import com.ruoyi.cwgl.mapper.KeyCollectionInfoMapper;
|
import com.ruoyi.cwgl.domain.KeyCollectionInfo;
|
import com.ruoyi.cwgl.service.IKeyCollectionInfoService;
|
import com.ruoyi.common.core.text.Convert;
|
|
/**
|
* 钥匙领取信息Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2025-08-27
|
*/
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class KeyCollectionInfoServiceImpl extends BaseService<KeyCollectionInfoMapper, KeyCollectionInfo> implements IKeyCollectionInfoService
|
{
|
protected final Logger logger = LoggerFactory.getLogger(getClass());
|
@Resource
|
private KeyCollectionInfoMapper keyCollectionInfoMapper;
|
|
|
|
/**
|
* 查询钥匙领取信息
|
*
|
* @param id 钥匙领取信息ID
|
* @return 钥匙领取信息
|
*/
|
@DataSource(DataSourceType.SLAVE)
|
@Override
|
public KeyCollectionInfo selectKeyCollectionInfoById(Integer id)
|
{
|
return keyCollectionInfoMapper.selectKeyCollectionInfoById(id);
|
}
|
|
/**
|
* 查询钥匙领取信息 记录数
|
*
|
* @param keyCollectionInfo 钥匙领取信息
|
* @return 钥匙领取信息集合
|
*/
|
@DataSource(DataSourceType.SLAVE)
|
@Override
|
public int selectKeyCollectionInfoCount(KeyCollectionInfo keyCollectionInfo)
|
{
|
return keyCollectionInfoMapper.selectKeyCollectionInfoCount(keyCollectionInfo);
|
}
|
|
/**
|
* 查询钥匙领取信息列表
|
*
|
* @param keyCollectionInfo 钥匙领取信息
|
* @return 钥匙领取信息
|
*/
|
@DataSource(DataSourceType.SLAVE)
|
@Override
|
public List<KeyCollectionInfo> selectKeyCollectionInfoList(KeyCollectionInfo keyCollectionInfo)
|
{
|
return keyCollectionInfoMapper.selectKeyCollectionInfoList(keyCollectionInfo);
|
}
|
|
/**
|
* 查询钥匙领取信息列表 异步 导出
|
*
|
* @param keyCollectionInfo 钥匙领取信息
|
* @param exportKey 导出功能的唯一标识
|
* @return 钥匙领取信息集合
|
*/
|
@DataSource(DataSourceType.SLAVE)
|
@Async
|
@Override
|
public void export(KeyCollectionInfo keyCollectionInfo,String exportKey) {
|
|
super.export(KeyCollectionInfo.class,exportKey,"keyCollectionInfoData",(pageNum)->{
|
PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
|
return selectKeyCollectionInfoList(keyCollectionInfo);
|
});
|
}
|
|
|
/**
|
* 新增钥匙领取信息
|
*
|
* @param keyCollectionInfo 钥匙领取信息
|
* @return 结果
|
*/
|
@Override
|
public int insertKeyCollectionInfo(KeyCollectionInfo keyCollectionInfo)
|
{
|
return keyCollectionInfoMapper.insertKeyCollectionInfo(keyCollectionInfo);
|
}
|
|
/**
|
* 新增钥匙领取信息[批量]
|
*
|
* @param keyCollectionInfos 钥匙领取信息
|
* @return 结果
|
*/
|
@Override
|
public int insertKeyCollectionInfoBatch(List<KeyCollectionInfo> keyCollectionInfos)
|
{
|
int rows = keyCollectionInfoMapper.insertKeyCollectionInfoBatch(keyCollectionInfos);
|
return rows;
|
}
|
|
/**
|
* 修改钥匙领取信息
|
*
|
* @param keyCollectionInfo 钥匙领取信息
|
* @return 结果
|
*/
|
@Override
|
public int updateKeyCollectionInfo(KeyCollectionInfo keyCollectionInfo)
|
{
|
return keyCollectionInfoMapper.updateKeyCollectionInfo(keyCollectionInfo);
|
}
|
|
/**
|
* 修改钥匙领取信息[批量]
|
*
|
* @param keyCollectionInfos 钥匙领取信息
|
* @return 结果
|
*/
|
@Override
|
public int updateKeyCollectionInfoBatch(List<KeyCollectionInfo> keyCollectionInfos){
|
return keyCollectionInfoMapper.updateKeyCollectionInfoBatch(keyCollectionInfos);
|
}
|
|
/**
|
* 删除钥匙领取信息对象
|
*
|
* @param ids 需要删除的数据ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteKeyCollectionInfoByIds(String ids)
|
{
|
return deleteKeyCollectionInfoByIds(Convert.toIntArray(ids));
|
}
|
|
/**
|
* 删除钥匙领取信息对象
|
*
|
*
|
* @param ids 需要删除的数据ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteKeyCollectionInfoByIds(Integer[] ids)
|
{
|
return keyCollectionInfoMapper.deleteKeyCollectionInfoByIds(ids);
|
}
|
|
/**
|
* 删除钥匙领取信息信息
|
*
|
* @param id 钥匙领取信息ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteKeyCollectionInfoById(Integer id)
|
{
|
return keyCollectionInfoMapper.deleteKeyCollectionInfoById(id);
|
}
|
|
@DataSource(DataSourceType.CWSJ)
|
@Override
|
public KeyCollectionInfo selectCwData(TakeReviewDto takeReviewDto) {
|
return keyCollectionInfoMapper.selectCwData(takeReviewDto);
|
}
|
|
@Override
|
public AjaxResult takeReview(KeyCollectionInfo keyCollectionInfo) {
|
if (keyCollectionInfo == null) {
|
return AjaxResult.error("查无符合要求的调度单,请联系调度人员",3);
|
}
|
keyCollectionInfoMapper.insertKeyCollectionInfo(keyCollectionInfo);
|
|
|
//调度超时
|
Integer schedulingTimeout = keyCollectionInfo.getSchedulingTimeout();
|
if(schedulingTimeout>5){
|
return AjaxResult.error("调度超时下单,超时"+schedulingTimeout+"个小时",3);
|
|
}
|
Integer keyTimeout = keyCollectionInfo.getKeyTimeout();
|
if (keyTimeout!=null && keyTimeout>24){
|
Date estimatedDepartureTime = keyCollectionInfo.getEstimatedDepartureTime();
|
String dateToStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, estimatedDepartureTime);
|
return AjaxResult.error("要求出发时间"+ dateToStr+",领取钥匙超时"+keyTimeout+"个小时");
|
}
|
AjaxResult success = new AjaxResult(0, "成功",2);
|
success.put("boxNum",keyCollectionInfo.getBoxNum());
|
return success;
|
}
|
}
|