基于javaweb+mysql的springboot医院管理系统(java+springboot+ssm+mysql+maven+thymeleaf+html)

基于javaweb+mysql的springboot医院管理系统(java+springboot+ssm+mysql+maven+thymeleaf+html)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SpringBoot医院管理系统(java+springboot+ssm+mysql+maven+thymeleaf+html)

一、项目简述

功能:该项目是用springboot+layui+shiro写的医院管理系 统,该系统的业务比较复杂,数据库一共有36张表。

项目分为门诊管理、住院管理、系统管理、统计管理、数 据中心、排班管理、仓库管理、药房管理

本系统重点是门诊和住院管理 填写患者的详细信息,如姓名,年龄、手机号、性别、身 份证号、选择科室挂号类型医生、会出来相对的挂号费, 点击提交的时候会判断你输入的各项信息是否正确,如果 该手机号或者该身份证号正在就诊,则会提示该手机号或 者该身份证号正在就诊。挂号页面会根据单选按钮来查询 全部的挂号,当天的挂号和预细勺挂号,并且可以针对当 天的挂号去给用户进行一系列操作,如转入住院,如果该 病人有正在进行的项目则不能转入住院,需要把相关费用 交完后才能转入住院

门诊管理的功能: 用户挂号、处方划价、项目划价、项目缴费、项目检查、 药品缴费、门诊患者库

住院管理的功能: 入院登记、缴费管理、药品记账、项目记账、出院结算

系统管理功能: 菜单管理、角色管理、用户管理、图标管理、数据源监控 管理,其中数据源的登陆账号和密码是:admin/admin

统计管理: 门诊月度统计、住院月度统计、门诊年度统计、住院年度 统计、医生统计、门诊当天统计 数据中心

科室中心管理、医生列表管理、药品产地管理、项目大类 管理、挂号类型管理、仓库管理、经办人管理、供货商管 理、药品分类管理、药品字典管理

排班: 医生排班U里 仓库管理: 入库单管理、库存查询、出库单管理、操作记录管理等

药房管理: 药房详情管理、门诊取药管理、住院取药管理

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Springboot+ SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + Layui+ maven等等

    public List<TreeNode> toTreeLoad(HttpServletRequest request) {
        //获取用户登陆id根据不同的用户有不停菜单
        User user = (User) request.getSession().getAttribute("user");
        ///获取用户登陆id根据不同的用户有不停菜单
        List<Menu> list = menuService.queryMenuByUid(user.getUserid());
        //创建list集合
        //把list放入nodes
        List<TreeNode> nodes = new ArrayList<>();
        for (Menu menus : list) {
            Integer id = menus.getId();
            Integer pid = menus.getPid();
            String title = menus.getTitle();
            String icon = menus.getIcon();
            String href = menus.getHref();
            Boolean spread = menus.getSpread() == true;
            String target = menus.getTarget();
            nodes.add(new TreeNode(id, pid, title, icon, href, spread, target));
        }
        //组装菜单
        List<TreeNode> treeNodes = new ArrayList<>();
        //n1.getPid() == 1 为父级菜单
        for (TreeNode n1 : nodes) {
            if (n1.getPid() == 1) {
                treeNodes.add(n1);
            }
            //将n2放入n1的子级中   id为子级
            for (TreeNode n2 : nodes) {
                if (n2.getPid() == n1.getId()) {
                    n1.getChildren().add(n2);
                }
            }
        }
        return treeNodes;
    }

    /*
     * 加载菜单管理左边的菜单树
     * */
    @RequestMapping("loadMenuMangerLeftTreeJson")
    @ResponseBody
    public DataGridView loadMenuMangerLeftTreeJson(Menu menu) {
    @RequestMapping("zhuanyuan")
    @ResponseBody
    public Object zhuanyuan(Integer id,CReport cReport,String zhuan){
        cReport.setReportId(id);
        cReport.setZhuan(zhuan);
        Integer zhuanyuan = creportService.zhuanyuan(cReport);
        return zhuanyuan;
    }
}
package com.aaa.controller;

@Controller
@RequestMapping("pharmacy")
public class PharmacyController {
    @Autowired
    private   PharmacyService pharmacyService;
    @Autowired
    private RecordService rs;
    //查询药品仓库
    @RequestMapping("selectpharmacy")
    @ResponseBody
    public Object selectpharmary(Ypharmacy ypharmacy, Integer page, Integer limit) {
        System.out.print("进去查询药房方法");
        PageHelper.startPage(page, limit);
        List<Ypharmacy> drugstores = pharmacyService.selpharmacy(ypharmacy);
        PageInfo pageInfo = new PageInfo(drugstores);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    * 修改用户
    * */
    @RequestMapping("updateUser")
    @ResponseBody
    public Object updateUser(User user){
        int i = userService.updateUser(user);
        if(i>0){
                return "修改成功";
            }else{
                return "修改失败";
            }

    }
    /*
     * 删除用户
     * */
    @RequestMapping("deleteUser")
    @ResponseBody
    public Object deleteUser(Integer userid){
        userService.deleteUser(userid);
       return "删除成功";
    }
    /*
     * 初始化用户分配角色
     * */
    @RequestMapping("initUserRole")
    @ResponseBody
    public DataGridView initUserRole(Integer userid){
        return userService.queryUserRole(userid);
    }
    /*
     * 添加用户
     * */
    @RequestMapping("addUser")
    @ResponseBody
    public Object addUser(User user){
        int i1 = userService.checkUser(user);
        if(i1==1){
            return "当前登陆名已存在";
        }else {
@Controller
@RequestMapping("liao")
public class LadminController {

    @Autowired
    private LadminService ladminService;
    @Autowired
    private LleaveService lleaveService;

    //跳转入院登记页面
    @RequestMapping("/admin")
    public String admin(){
        return "liao/admin";
    }

    //查询患者信息
    @RequestMapping("/selRegister")
    @ResponseBody
    public Object selRegister(Integer page, Integer limit,Register register){
        //分页查询
        PageHelper.startPage(page, limit);
        //查询未出院的患者信息
        List<Register> selreg=ladminService.selRegister(register);
        //把查到的信息放入分页插件中
        PageInfo pageInfo = new PageInfo(selreg);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        //把数据返回到layui中
        return tableData;
    }

    //页面请求查询科室信息
    @RequestMapping("/selDepartment")
    @ResponseBody
    public Object selDepartment(){
        //new一个实体类
        Departments departments=new Departments();
        //查询所有科室
        List<Departments> Departments= ladminService.selDepartment(departments);
        //把查到的科室返回前台下拉框中
    @RequestMapping("doctorList")
    @ResponseBody
    public Object doctorList(Doctor doctor, Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<Doctor> listAll = doctorService.doctorList(doctor);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());

        return tableData;
    }
    /*
     * 添加医生
     * */
    @RequestMapping("addDoctor")
    @ResponseBody
    public Object addDoctor(Doctor doctor, Paiban paiban){
        int count = doctorService.count(doctor);
        if(count==0){
            int i = doctorService.addDoctor(doctor);
            if(i==1){
                return "添加成功";
            }else{
                return "添加失败";
            }
        }else{
            return doctor.getDoctorName()+"已存在";
        }

    }
    /*
     * 修改医生
     * */
    @RequestMapping("editDoctor")
    @ResponseBody
    public Object editDoctor(Doctor doctor){
        int i = doctorService.editDoctor(doctor);
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    //删除过期的药
    @RequestMapping("delguoqidurg")
    @ResponseBody
    public Integer delguoqidurg(Integer rugstoreId,Record record) {
        System.out.print("进入删除");
        int delguoqidurg = storeService.delguoqidurg(rugstoreId);//删除此条数据
        if(delguoqidurg==1){//如果删除此条 则添加到记录表

            System.out.print("添加记录表");
            int addjilu = rs.addjilu(record);
        }
        return delguoqidurg;
    }

}
package com.aaa.controller;

@Controller
@RequestMapping("chuku")
public class OutinstoreController extends BasetimeController{
    //自动装配
    @Autowired
        PageHelper.startPage(page, limit);
        List<Lrecord> listAll =ldrugService.selDrugs(lrecord);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }

    //查询用户取过的药品信息
    @RequestMapping("/selPhar")
    @ResponseBody
    public Object selPhar(Integer page, Integer limit, Lrecord lrecord){
        lrecord.setState(2);
        PageHelper.startPage(page, limit);
        List<Lrecord> listAll =ldrugService.selDrugs(lrecord);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }

    //查询药品库存数量
    @RequestMapping("/selNum")
    @ResponseBody
    public Object selNum(Integer pharmacyId){
        Lpharmacy lpharmacy=new Lpharmacy();
        lpharmacy.setPharmacyId(pharmacyId);
        List<Lpharmacy> listAll =ldrugService.selDrug(lpharmacy);
        return listAll;
    }

    //添加药品清单
    @RequestMapping("/addDrug")
    @ResponseBody
    @Transactional
    public Object addDrug(Lrecord lrecord) {
        //查询是否添加过该药品
        lrecord.setState(0);
        int rel = 0;
        //查询是否添加过但未取出该药品
        List<Lrecord> lrecords = ldrugService.selDrugs(lrecord);
        for (int i = 0; i < lrecords.size(); i++) {
    @ResponseBody
    public int selnumber(Drugstore drugstore) {
        System.out.print("查询数量方法");
      int selnumber = putinService.selnumber(drugstore);
        System.out.println(selnumber);
       return selnumber;
    }
    //查询仓库里药品数量不足的药品
    @RequestMapping("selectlackdrug")
    @ResponseBody
    public Object selectlackdrug(Drugstore drugstore, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Drugstore> drugstores = storeService.selectlackdrug(drugstore);//查询药品数量不足的药
        PageInfo pageInfo = new PageInfo(drugstores);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    //查询采购单
    @RequestMapping("selcaigou")
    @ResponseBody
    public Object selcaigou(Caigou caigou, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Caigou> caigous = storeService.selcaigou(caigou);//查询遍历采购表
        PageInfo pageInfo = new PageInfo(caigous);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }

    //添加一条药品采购单
    @RequestMapping("addcaigou")
        lrecord.setHospitalpriceid(hospitalpriceid);
        int i = ldrugService.delDrug(lrecord);
        if (i == 1) {
            return "移除成功";
        } else {
            return "移除失败";
        }
    }
}
package com.aaa.controller;

@Controller
@RequestMapping("caotake")
public class CTakeConter {
    @Autowired
    private CTakeService cTakeService;
    @RequestMapping("seltake")
    private Object seltake(){
        return "cao/Cquyao";
    }
    //查询所有患者信息
    @RequestMapping("tselpreson")
    @ResponseBody
    public Object tselperson(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<ReportVo> sel = cTakeService.sel();
        List<Unit> listAll = unitService.findAllUnit(null);
        return listAll;
    }
    @RequestMapping("findAllProjecttype1")
    @ResponseBody
    public Object ProjecttypeList(){

        List<Projecttype> listAll = prjectTypeService.findAllProjecttype(null);

        return listAll;
    }
    /*

     * 添加门诊收费项
     * */
    @RequestMapping("addOutpatienttype")
    @ResponseBody
    public Object addOutpatienttype(Outpatienttype outpatienttype,Integer projectId,Integer unitId){
        outpatienttype.setBigprojectId(projectId);
        outpatienttype.setUnit(unitId);
        int i1 = prjectTypeService.count2(outpatienttype);
        if(i1==0){
            int i = prjectTypeService.addOutpatienttype(outpatienttype);
            if(i==1){
                return "添加成功";
            }else{
                return "添加失败";
            }
        }else {
            return outpatienttype.getProjectName()+"已存在";
        }

    }
    /*
     * 修改门诊收费项
     * */
    @RequestMapping("editOutpatienttype")
    @ResponseBody
    public Object editOutpatienttype(Outpatienttype outpatienttype,Integer projectId,Integer unitId){
        outpatienttype.setBigprojectId(projectId);
        outpatienttype.setUnit(unitId);

@Controller
@RequestMapping("user")
public class UserController {
    @Autowired
    private UserService userService;
    @RequestMapping("selectAllUser")
    @ResponseBody
    public Object selectAllUser(Integer page,Integer limit,User user){
        PageHelper.startPage(page, limit);
        List<User> allUser = userService.selectAllUser(user);
        PageInfo pageInfo = new PageInfo(allUser);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());

        return tableData;
    }
    /*
    * 修改用户
    * */
    @RequestMapping("updateUser")
    @ResponseBody
    public Object updateUser(User user){
        int i = userService.updateUser(user);
        if(i>0){
                return "修改成功";
            }else{
                return "修改失败";
            }

    }
    /*
     * 删除用户
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }

    //查询药品库存数量
    @RequestMapping("/selNum")
    @ResponseBody
    public Object selNum(Integer pharmacyId){
        Lpharmacy lpharmacy=new Lpharmacy();
        lpharmacy.setPharmacyId(pharmacyId);
        List<Lpharmacy> listAll =ldrugService.selDrug(lpharmacy);
        return listAll;
    }

    //添加药品清单
    @RequestMapping("/addDrug")
    @ResponseBody
    @Transactional
    public Object addDrug(Lrecord lrecord) {
        //查询是否添加过该药品
        lrecord.setState(0);
        int rel = 0;
        //查询是否添加过但未取出该药品
        List<Lrecord> lrecords = ldrugService.selDrugs(lrecord);
        for (int i = 0; i < lrecords.size(); i++) {
            if (lrecords.get(i).getDurgname().equals(lrecord.getDurgname())) {
                rel = 1;
                break;
            }
        }
        if (rel == 1) {
            //修改患者药品数量
            int j = ldrugService.updDrug(lrecord);
            if (j == 1) {
                //减少药品数量
                int o = ldrugService.updNum(lrecord);
                if (o == 1) {
                    return "添加成功";
                } else {
                    return "添加失败";
                }
            } else {
                return "添加失败";
            }
        } else {
            //计算总价
            Double qian = lrecord.getRepiceprice();
            Integer shu = lrecord.getDurgnum();
    }
    //模糊查询
    @RequestMapping("mohu")
    @ResponseBody
    public Object mohu(String durgname,ReportVo reportVo, Integer page, Integer limit){
        reportVo.setReportName(durgname);
        PageHelper.startPage(page, limit);
        List<ReportVo> mohu = cCashierService.mohu(reportVo);
        PageInfo pageInfo = new PageInfo(mohu);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式,如果后台没有加上这句话的话需要在前台页面手动设置
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }
    //添加用户病因
    @RequestMapping("addbing")
    @ResponseBody
    public Object addbing(Integer reid, String bing, CReport cReport){
        cReport.setZhuan(bing);
        cReport.setReportId(reid);
        Integer addbing = cCashierService.addbing(cReport);
        return addbing;
    }
    //查询用户有没有填写病因
    @RequestMapping("selbing")
    @ResponseBody
    public Object selbing(Integer reid){
        String selbing = cCashierService.selbing(reid);
        return selbing;
    }
    //查看用户的检查结果
    @RequestMapping("lookbing")
    @ResponseBody
    public Object lookbing(Integer reid){
        String lookbing = cCashierService.lookbing(reid);
        return lookbing;
    }
    //查看该用户是否还有未交钱的项目
    @RequestMapping("seljiao")
    }

    /*
     * 删除菜单
     * */
    @RequestMapping("deleteMenu")
    @ResponseBody
    public String deleteMenu(Integer id) {
        int pid_num = menuService.deleteMenu(id);
        return "true";
    }

    /*
     * 修改菜单
     * */
    @RequestMapping("updateMenu")
    @ResponseBody
    public Object updateMenu(Menu menu) {
        menuService.updateMenu(menu);
        return "修改成功";
    }
}
package com.aaa.controller;

@Controller
@RequestMapping("liao")
public class LdrugController {
    @Autowired
    private LdrugService ldrugService;

    //跳转药品登记页面
    @RequestMapping("/drug")
    public String admin(){
        return "liao/drug";
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());

        return tableData;
    }

    /*
     * 添加菜单
     * */
    @RequestMapping("addMenu")
    @ResponseBody
    public String addMenu(Menu menu) {
        int i = menuService.addMenu(menu);
        if (i == 1) {
            return "添加成功";
        } else {
            return "添加失败";
        }

    }

    /*
     * 检查菜单
     * */
    @RequestMapping("checkMenuHasChildren")
    @ResponseBody
    public String checkMenuHasChildren(Integer id) {
        int pid_num = menuService.checkMenuHasChildren(id);
        if (pid_num <= 0) {
            return "1";
        } else {
            return "0";
        }

    }
    //查询所有的科室
    @RequestMapping("seldep")
    @ResponseBody
    public Object seldep(){
        List<CDepartments> seldep = creportService.seldep();
        return  seldep;
    }
    //查询所有的挂号类型
    @RequestMapping("/selreg")
    @ResponseBody
    public Object selreg(){
        List<CRegisteredtype> selreg = creportService.selreg();
        return selreg;
    }
    //查询医生信息
    @RequestMapping("seldoctor")
    @ResponseBody
    public Object seldoctor(CDoctor cDoctor){
        Calendar calendar = Calendar.getInstance();
        Integer data=calendar.get(Calendar.DAY_OF_WEEK)-1;//获取当前是星期几
        if(data==1){
            List<ReportVo> one = creportService.one(cDoctor);
            return one;
        }else if(data==2){
            List<ReportVo> two = creportService.two(cDoctor);
            return two;
        }else if(data==3){
            List<ReportVo> three = creportService.three(cDoctor);
            return three;
        }else if(data==4){
            List<ReportVo> four = creportService.four(cDoctor);
            return four;
        }else if(data==5){
            System.out.println(data);
            List<ReportVo> five = creportService.five(cDoctor);
            return five;
        }else if(data==6){
            List<ReportVo> six = creportService.six(cDoctor);
            return six;
        }else{
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    @RequestMapping("delhuishou")
    @ResponseBody
    public  Integer delhuishou(Huishou huishou, Record record){
        //删除回收表此药(处理)
        System.out.println("进入处理");
        int delhuishou = pharmacyService.delhuishou(huishou);
      if(delhuishou==1){
          System.out.print("添加记录表");
          int addjilu = rs.addjilu(record);//添加一条记录
      }

        return delhuishou;

    }

}
package com.aaa.controller;

@Controller
@RequestMapping("finance")
public class FinanceController {
    @Autowired
    private FinanceService financeService;
    /*门诊月收入对比*/
    @ResponseBody
    @RequestMapping("reportYearFinance")
    public Object reportYearFinance(String year){
        List<Double> doubles = financeService.reportYearFinance(year);
    public Object resetUserPwd(User user,Integer userid){
        user.setUserid(userid);
        //加盐
        String salt = UserCredentialsMatcher.generateSalt(6);
        //MD5加密迭代两次
        user.setPwd(UserCredentialsMatcher.encryptPassword("md5", "123456", salt, 2));
        user.setType(2);
        user.setSalt(salt);
        userService.resetUserPwd(user);
        return "重置成功";

    }
    /*
     * 保存用户和角色的关系
     * */
    @RequestMapping("saveUserRole")
    @ResponseBody
    public Object saveUserRole(UserRole userRole){
        userService.saveUserRole(userRole);
        return "分配成功";
    }    /*
     * 修改资料
     * */
    @RequestMapping("editLogin")
    @ResponseBody
    public Object editLogin(User user){
        int i = userService.editLogin(user);
        if(i==1){
            return "修改成功";
        }else{
            return "修改失败";
        }

    }
    @Autowired
    private MenuService menuService;
    @RequestMapping("editPwd")
    @ResponseBody
    public Object editPwd(User user,String loginname,String pwd,String pwd1){
        //第一步:建立subject
        Subject subject = SecurityUtils.getSubject();
        //第二步:封装token  凭证
        UsernamePasswordToken token = new UsernamePasswordToken(loginname, pwd);
        try {
            //只要能通过认证就能通过了
    //如果处方中有该药品则修改该药品的数量和价钱
    @RequestMapping("updchuo")
    @ResponseBody
    public Object updchuo(CCashier cCashier,CPharmacy cPharmacy){
        //修改处方中药品的数量
        Integer updchuo = cOutService.updchuo(cCashier);
        String pharmacyName=cCashier.getDurgname();
        cPharmacy.setPharmacyName(pharmacyName);
        return updchuo;
    }
    //删除处方中的药品
    @RequestMapping("delo")
    @ResponseBody
    public Object del(CCashier cCashier){
        Integer del = cOutService.delo(cCashier);
        if(del==0){
            return "删除失败";
        }else{
            return "删除成功";
        }
    }
    //查询处方的总价钱
    @RequestMapping("selch")
    @ResponseBody
    public Object selch(CCashier cCashier){
        Double selch = cOutService.selch(cCashier);
        return selch;
    }
    @RequestMapping("shoufei")
    @ResponseBody
    public Object shoufei(ReportVo reportVo){
        Integer shoufei = cOutService.shoufei(reportVo);
        //把挂号费添加到收费表上
        Integer guafei = cOutService.guafei(reportVo);
        return  shoufei;
    }
}
package com.aaa.controller;

            return projecttype.getProjectName()+"已存在";
        }

    }
    /*
     * 删除生产项目大类
     * */
    @RequestMapping("deleteProjecttype")
    @ResponseBody
    public Object deleteProjecttype(Integer projectId){
        int i = prjectTypeService.deleteProjecttype(projectId);
        if(i==1){
            return "删除成功";
        }else{
            return "删除失败";
        }
    }
    /*------------------------------------------------------------*/
    /*
     * 查询收费类型
     * */
    @RequestMapping("findAllMoneytype")
    @ResponseBody
    public Object MoneytypeList(Moneytype moneytype, Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<Moneytype> listAll = prjectTypeService.findAllMoneytype(moneytype);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());

        return tableData;
    }
    /*
     * 添加收费类型
     * */
        } catch (IncorrectCredentialsException e) {
            model.addAttribute("msg", "密码输入不对!");
            return "view/login";
        }
    }
    /*
     * 加载首页左边导航栏
     * */
    @RequestMapping("toTreeLoad")
    @ResponseBody
    public List<TreeNode> toTreeLoad(HttpServletRequest request) {
        //获取用户登陆id根据不同的用户有不停菜单
        User user = (User) request.getSession().getAttribute("user");
        ///获取用户登陆id根据不同的用户有不停菜单
        List<Menu> list = menuService.queryMenuByUid(user.getUserid());
        //创建list集合
        //把list放入nodes
        List<TreeNode> nodes = new ArrayList<>();
        for (Menu menus : list) {
            Integer id = menus.getId();
            Integer pid = menus.getPid();
            String title = menus.getTitle();
            String icon = menus.getIcon();
            String href = menus.getHref();
            Boolean spread = menus.getSpread() == true;
            String target = menus.getTarget();
            nodes.add(new TreeNode(id, pid, title, icon, href, spread, target));
        }
        //组装菜单
        List<TreeNode> treeNodes = new ArrayList<>();
        //n1.getPid() == 1 为父级菜单
        for (TreeNode n1 : nodes) {
            if (n1.getPid() == 1) {
                treeNodes.add(n1);
            }
            //将n2放入n1的子级中   id为子级
            for (TreeNode n2 : nodes) {
                if (n2.getPid() == n1.getId()) {
                    n1.getChildren().add(n2);
                }
            }
        }
        return treeNodes;
    }

    /*
     * 加载菜单管理左边的菜单树
     * */
    @RequestMapping("loadMenuMangerLeftTreeJson")
    @ResponseBody
    public DataGridView loadMenuMangerLeftTreeJson(Menu menu) {
            return "修改失败";
        }
    }
//供货商
    @RequestMapping("bpisselupplier")
    public Object bpisselupplier(Upplier upplier, Model model) {

        List<Upplier> selupplier = storeService.selupplier(upplier);
        return "drugstore/c_beputinstorage";
    }
//查询药品清单
    @RequestMapping("selectdgty")
    @ResponseBody
    public Object selectdgty(Drugdictionary drugdictionary, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Drugdictionary> drugdictiona = putinService.seldcy(drugdictionary);
        PageInfo pageInfo = new PageInfo(drugdictiona);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());

        return drugstoresData;
    }

//添加一条药品入库
    @RequestMapping("adddrugs")
    @ResponseBody
    public Integer adddrugs(Drugstore drugstore,Record record) {
        System.out.print("查询方法");
        Integer updrugnumber=0;
        Integer adddrugstore=0;
        int seldrugname = putinService.seldrugname(drugstore);
        System.out.println(seldrugname+"yyyyyyyyyyyyyyyyyyyyyyyy");
        if(seldrugname==1){
            System.out.print("进入修改方法");
            updrugnumber = putinService.updrugnumber(drugstore);
            System.out.print("添加记录表0");
            int addjilu = rs.addjilu(record);//添加一条记录

        }
     * */
    @RequestMapping("toCurrent")
    public String toCurrenti() {
        return "view/finance/current";
    }
}
package com.aaa.controller;

@Controller
@RequestMapping("cao")
    public class CreportController {
    @Autowired
    private CreportService creportService;
    //查询所有数据
    @RequestMapping("index")
    public Object toreport(ReportVo reportVo, Model model, String params, Integer cc, HttpServletRequest request){
        reportVo.setCc(cc);
        HttpSession session = request.getSession();
        //将数据存储到session中
        session.setAttribute("ban",cc);
        creportService.upddang();
        String reportName=params;
        reportVo.setReportName(reportName);
        List<ReportVo> sel = creportService.sel(reportVo);
        model.addAttribute("report",sel);
        return "cao/report";
    }
    //查询所有的科室
    @RequestMapping("seldep")
    @ResponseBody
    public Object seldep(){
        List<CDepartments> seldep = creportService.seldep();
    @ResponseBody
    public Object MoneytypeList(Moneytype moneytype, Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<Moneytype> listAll = prjectTypeService.findAllMoneytype(moneytype);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());

        return tableData;
    }
    /*
     * 添加收费类型
     * */
    @RequestMapping("addMoneytype")
    @ResponseBody
    public Object addMoneytype(Moneytype moneytype){
        int i1 = prjectTypeService.count4(moneytype);
        if(i1==0){
            int i = prjectTypeService.addMoneytype(moneytype);
            if(i==1){
                return "添加成功";
            }else{
                return "添加失败";
            }
        }else{
            return moneytype.getMoneytype()+"已存在";
        }

    }
    /*
     * 修改收费类型
     * */
    @RequestMapping("editMoneytype")
    @ResponseBody
    public Object editMoneytype(Moneytype moneytype){
        int i = prjectTypeService.editMoneytype(moneytype);
        if(i==1){
            return "修改成功";
        }else{
            return "修改失败";
        }
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式,如果后台没有加上这句话的话需要在前台页面手动设置
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }
    //查询用户所有的项目处方
    @RequestMapping("selximu")
    @ResponseBody
    public Object selximu(Integer perid,Integer page, Integer limit){
        List<CCashier> selximu = cCashierService.selximu(perid);
        PageHelper.startPage(page, limit);
        PageInfo pageInfo = new PageInfo(selximu);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式,如果后台没有加上这句话的话需要在前台页面手动设置
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }
    //查看该用户是否有缴费未做的项目
    @RequestMapping("selwei")
    @ResponseBody
    public Object selwei(Integer reid){
        //查询该用户有几个做过的项目
        Integer selyi = cCashierService.selyi(reid);
        //查询该用户有几个缴费的项目
        Integer selgong = cCashierService.selgong(reid);
        if(selyi==selgong){
            return 1;
        }else {
            return 0;
        }
    }
}
package com.aaa.controller;

        List<Finance> bingReport = financeService.reportYearBingFinance();
        return bingReport;
    }
    /*住院年收入对比*/
    @ResponseBody
    @RequestMapping("zhuYuanYearBingFinance")
    public Object zhuYuanYearBingFinance(){
        List<Finance> bingZhuYuan = financeService.zhuYuanYearBingFinance();
        return bingZhuYuan;
    }
    /*门诊医生收入统计对比*/
    @ResponseBody
    @RequestMapping("doctorDuibi")
    public Object doctorDuibi( SdoctorDuibi sdoctorDuibi,Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<SdoctorDuibi> sdoctorDuibis = financeService.doctorDuibi(sdoctorDuibi);
        PageInfo pageInfo = new PageInfo(sdoctorDuibis);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }
    /*住院医生收入统计对比*/
    @ResponseBody
    @RequestMapping("zDoctorDuibi")
    public Object zDoctorDuibi(SdoctorDuibi sdoctorDuibi, Integer page, Integer limit){

        PageHelper.startPage(page, limit);
        List<SdoctorDuibi> zDoctorDuibis = financeService.zDoctorDuibi(sdoctorDuibi);
        PageInfo pageInfo = new PageInfo(zDoctorDuibis);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }
    /*门诊当天收入*/
    @ResponseBody
    @RequestMapping("currentFinance")
    public Object currentFinance(String current){
        List<currentFinance> currentFinances = financeService.currentFinance(current);

请添加图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值