package com.gkhy.safePlatform.equipment.service.baseService.impl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailBO;
|
import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfo;
|
import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailCountDO;
|
import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfoDO;
|
import com.gkhy.safePlatform.equipment.enums.IssueReceiptEnum;
|
import com.gkhy.safePlatform.equipment.enums.ValidStatusEnum;
|
import com.gkhy.safePlatform.equipment.excepiton.EquipmentException;
|
import com.gkhy.safePlatform.equipment.model.dto.req.SafeMatetrialDetailQuery;
|
import com.gkhy.safePlatform.equipment.repository.SafeMaterialDetailInfoRepository;
|
import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialDetailInfoService;
|
import jodd.util.StringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
@Service("SafeMaterialDetailInfoService")
|
public class SafeMaterialDetailInfoServiceImpl extends ServiceImpl<SafeMaterialDetailInfoRepository, SafeMaterialDetailInfo> implements SafeMaterialDetailInfoService {
|
@Autowired
|
private SafeMaterialDetailInfoRepository repository;
|
@Override
|
public Integer getTotalCount() {
|
return repository.getTotalCount();
|
}
|
|
@Override
|
public SafeMaterialDetailInfo queryById(Long id) {
|
if(null == id){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
return repository.queryById(id);
|
}
|
|
@Override
|
public void updateReceiptStatus(Long id, Byte status) {
|
if(null == id || null == status){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
repository.updateReceiptStatus(id,status,LocalDateTime.now());
|
}
|
|
@Override
|
public List<SafeMaterialDetailInfo> getListByIds(List<Long> ids) {
|
if(CollectionUtils.isEmpty(ids)){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
return repository.getListByIds(ids);
|
|
}
|
|
@Override
|
public void updateReceiptStatusByIds(List<Long> ids, Byte irStatus) {
|
if(CollectionUtils.isEmpty(ids) || null == irStatus){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
repository.updateReceiptStatusByIds(ids,irStatus,LocalDateTime.now());
|
}
|
|
@Override
|
public List<SafeMaterialDetailCountDO> getCountGroupBySmId(List<Long> ids, Byte irStatus) {
|
if(!CollectionUtils.isEmpty(ids) || null == irStatus){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
return repository.getCountGroupBySmId(ids,irStatus);
|
}
|
|
@Override
|
public List<SafeMaterialDetailCountDO> getStatisticsValidStock(List<Long> smIds) {
|
return repository.getStatisticsValidStock(smIds, ValidStatusEnum.YES.getCode(), IssueReceiptEnum.IN_THE_LIBRARY.getCode());
|
}
|
|
@Override
|
public void deleteBatch(Long[] ids) {
|
if(ids.length == 0){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
repository.deleteBatch(ids);
|
}
|
|
@Override
|
public void updateDeliveryStatusByIds(SafeMaterialDetailBO detailBO) {
|
if(CollectionUtils.isEmpty(detailBO.getIds()) || null == detailBO.getClaimantId() || StringUtil.isBlank(detailBO.getClaimantName())){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
detailBO.setIrStatus(IssueReceiptEnum.OUT_OF_LIBRARY.getCode());
|
detailBO.setDeliveryTime(LocalDateTime.now());
|
repository.updateDeliveryStatusByIds(detailBO);
|
}
|
|
@Override
|
public void deliveryBatchRandom(SafeMaterialDetailBO detailBO) {
|
if(null == detailBO.getCount() || null == detailBO.getClaimantId() || StringUtil.isBlank(detailBO.getClaimantName())){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
detailBO.setIrStatus(IssueReceiptEnum.OUT_OF_LIBRARY.getCode());
|
detailBO.setDeliveryTime(LocalDateTime.now());
|
repository.deliveryBatchRandom(detailBO);
|
}
|
|
@Override
|
public Integer getValidStockCount(Long smId) {
|
if(null == smId){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
Integer count = repository.getValidStockCount(smId,ValidStatusEnum.YES.getCode(),IssueReceiptEnum.IN_THE_LIBRARY.getCode());
|
return count;
|
}
|
|
@Override
|
public List<SafeMaterialDetailInfoDO> listByPage(Page<SafeMaterialDetailInfo> page, SafeMatetrialDetailQuery query) {
|
|
return repository.listByCondition(page,query);
|
}
|
|
@Override
|
public int getCountBySmIds(List<Long> smIds) {
|
if(null == smIds || smIds.size() == 0){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
return repository.getCountBySmIds(smIds);
|
}
|
|
@Override
|
public int getCountBySmId(Long smId) {
|
if(null == smId){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
return repository.getCountBySmId(smId);
|
}
|
|
@Override
|
public void updateValidStatus(Long id) {
|
if(null == id){
|
throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL);
|
}
|
repository.updateValidStatus(id,ValidStatusEnum.NO.getCode());
|
}
|
|
|
}
|