广告
返回顶部
首页 > 资讯 > 后端开发 > Python >基于Springboot实现送水公司信息管理系统
  • 907
分享到

基于Springboot实现送水公司信息管理系统

2024-04-02 19:04:59 907人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

项目编号:BS-XX-014 项目描述 SpringBoot实现的送水后台管理系统 运行环境 jdk8+Tomcat7+Mysql+IntelliJ idea+Maven 项目技术(

项目编号:BS-XX-014

项目描述

SpringBoot实现的送水后台管理系统

运行环境

jdk8+Tomcat7+Mysql+IntelliJ idea+Maven

项目技术(必填)

springBoot+mybatis

数据库文件(可选)

压缩包自带

依赖包文件(可选)

maven项目

项目运行截图:

系统主界面

客户管理

送水工管理

送水历史订单

工资计算

统计送水数量

package com.minzu.service.impl;
 
import cn.hutool.crypto.digest.DigestUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.minzu.entities.Account;
import com.minzu.mapper.AccountMapper;
import com.minzu.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.Objects;
 

@Service
public class AccountServiceImpl implements AccountService {
 
    
    @Autowired
    private AccountMapper accountMapper;
 
    
    @Override
    public boolean login(String userName, String userPwd) {
        // 封装查询条件
        QueryWrapper<Account> qw = new QueryWrapper<>();
        qw.eq("user_name",userName);
        // 根据用户名查询对应的账户
        Account account = accountMapper.selectOne(qw);
        // 条件成立:表示没有对应的账户,登录失败,返回false
        if (null == account) {
            return false;
        }
        // 对表单输入的密码进行加密
        // encodingPwd存储加密之后的密码
        String encodingPwd = DigestUtil.md5Hex(userPwd);
        // 将加密之后的密码和数据库密码进行比较,条件成立:登录成功,返回true。否则登录失败,返回false
        if (Objects.equals(encodingPwd,account.getUserPwd())) {
            return true;
        } else {
            return false;
        }
    }
}
package com.minzu.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.minzu.entities.Customer;
import com.minzu.mapper.CustomerMapper;
import com.minzu.service.CustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 

@Service
public class CustomerServiceImpl implements CustomerService {
 
    
    @Autowired
    private CustomerMapper customerMapper;
 
    
    @Override
    public List<Customer> listCustomer() {
        return customerMapper.selectList(null);
    }
 
    
    @Override
    public int saveCustomer(Customer customer) {
        return customerMapper.insert(customer);
    }
 
    
    @Override
    public List<Customer> searchCustomer(String userName) {
        QueryWrapper<Customer> qw = new QueryWrapper<>();
        qw.like("cust_name",userName);
        List<Customer> custList = customerMapper.selectList(qw);
        return custList;
    }
 
    
    @Override
    public int deleteCustomerById(Integer cid) {
        QueryWrapper<Customer> qw = new QueryWrapper<>();
        qw.eq("cid",cid);
        return customerMapper.delete(qw);
    }
 
    
    @Override
    public Customer getCustomerById(Integer cid) {
        QueryWrapper<Customer> qw = new QueryWrapper<>();
        qw.eq("cid",cid);
        return customerMapper.selectOne(qw);
    }
 
    
    @Override
    public int updateCustomer(Customer customer) {
        QueryWrapper<Customer> qw = new QueryWrapper<>();
        qw.eq("cid",customer.getCid());
        return customerMapper.update(customer,qw);
    }
}


package com.minzu.service.impl;
 
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.minzu.entities.History;
import com.minzu.mapper.HistoryMapper;
import com.minzu.service.HistoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
 

@Service
public class HistoryServiceImpl implements HistoryService {
 
    @Autowired
    private HistoryMapper historyMapper;
 
    
    @Override
    public List<History> listHistory() {
        return historyMapper.listHistory();
    }
 
    
    @Override
    public int saveHistory(History history) {
        return historyMapper.saveHistory(history);
    }
 
    
    @Override
    public History getHistoryById(Integer hid) {
        return historyMapper.getHistoryById(hid);
    }
 
    
    @Override
    public int updateHistory(History history) {
        return historyMapper.updateHistory(history);
    }
 
    
    @Override
    public int batchDeleteHistory(String idList) {
        // 字符串转换为List集合
        String[] split = StrUtil.split(idList, ",");
        List<Integer> ids = new ArrayList<>();
        for (String id : split) {
            if (StrUtil.isNotEmpty(id)) {
                ids.add(Integer.parseInt(id));
            }
        }
        return historyMapper.batchDeleteHistory(ids);
    }
}
package com.minzu.service.impl;
 
import cn.hutool.core.util.StrUtil;
import com.minzu.entities.Salary;
import com.minzu.entities.Worker;
import com.minzu.mapper.SalaryMapper;
import com.minzu.service.SalaryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.text.SimpleDateFORMat;
import java.util.*;
import java.util.stream.Collectors;
 

@Service
public class SalaryServiceImpl implements SalaryService {
    
    @Autowired
    private SalaryMapper salaryMapper;
 
    
    @Override
    public List<Salary> listCalcSalary() {
        return salaryMapper.listCalcSalary();
    }
 
    
    @Override
    public List<Salary> listCalcSalaryByCondition(String startDate, String endDate) {
        // 条件成立:表示输入的结束时间为Null,将系统当前时间作为结束时间
        if(StrUtil.isEmpty(endDate)){
            long currentTime = System.currentTimeMillis();
            Date dt = new Date(currentTime);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            endDate = sdf.format(dt);
        }
        // salaryList 在某个时间段已经为客户送过水的送水工信息
        List<Salary> salaryList = salaryMapper.listCalcSalaryByCondition(startDate, endDate);
        // 没有为客户送过水的送水工信息
        List<Worker> workerList = salaryMapper.queryNonSendWaterWorker();
        // 获取以送水的送水工名称
        List<String> workerNameList =
                salaryList.stream()
                        .map(Salary::getWorkerName)
                        .collect(Collectors.toList());
        // 将没有送水的送水工信息合并到salaryList
        // 遍历workerList,将worker对象的数据注入到Salary对象中,让后添加到salaryList集合
        workerList.forEach(worker->{
            // 条件成立:表示没有没有送水的送水工在salaryList集合中不存在,将其放入集合
            if (!workerNameList.contains(worker.getWorkerName())){
                Salary sa = new Salary();
                sa.setWorkerName(worker.getWorkerName());
                sa.setWorkerSalary(worker.getWorkerSalary());
                sa.setWorkerMoney(worker.getWorkerMoney());
                // 没有送水的送水工默认送水数量为0
                sa.setSendWaterCount(0);
                // 没有送水的送水工默认实发工资为基本工资
                sa.setFinalSalary(Double.valueOf(worker.getWorkerSalary()));
                salaryList.add(sa);
            }
        });
        // 将“实发工资”按照降序排序
        // 需要对每个送水工的”实发工资“进行比较
        Collections.sort(salaryList,(o1,o2)->{
            if(o1.getFinalSalary() > o2.getFinalSalary()){
                return -1;
            } else if (o1.getFinalSalary() < o2.getFinalSalary()){
                return 1;
            } else {
                return 0;
            }
        });
//        Collections.sort(salaryList, new Comparator<Salary>() {
//            @Override
//            public int compare(Salary o1, Salary o2) {
//                if(o1.getFinalSalary() > o2.getFinalSalary()){
//                    return -1;
//                } else if(o1.getFinalSalary() < o2.getFinalSalary()) {
//                    return 1;
//                } else {
//                    return 0;
//                }
//            }
//        });
        return salaryList;
    }
}
package com.minzu.service.impl;
 
import com.minzu.entities.WaterDetails;
import com.minzu.mapper.WaterDetailsMapper;
import com.minzu.service.WaterDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 

@Service
public class WaterDetailsServiceImpl implements WaterDetailsService {
 
    @Autowired
    private WaterDetailsMapper waterDetailsMapper;
    
    @Override
    public List<WaterDetails> queryWaterDetails() {
        return waterDetailsMapper.queryWaterDetails();
    }
}

到此这篇关于基于Springboot实现送水公司信息管理系统的文章就介绍到这了,更多相关Springboot送水公司信息管理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于Springboot实现送水公司信息管理系统

本文链接: https://www.lsjlt.com/news/162747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作