基于javaweb和mysql的springboot精美物流管理系统(java+springboot+vue+maven+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot精美物流管理系统(java+springboot+vue+maven+mysql)

一、项目简述

本系统功能包括: 数据统计、收件录入、发件录入、到件录入、派件录入、问题件录入、退件录入、留仓录入、装车录入、发车录入、到车录入、卸车录入、运单录入、运单编辑、运单查询、数据导入、签收录入、签收查询、快件跟踪、自定义跟踪、问题件跟踪、预付款管理、财务报表明细、现金账单、月结账单、代收货款、业务员提成、订单分配、订单查询、物品名维护、入库、出库、库存、物料、角色管理、用户管理、系统设置、员工维护、客户维护、网点维护、报价维护、其他维护、收发记录、到件预报。

二、项目运行 环境配置:

Jdk1.8 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等。

    public MsgDto upda(@RequestBody Expresstype expresstype){
        this.service.updateById(expresstype);
        return new MsgDto("修改成功",true,expresstype);
    }
    @RequestMapping("dele")
    public  MsgDto dele(Integer etid){
        this.service.removeById(etid);
        return new MsgDto("删除成功",true,etid);
    }
    @RequestMapping("findpage")
    public IPage<Expresstype> slectpage(PageStu stu){
        return this.service.page(stu);
    }

}

@RestController
@RequestMapping("problem")
public class Problemtypecontroller {
    @Autowired
    private  ProblemtypeService service;

    @RequestMapping("save")
    public MsgDto save(@RequestBody Problemtype problem){
          this.service.save(problem);
        return new  MsgDto("保存成功",true,problem);
    }
    @RequestMapping("dele")
@RequestMapping("rulesorder")
public class RulesorderController {
    @Autowired
    RulesorderService rulesorderService;

    //分页查询
    @RequestMapping("findPage")
    public IPage<Rulesorder> findPage(@RequestBody PageDto pageDto){
        Page page=new Page(1,4);
        if(pageDto!=null&&pageDto.getCurrent()!=null&& pageDto.getSize()!=null){
            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Rulesorder> list=this.rulesorderService.selectPage(page,pageDto);
        return list;
    }

    //修改
    @RequestMapping("updateRulesorder")
    public MsgDto updateCar(@RequestBody Rulesorder rulesorder){
        this.rulesorderService.updateRulesorder(rulesorder);
        return new MsgDto("修改成功",true,rulesorder);
    }

    //删除
    @RequestMapping("deleteRulesorderById")
    public void deleteCar(Integer roid){
        this.rulesorderService.deleteRulesorder(roid);
    }

    //添加
    @RequestMapping("saveRulesorder")
    public MsgDto saveCar(@RequestBody Rulesorder rulesorder){
        this.rulesorderService.save(rulesorder);
        return new MsgDto("保存成功",true,rulesorder);
    }
}


}

@CrossOrigin
@RestController
@RequestMapping("gw")
public class GwController {
    @Autowired
    GwService gwService;

    @RequestMapping("findById")
    public Gw findById(Integer id){
        return this.gwService.findGwById(id);
    }

    @RequestMapping("seavGw")
    public MsgDto  seavGw(@RequestBody Gw gw){
        gw.setIntime(new Date());
        this.gwService.saveGW(gw);
        return new MsgDto("保存成功",true,gw);
    }
    @RequestMapping("selectAll")
    public List<Gw> selectAll(){
        List<Gw> list=this.gwService.list();
        return list;
    }

    @RequestMapping("deleteGw")
    public MsgDto  deleteGw(Integer id){
        this.gwService.delectGW(id);
        return new MsgDto("删除成功",true,id);
    }
    @RequestMapping("deletefor")
    public boolean deletefor(@RequestParam List<Integer> ids){
        boolean i=this.gwService.removeByIds(ids);
        return  i;
	   Logistics ss = this.logisticsService.selectBranchBywid(id);
        return ss;
   }
    @RequestMapping("selectlogisticsBywid")
    public List<Logistics> selectlogisticsBywid(String id){
        List<Logistics> list=this.logisticsService.selectlogisticsBywid(id);
        return list;
    }
    @RequestMapping("selectBranchBywid2")
    public Logistics  selectBranchBywid2(String id){
        return this.logisticsService.selectBranchBywid2(id);
    }
    @RequestMapping("selectBranchBywid3")
    public Logistics  selectBranchBywid3(String id){
        return this.logisticsService.selectBranchBywid3(id);
    }

    @RequestMapping("tongji")
    public List<TongjiVo> tongji(){
        return this.logisticsService.tongji();
    }

}

@CrossOrigin
    private  ProblemtypeService service;

    @RequestMapping("save")
    public MsgDto save(@RequestBody Problemtype problem){
          this.service.save(problem);
        return new  MsgDto("保存成功",true,problem);
    }
    @RequestMapping("dele")
    public MsgDto dele(Integer pbid){
        this.service.removeById(pbid);
        return  new MsgDto("删除成功",true,pbid);
    }
    @RequestMapping("upda")
    public MsgDto upda(@RequestBody Problemtype prob){
        this.service.updateById(prob);
        return  new MsgDto("修改成功",true,prob);
    }

    @RequestMapping("findpage")
    public IPage<Problemtype> findpage(PageStu stu){
        return this.service.page(stu);
    }

}

@CrossOrigin
@RestController
@RequestMapping("pHandling")
public class PHandlingController {
    @Autowired
    PHandlingService pHandlingService;

    //删除角色
    @RequestMapping("delRole")
    public Boolean delRole(int roleid){
        return this.sysRoleService.removeById(roleid);
    }

    //查询所有的资源
    @RequestMapping("selectRes")
    public List<SysResource> selectRes(){
        return this.sysResourceService.resAll();
    }

    //查询所分配资源的角色拥有的资源
    @RequestMapping("selectRo_Res")
    public List<Integer> selectRo_Res(int roleid){
        return this.sysResourceService.selectRo_Res(roleid);
    }

    //修改角色所拥有的资源
    @RequestMapping("updateRoRes")
    public int updateRoRes(@RequestBody ResDto resDto){
        this.sysRoleResService.updateRoRe(resDto);
        return 1;
    }

    //查询当前网点所有用户
    @RequestMapping("findEmpBran")
    public IPage<Employee> findEmpBran(@RequestBody QueryDto queryDto){
        return this.employeeService.selectEmpByBid(queryDto);
    }

    //查询所有的角色,无分页
    @RequestMapping("findRoleAll")
    public List<SysRole> findRoleAll(){
        return this.sysRoleService.list();
    }

    //查询所分配角色的用户拥有的角色
    @RequestMapping("selectRo_Emp")
    public List<Integer> selectRo_Emp(int empid){
        return this.sysRoleEmpService.selectRoEmp(empid);

@RestController
@RequestMapping("itemtype")
public class ItemtypeController {

    @Autowired
    private ItemtypeService service;

    @RequestMapping("save")
    public MsgDto save(@RequestBody Itemtype itemtype){
        this.service.save(itemtype);
        return  new MsgDto("添加成功",true,itemtype);
    }
    @RequestMapping("upda")
    public  MsgDto upda(@RequestBody Itemtype itemtype){
        this.service.updateById(itemtype);
        return new MsgDto("修改成功",true,itemtype);
    }
    @RequestMapping("dele")
    public MsgDto dele(Integer itemid){
        this.service.removeById(itemid);
        return new MsgDto("删除成功",true,itemid);
    }
    @RequestMapping("findpage")
    public IPage<Itemtype> findpage(PageStu stu){
      return this.service.page(stu);
    }

    @RequestMapping("selectItemtype")
    public List<Itemtype> selectItemtype(){
        List<Itemtype> list=this.service.list();
        return list;
    }

}

                .and().httpBasic();
                //禁用跨站伪造
        http.cors().and().csrf().disable();

        //如果项目没有前后端分离,还可以通过 formlogin配置登录相关的页面和请求处理
        // 使用自定义的认证过滤器
        // http.addFilterBefore(new  MyLoginFilter(authenticationManager()),UsernamePasswordAuthenticationFilter.class);
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
        // 设置不隐藏 未找到用户异常
        provider.setHideUserNotFoundExceptions(true);
        // 用户认证service - 查询数据库的逻辑
        provider.setUserDetailsService(userDetailsService());
        // 设置密码加密算法
        provider.setPasswordEncoder(passwordEncoder());
        auth.authenticationProvider(provider);
    }

    /**
     * 描述: 通过自定义的UserDetailsService 来实现查询数据库用户数据
     **/
    @Override
    @Bean
    protected UserDetailsService userDetailsService() {
        return new UserDetailsServiceImpl();
    }

    /**
     * 描述: 密码加密算法 BCrypt 推荐使用
     **/
    @Bean
    public BCryptPasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

        }
        IPage<Logistics> list=this.problemtypeService.selectLogisticsPage5(page,pageDto);
        return list;
    }

}

@RestController
@RequestMapping("logistics")
public class LogisticssController {

    @Autowired
    LogisticsService logisticsService;
    @Autowired
    EmployeeService employeeService;

    //分页查询
    @RequestMapping("findPage")
    public IPage<Logistics> findPage(@RequestBody PageDto pageDto){
        Page page=new Page(1,4);
        if(pageDto!=null&&pageDto.getCurrent()!=null&& pageDto.getSize()!=null){
            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Logistics> list=this.logisticsService.findPage(page,pageDto);
        return list;
    }

    @RequestMapping("updateLogistics")
    public void updateLogistics(@RequestBody Logistics logistics){
        logistics.setSstatus("已签收");
        this.logisticsService.updateById(logistics);
    }

            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Logistics> list=this.logisticsService.findPage(page,pageDto);
        return list;
    }

    @RequestMapping("updateLogistics")
    public void updateLogistics(@RequestBody Logistics logistics){
        logistics.setSstatus("已签收");
        this.logisticsService.updateById(logistics);
    }

    @RequestMapping("findPage2")
    public IPage<Logistics> findPage2(@RequestBody PageDto pageDto){
        Page page=new Page(1,4);
        if(pageDto!=null&&pageDto.getCurrent()!=null&& pageDto.getSize()!=null){
            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Logistics> list=this.logisticsService.findPage2(page,pageDto);
        return list;
    }

}

@CrossOrigin
@RestController
@RequestMapping("gw")
public class GwController {
    @Autowired
    GwService gwService;

    @RequestMapping("findById")
    public Gw findById(Integer id){
        return this.gwService.findGwById(id);
    }
//        };
//    }
//
//    @Override
//    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//        auth.userDetailsService(userDetailsService()).passwordEncoder(new BCryptPasswordEncoder());
//    }
//
//    /**
//     * AffirmativeBased – 任何一个AccessDecisionVoter返回同意则允许访问
//     * ConsensusBased – 同意投票多于拒绝投票(忽略弃权回答)则允许访问
//     * UnanimousBased – 每个投票者选择弃权或同意则允许访问
//     * <p>
//     * 决策管理
//     */
//    private AccessDecisionManager accessDecisionManager() {
//        System.out.println("进来了--------------AccessDecisionManager--------------");
//        List<AccessDecisionVoter<? extends Object>> decisionVoters = new ArrayList<>();
//        decisionVoters.add(new WebExpressionVoter());
//        decisionVoters.add(new AuthenticatedVoter());
//        decisionVoters.add(new RoleVoter());
//        /* 路由权限管理 */
//        decisionVoters.add(new UrlRoleAuthHandler());
//        return new UnanimousBased(decisionVoters);
//    }
//
//
//    @Autowired
//    private UrlRolesFilterHandler urlRolesFilterHandler;
//
//
//    class DefinedObjectPostProcessor implements ObjectPostProcessor<FilterSecurityInterceptor> {
//        @Override
//        public <O extends FilterSecurityInterceptor> O postProcess(O object) {
//            object.setSecurityMetadataSource(urlRolesFilterHandler);
//            return object;
//        }
//    }

//    @Autowired
//    CustomUrlDecisionManager customUrlDecisionManager;
//
//

//
//                            Result.error("密码过期,请联系管理员!");
//                        } else if (exception instanceof AccountExpiredException) {
//                            Result.error("账户过期,请联系管理员!");
//                        } else if (exception instanceof DisabledException) {
//                            Result.error("账户被禁用,请联系管理员!");
//                        } else if (exception instanceof BadCredentialsException) {
//                            Result.error("用户名或者密码输入错误,请重新输入!");
//                        }
//                        out.write(new ObjectMapper().writeValueAsString(respBean));
//                        out.flush();
//                        out.close();
//                    }
//                })
//                .permitAll()
//                .and()
//                //注销的回调
//                .logout()
//                .logoutSuccessHandler(new LogoutSuccessHandler() {
//                    @Override
//                    public void onLogoutSuccess(HttpServletRequest req, HttpServletResponse resp, Authentication authentication) throws IOException, ServletException {
//                        resp.setContentType("application/json;charset=utf-8");
//                        PrintWriter out = resp.getWriter();
//                        out.write(new ObjectMapper().writeValueAsString(Result.ok("注销成功!")));
//                        out.flush();
//                        out.close();
//                    }
//                })
//                .permitAll()
//                .and()
//                .csrf().disable().exceptionHandling()
//                //没有认证时,在这里处理结果,不要重定向
//                .authenticationEntryPoint(new AuthenticationEntryPoint() {
//                    @Override
//                    public void commence(HttpServletRequest req, HttpServletResponse resp, AuthenticationException authException) throws IOException, ServletException {
//                        resp.setContentType("application/json;charset=utf-8");
//                        //resp.setStatus(401);
//                        PrintWriter out = resp.getWriter();
//                        Result respBean = Result.error("访问失败!");
//                        if (authException instanceof InsufficientAuthenticationException) {
//                            //respBean.setMsg("请求失败,请联系管理员!");
//                        }
//                        //out.write(new ObjectMapper().writeValueAsString(respBean));
//                        out.flush();
//                        out.close();
//                    }
//                });
//    }
}

//        auth.userDetailsService(userDetailsService()).passwordEncoder(new BCryptPasswordEncoder());
//    }
//
//
//
//
//    @Autowired
//    private UrlRolesFilterHandler urlRolesFilterHandler;
//
//
//    @Override
//    protected void configure(HttpSecurity http) throws Exception {
//        http.cors().and().csrf().disable();
//        http.authorizeRequests()
//                //所有的请求认证之后才能进入
//                .withObjectPostProcessor(new ObjectPostProcessor<FilterSecurityInterceptor>() {
//                    @Override
//                    public <O extends FilterSecurityInterceptor> O postProcess(O object) {
//                        object.setAccessDecisionManager(customUrlDecisionManager);
//                        object.setSecurityMetadataSource(urlRolesFilterHandler);
//                        return object;
//                    }
//                });
//                http
//                .formLogin()
//                .usernameParameter("username")
//                .passwordParameter("password")
//                .loginProcessingUrl("/login") //登陆请求
//                .loginPage("/login")//登陆页面
//                //登陆成功的回调
//                .successHandler(new AuthenticationSuccessHandler() {
//                    @Override
//                    public void onAuthenticationSuccess(HttpServletRequest req, HttpServletResponse resp, Authentication authentication) throws IOException, ServletException {
//                        resp.setContentType("application/json;charset=utf-8");
//                        PrintWriter out = resp.getWriter();
//                        Result ok = Result.ok("登录成功!");
//                        String s = new ObjectMapper().writeValueAsString(ok);
//                        out.write(s);
//                        out.flush();
//                        out.close();
//                    }
//                })
//                //登陆失败的回调
//                .failureHandler(new AuthenticationFailureHandler() {
//                    @Override
//                    public void onAuthenticationFailure(HttpServletRequest req, HttpServletResponse resp, AuthenticationException exception) throws IOException, ServletException {
//                        resp.setContentType("application/json;charset=utf-8");

    //分页查询
    @RequestMapping("findPage")
    public IPage<Waybill> findPage(@RequestBody PageDto pageDto){
        Page page=new Page(1,4);
        if(pageDto!=null&&pageDto.getCurrent()!=null&& pageDto.getSize()!=null){
            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Waybill> list=this.waybillService.selectPage(page,pageDto);
        return list;
    }

    //添加
    @RequestMapping("saveWaybill")
    public MsgDto saveWaybill(@RequestBody Waybill waybill){
        this.waybillService.save(waybill);
        return new MsgDto("保存成功",true,waybill);
    }

    //删除
    @RequestMapping("deleteWaybill")
    public void deleteWaybill(String wid){
        this.waybillService.removeById(wid);
    }

    //修改
    @RequestMapping("updateWaybill")
    public MsgDto updateCar(@RequestBody Waybill waybill){
        this.waybillService.updateById(waybill);
        return new MsgDto("修改成功",true,waybill);
    }
}

//LSK新增的CURD
@RestController
@RequestMapping("car")
    }
    @RequestMapping("selectbranth")
    public List<Branch> selectbranth(){
        List<Branch> list=this.branchService.list();
        return list;
    }
    @RequestMapping("selectdelivery")
    public List<Employee> selectdelivery(){
        List<Employee> list=this.employeeService.selectDelivery();
        return list;
    }
    @RequestMapping("selectproblem")
    public List<Problemtype> selectproblem(){
        List<Problemtype> list=this.problemtypeService.list();
        return list;
    }
    @RequestMapping("selectcar")
    public List<Car> selectcar(){
        List<Car> list=this.carService.list();
        return list;
    }
    @RequestMapping("selectbyBranchid")
   public Branch selectbyBranchid(Integer id) throws Exception {

            User user= SecurityUtils.getUserInfo();
            Employee employee=this.employeeService.getById(user.getId());
         Branch branch =this.logisticsService.findbyBranchid(employee.getBid());
         return  branch;
   }
   @RequestMapping("selectBranchBywid")
   public Logistics  selectBranchBywid(String id){
	   Logistics ss = this.logisticsService.selectBranchBywid(id);
        return ss;
   }
    @RequestMapping("selectlogisticsBywid")
    public List<Logistics> selectlogisticsBywid(String id){
        List<Logistics> list=this.logisticsService.selectlogisticsBywid(id);
        return list;
    }
    @RequestMapping("selectBranchBywid2")
    public Logistics  selectBranchBywid2(String id){
        return this.logisticsService.selectBranchBywid2(id);
    }
    @RequestMapping("selectBranchBywid3")
    public Logistics  selectBranchBywid3(String id){
        return this.logisticsService.selectBranchBywid3(id);
    }

    @RequestMapping("tongji")
    public List<TongjiVo> tongji(){
        return this.logisticsService.tongji();
    }
        return new MsgDto("修改成功",true,waybill);
    }
}

//LSK新增的CURD
@RestController
@RequestMapping("car")
public class CarController {

    @Autowired
    CarService carService;

    //分页查询
    @RequestMapping("findPage")
    public IPage<Car> findPage(@RequestBody PageDto pageDto){
        Page page=new Page(1,4);
        if(pageDto!=null&&pageDto.getCurrent()!=null&& pageDto.getSize()!=null){
            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Car> list=this.carService.selectPage(page,pageDto);
        return list;
    }

    //修改
    @RequestMapping("updateCar")
    public MsgDto updateCar(@RequestBody Car car){
        this.carService.updateById(car);
        return new MsgDto("修改成功",true,car);
    }

    //删除
    }

}

@RestController
@RequestMapping("logistics")
public class LogisticssController {

    @Autowired
    LogisticsService logisticsService;
    @Autowired
    EmployeeService employeeService;

    //分页查询
    @RequestMapping("findPage")
    public IPage<Logistics> findPage(@RequestBody PageDto pageDto){
        Page page=new Page(1,4);
        if(pageDto!=null&&pageDto.getCurrent()!=null&& pageDto.getSize()!=null){
            page.setCurrent(pageDto.getCurrent());
            page.setSize(pageDto.getSize());
        }
        IPage<Logistics> list=this.logisticsService.findPage(page,pageDto);
        return list;
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
        // 设置不隐藏 未找到用户异常
        provider.setHideUserNotFoundExceptions(true);
        // 用户认证service - 查询数据库的逻辑
        provider.setUserDetailsService(userDetailsService());
        // 设置密码加密算法
        provider.setPasswordEncoder(passwordEncoder());
        auth.authenticationProvider(provider);
    }

    /**
     * 描述: 通过自定义的UserDetailsService 来实现查询数据库用户数据
     **/
    @Override
    @Bean
    protected UserDetailsService userDetailsService() {
        return new UserDetailsServiceImpl();
    }

    /**
     * 描述: 密码加密算法 BCrypt 推荐使用
     **/
    @Bean
    public BCryptPasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

    /**
     * 描述: 注入AuthenticationManager管理器
     **/
    @Override
    @Bean
    public AuthenticationManager authenticationManager() throws Exception {
        return super.authenticationManager();
    }

//    @Override
//    protected void configure(HttpSecurity http) throws Exception {
//
//        // 关闭csrf
//        http.csrf().disable();
//
//        // 配置登录页面
//        http.formLogin().loginPage("/login").permitAll();
//
//        // 配置登录成功后的操作
//        http.formLogin().successHandler(new LoginSuccessHandler());
//
//
//        // 用户权限不足处理器
//        http.exceptionHandling().accessDeniedHandler(new AuthLimitHandler());

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐