whywhyo
2023-10-07 bfe6e8b654b3a90b0d95c4aebbef872418ebeaa6
238497
7个文件已修改
98 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java
@@ -38,18 +38,18 @@
    private TravelCountService travelCountService;
    @GetMapping("/all")
    public AjaxResult listAll(){
    public AjaxResult listAll(TravelCount travelCount){
        SysUser user = SecurityUtils.getLoginUser().getUser();
        Long userId = user.getUserId();
        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
        return travelCountService.selectDataList(userId,pageNum,pageSize);
        return travelCountService.selectDataList(userId,pageNum,pageSize,travelCount);
    }
    @GetMapping("/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return AjaxResult.success(travelCountService.getById(id));
        return AjaxResult.success(travelCountService.getDataById(id));
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java
@@ -27,8 +27,8 @@
    TravelDetailService travelDetailService;
    @GetMapping()
     public AjaxResult getDataByCid(@PathParam("cid") Long cid){
        List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(cid);
     public AjaxResult getDataByCid(@PathParam("cid") Long cid,TravelDetail travelDetail){
        List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(cid,travelDetail);
        return AjaxResult.success(travelDetailList);
    }
zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java
@@ -17,7 +17,9 @@
 */
public interface TravelCountService extends IService<TravelCount> {
    AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize);
    AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize,TravelCount travelCount);
    void removeData(List<Long> list);
    TravelCount getDataById(Long id);
}
zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java
@@ -16,7 +16,7 @@
 */
public interface TravelDetailService extends IService<TravelDetail> {
    List<TravelDetail> getDataByCid(Long cid);
    List<TravelDetail> getDataByCid(Long cid,TravelDetail travelDetail);
    void removeBatchByCid(List<Long> cid);
zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java
@@ -36,37 +36,24 @@
    private TravelCountService travelCountService;
    @Override
    public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize) {
    public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize,TravelCount travelCount) {
        //设置查询条件
        LambdaQueryWrapper<TravelCount> lqw = new LambdaQueryWrapper<>();
        lqw.eq(TravelCount::getUid,userId);
        Page<TravelCount> resultPage = page(new Page<>(pageNum, pageSize), lqw);
        resultPage.getRecords().forEach(data ->{
            //先找到对应一条统计数据的所有详细数据
            List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(data.getId());
            double entranceTotal = 0;
            double eatTotal = 0;
            double stayTotal = 0;
            double travelTotal = 0;
            //把所有详细数据的费用值累加起来
            for (TravelDetail detail : travelDetailList) {
                entranceTotal+=detail.getEntrance();
                eatTotal+=detail.getEat();
                stayTotal+=detail.getStay();
                travelTotal+=detail.getTravel();
        if(travelCount!=null){
            lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName());
            lqw.like(travelCount.getDestination()!=null,TravelCount::getDestination,travelCount.getDestination());
            lqw.like(travelCount.getProperty()!=null,TravelCount::getProperty,travelCount.getProperty());
            lqw.like(travelCount.getManner()!=null,TravelCount::getManner,travelCount.getManner());
            lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName());
            lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName());
            lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName());
            }
            data.setEntranceTotal(entranceTotal);
            data.setEatTotal(eatTotal);
            data.setStayTotal(stayTotal);
            data.setTravelTotal(travelTotal);
            DecimalFormat df = new DecimalFormat("0.00");
            data.setTotalPrice(Double.parseDouble(df.format(entranceTotal+eatTotal+data.getGroupTotal()+stayTotal+travelTotal)));
        });
        Page<TravelCount> resultPage = page(new Page<>(pageNum, pageSize), lqw);
        resultPage.getRecords().forEach(this::inputTotalData);
        return AjaxResult.success(MapUtils.getResult(resultPage));
    }
@@ -83,4 +70,36 @@
        //再删除自己表的数据
        travelCountService.removeBatchByIds(list);
    }
    @Override
    public TravelCount getDataById(Long id) {
        TravelCount travelCount = getById(id);
        inputTotalData(travelCount);
        return travelCount;
    }
    private void inputTotalData(TravelCount travelCount){
        //先找到对应一条统计数据的所有详细数据
        List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(travelCount.getId(),null);
        double entranceTotal = 0;
        double eatTotal = 0;
        double stayTotal = 0;
        double travelTotal = 0;
        //把所有详细数据的费用值累加起来
        for (TravelDetail detail : travelDetailList) {
            entranceTotal+=detail.getEntrance();
            eatTotal+=detail.getEat();
            stayTotal+=detail.getStay();
            travelTotal+=detail.getTravel();
        }
        travelCount.setEntranceTotal(entranceTotal);
        travelCount.setEatTotal(eatTotal);
        travelCount.setStayTotal(stayTotal);
        travelCount.setTravelTotal(travelTotal);
        DecimalFormat df = new DecimalFormat("0.00");
        travelCount.setTotalPrice(Double.parseDouble(df.format(entranceTotal+eatTotal+travelCount.getGroupTotal()+stayTotal+travelTotal)));
    }
}
zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java
@@ -22,9 +22,18 @@
public class TravelDetailServiceImpl extends ServiceImpl<TravelDetailMapper, TravelDetail> implements TravelDetailService {
    @Override
    public List<TravelDetail> getDataByCid(Long cid) {
    public List<TravelDetail> getDataByCid(Long cid,TravelDetail travelDetail) {
        LambdaQueryWrapper<TravelDetail> lqw = new LambdaQueryWrapper<>();
        lqw.eq(TravelDetail::getCid,cid);
        if(travelDetail!=null){
            lqw.like(travelDetail.getAddress()!=null,TravelDetail::getAddress,travelDetail.getAddress());
            lqw.like(travelDetail.getScenic()!=null,TravelDetail::getScenic,travelDetail.getScenic());
            lqw.like(travelDetail.getHotel()!=null,TravelDetail::getHotel,travelDetail.getHotel());
            lqw.like(travelDetail.getTravelMode()!=null,TravelDetail::getTravelMode,travelDetail.getTravelMode());
            lqw.like(travelDetail.getFlight()!=null,TravelDetail::getFlight,travelDetail.getFlight());
            lqw.like(travelDetail.getDocument()!=null,TravelDetail::getDocument,travelDetail.getDocument());
        }
        lqw.orderBy(true,true,TravelDetail::getHappenDate);
        return list(lqw);
    }