第一周考试总结

HNC公司销售合同管理系统这个系统包含销售员、办公室、销售经理、总经理、系统管理员五中权限,销售员负责拟制合同并在最后完成签收、浏览等操作;办公室有权限对经理以及总经理审批后的合同进行审核或直接将合同打回去;销售经理和总经理主要负责审核合同并表明自己的意见;系统管理员则负责所有用户的信息以及权限管理并能控制合同的流向。这个系统数据库主要建三个表,一个负责存储所有用户的用户名、密码、状态等信息,一个负责存储用户与他的权限,一个存储合同的标题、内容、意见、状态等信息。首先是一个登录界面通过对登录用户权限的确认转到相应的功能页面;然后是系统管理员完成对用户信息的管理,能够修改用户的信息,通过修改status以及power的值来确定用户的权限以及状态,还能够通过修改合同的状态来确定合同的流向;再然后就是合同的流转,通过给合同设置一个状态变量来确认合同处于流程的那个位置然后在将合同放到该在的位置。这个系统的难点主要还是总体流程框架的结构以及合同的查询功能比较难实现,所有的用户的权限功能以及合同的状态信息也要区分好,不然容易混乱,一开始我就是因为这些状态信息以及流程的分布没有搞清楚导致拖慢了进度,勉勉强强的做了个用户的管理,主要还是运用的不熟练导致中间的一些bug卡了我好久。
            if(s.getPermission()==1){%>
            <a id="1" href="writedoc.jsp?user=<%=value %>" class="list-group-item list-group-item-aciton" target="operation">公文拟制</a>
            <%}else if(s.getPermission()==2){ %>
            <a id="2" href="getReceivedorNot?user=<%=value %>&type=received" class="list-group-item list-group-item-aciton" target="operation">签收公文</a>
            <%}else if(s.getPermission()==3){  %>
            <a id="3" href="showAll" class="list-group-item list-group-item-aciton" target="operation">浏览公文</a>
            <%}else if(s.getPermission()==5){  %>
            <a id="5" href="getDoc?type=receive" class="list-group-item list-group-item-aciton" target="operation">公文流转</a>
            <%}else if(s.getPermission()==6){  %>
            <a id="6" href="queryDoc?type=all" class="list-group-item list-group-item-aciton" target="operation">公文查询</a>
            <%}else if(s.getPermission()==7){  %>
            <a id="7" href="checkDoc?type=notchecked" class="list-group-item list-group-item-aciton" target="operation">审核公文</a>
            <%}else if(s.getPermission()==8){  %>
            <a id="8" href="fcheckDoc?type=notchecked" class="list-group-item list-group-item-aciton" target="operation">审签公文</a>

这是负责不同用户的主界面显示不同功能的代码

ArrayList<Users> list=DBUtil.getAllUser();
        request.setAttribute("list", list);
        request.getRequestDispatcher("Usermanage.jsp").forward(request, response);

这一段当时因为某些变量的设置问题以及

connection=getConnection();
            preparedStatement=connection.prepareStatement(sql);
            rs=preparedStatement.executeQuery();
            ArrayList<Users> list=new ArrayList<>();

一些错误导致主界面一直显示出错。

计划:明天以及后天两天主要进行公文的添加功能以及通过修改状态来控制流向,完成大概的流程;周日与周一两天搞完一些公文流转过程中的细节处理。

原文地址:https://www.cnblogs.com/vvxvv/p/13726816.html