| | |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | import com.ruoyi.common.enums.SystemDataNoEnum; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import javax.annotation.Resource; |
| | | |
| | |
| | | import com.ruoyi.cwgl.domain.vo.ReceivableFeeStatisticsVo; |
| | | import com.ruoyi.system.domain.SysConfig; |
| | | import com.ruoyi.system.mapper.SysConfigMapper; |
| | | import com.ruoyi.system.service.ISystemDataNoService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Autowired |
| | | private IReceivableBillSettlementDetailService receivableBillSettlementDetailService; |
| | | |
| | | @Autowired |
| | | ISystemDataNoService systemDataNoService; |
| | | |
| | | /** |
| | | * 查询应收费用管理 |
| | |
| | | public int insertReceivableFeeManagement(ReceivableFeeManagement receivableFeeManagement) |
| | | { |
| | | receivableFeeManagement.setCreateTime(DateUtils.getNowDate()); |
| | | String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YS); |
| | | receivableFeeManagement.setSystemNo(noByKey); |
| | | |
| | | // 保存主表信息 |
| | | int result = receivableFeeManagementMapper.insertReceivableFeeManagement(receivableFeeManagement); |
| | |
| | | // 查询应收费用主表记录 |
| | | List<ReceivableFeeManagement> receivableFeeList = receivableFeeManagementMapper.selectReceivableFeeManagementByIds(ids); |
| | | |
| | | // 检查所有记录是否属于同一个客户 |
| | | if (!receivableFeeList.isEmpty()) { |
| | | Integer firstCustomerId = receivableFeeList.get(0).getCustomerId(); |
| | | boolean allSameCustomer = receivableFeeList.stream() |
| | | .allMatch(item -> Objects.equals(item.getCustomerId(), firstCustomerId)); |
| | | |
| | | if (!allSameCustomer) { |
| | | throw new ServiceException("所选记录包含不同客户的数据,无法进行统计"); |
| | | } |
| | | } |
| | | |
| | | // 计算单据数量 |
| | | int documentCount = receivableFeeList.size(); |
| | | SysConfig sysConfig = sysConfigMapper.selectConfig(new SysConfig() {{ |