| | |
| | | package com.ruoyi.inspect.service.impl; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.inspect.dto.SampleOrderDto; |
| | | import com.ruoyi.inspect.dto.OrderRatesSummaryDto; |
| | | import com.ruoyi.inspect.dto.TemplateRateDto; |
| | | import com.ruoyi.inspect.mapper.InsOrderRatesMapper; |
| | | import com.ruoyi.inspect.pojo.InsOrderRates; |
| | | import com.ruoyi.inspect.service.InsOrderRatesService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.YearMonth; |
| | | import java.time.format.DateTimeParseException; |
| | | |
| | | /** |
| | | * 订单费用表 |
| | |
| | | public class InsOrderRatesServiceImpl extends ServiceImpl<InsOrderRatesMapper, InsOrderRates> implements InsOrderRatesService { |
| | | |
| | | /** |
| | | * 查询订单费用列表 |
| | | * 查询订单费用列表(可按送样月份区间筛选) |
| | | * @param page |
| | | * @param sampleOrderDto |
| | | * @param startMonth 起始月份 yyyy-MM |
| | | * @param endMonth 结束月份 yyyy-MM |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<SampleOrderDto> selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto) { |
| | | return baseMapper.selectInsOrderRates(page, QueryWrappers.queryWrappers(sampleOrderDto)); |
| | | public IPage<SampleOrderDto> selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto, String startMonth, String endMonth) { |
| | | return baseMapper.selectInsOrderRates(page, ratesFilter(sampleOrderDto, startMonth, endMonth)); |
| | | } |
| | | |
| | | @Override |
| | | public OrderRatesSummaryDto selectRatesSummary(SampleOrderDto sampleOrderDto, String startMonth, String endMonth) { |
| | | return baseMapper.selectRatesSummary(ratesFilter(sampleOrderDto, startMonth, endMonth)); |
| | | } |
| | | |
| | | private QueryWrapper<SampleOrderDto> ratesFilter(SampleOrderDto sampleOrderDto, String startMonth, String endMonth) { |
| | | QueryWrapper<SampleOrderDto> wrapper = QueryWrappers.queryWrappers(sampleOrderDto); |
| | | if (wrapper == null) { |
| | | wrapper = Wrappers.query(); |
| | | } |
| | | if (StrUtil.isNotBlank(startMonth) || StrUtil.isNotBlank(endMonth)) { |
| | | try { |
| | | if (StrUtil.isNotBlank(startMonth) && StrUtil.isNotBlank(endMonth) |
| | | && YearMonth.parse(startMonth).isAfter(YearMonth.parse(endMonth))) { |
| | | throw new ErrorException("开始月份不能晚于结束月份"); |
| | | } |
| | | if (StrUtil.isNotBlank(startMonth)) { |
| | | wrapper.ge("sample_date", YearMonth.parse(startMonth).atDay(1)); |
| | | } |
| | | if (StrUtil.isNotBlank(endMonth)) { |
| | | wrapper.le("sample_date", YearMonth.parse(endMonth).atEndOfMonth()); |
| | | } |
| | | } catch (DateTimeParseException e) { |
| | | throw new ErrorException("送样时间筛选格式不正确,应为 yyyy-MM"); |
| | | } |
| | | } |
| | | return wrapper; |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateOrderFee(Integer id, Integer isDiscount, BigDecimal discountAmount, String feeRemark) { |
| | | return baseMapper.updateOrderFee(id, isDiscount, discountAmount, feeRemark) > 0; |
| | | } |
| | | |
| | | @Override |