package com.ydtech.modules.fnc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.core.page.HttpResult; import com.ydtech.exception.SystemException; import com.ydtech.modules.fnc.dao.SettlementDocumentaryFeesSumMapper; import com.ydtech.modules.fnc.entity.SettlementDocumentaryFeesEntity; import com.ydtech.modules.fnc.entity.SettlementDocumentaryFeesSumEntity; import com.ydtech.modules.fnc.service.SettlementDocumentaryFeesService; import com.ydtech.modules.fnc.service.SettlementDocumentaryFeesSumService; import com.ydtech.modules.fnc.vo.SettlementDocumentaryFeesSumVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service public class SettlementDocumentaryFeesSumServiceImpl extends ServiceImpl implements SettlementDocumentaryFeesSumService { @Autowired private SettlementDocumentaryFeesService settlementDocumentaryFeesService; @Override @Transactional public HttpResult voidInvoicing(SettlementDocumentaryFeesSumVo settlementDocumentaryFeesSumVo) { String id = settlementDocumentaryFeesSumVo.getId(); SettlementDocumentaryFeesSumEntity settlementDocumentaryFeesSumEntity = baseMapper.selectById(id); settlementDocumentaryFeesSumEntity.getCompletionStatus(); if (!"0".equals(settlementDocumentaryFeesSumEntity.getCompletionStatus())) { throw new SystemException("已结算不能进行作废"); } settlementDocumentaryFeesSumEntity.setSettlementStatus("3"); // 作废 baseMapper.updateById(settlementDocumentaryFeesSumEntity); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SettlementDocumentaryFeesEntity::getSettlementSumId, id); List settlementDocumentaryFeesEntities = settlementDocumentaryFeesService.getBaseMapper().selectList(queryWrapper); for (SettlementDocumentaryFeesEntity item : settlementDocumentaryFeesEntities) { item.setSettlementStatus("3"); settlementDocumentaryFeesService.updateById(item); } return HttpResult.ok(); } }