当前位置:编程学习 > JAVA >>

一个软件维护管理系统求大神帮忙改一下,最好能给出所有的代码(二)

3维修管理
维修管理模块包括:维修分配管理、维修记录管理和维修检测管理三个子模块。
4.3.1维修分配管理
模块界面如下:
 
   
    维修分配管理子模块主要用来将未分配的机器分配给没有接到维修任务的工程师,并对目前的维修状态进行修改,以便后面的模块能够顺利进行。
点击产品信息按钮可以查询这次维修产品的详细信息。
4.3.2维修检测管理
模块界面如下:
 
点击检测记录可对这次的检测结果及记录进行编辑。
维修记录管理子模块主要用来编辑这次机器的机器故障及错误代码和检测结果及记录,完成对数据库信息的修改。让维修监督管理可以对本次维修管理进行监督。
点击产品信息按钮可以查询这次维修产品的详细信息。
4.3.3维修记录管理
模块界面如下:
 
      维修记录管理子模块主要是对这次的维修结果及记录进行编辑。完成这次维修,并将维修状态修改为维修完成。
点击产品信息按钮可以查询这次维修产品的详细信息。
4.4前台结算及财务结算管理
4.4.1文件结构及功能
前台结算管理用到的文件有: mainstyle.css,print.css,edit.jsp,error.html, info.jsp,inputsucsses.html,main.jsp, pigeonhole1.jsp,print.jsp, ConnectionDB.java,edit.java,editBean.java等。参阅表4-1-1。
功能:
1. mian.jsp:
前台结算管理首页。显示维修完成保修产品信息,对每一个记录都可进行显示详细信息,编辑,打印及归档操作。

2. edit.jsp:
结算信息输入。首页中对应编辑。提交到 edit.java。

3. error.html:
归档错误提示。只有归档出错时用到。
4. info.jsp:
报修产品详细信息显示。首页中对应显示信息。
5. inputsucsses.html:
成功操作提示。
6. pigonhole1.jsp:
完成归档。首页中对应归档。
7. print.jsp:打印结算单。首页中对应打印。
8. Mainstyle.css,print.css:分别定义main.jsp,print.jsp的样式。

财务结算管理用到的文件有:balance.jsp,fselect.jsp,fselect1.jsp,handback.jsp, inputsucsses.html,main1.jsp,main1x.jsp,balance.java,balanceBean.java,ConnectionDB.java,handback.java,handbackBean.java等。参阅表4-1-1。
功能:
1. main1x.jsp:
财务结算管理首页。由搜索和一个frame组成,frame连接到main1.jsp。
2. main1.jsp:
首页一部分。显示维修完成保修产品信息,对每一个记录都可进行显示详细信息,财务结算,退货结算操作。
3. balance.jsp:
财务结算信息输入。对应main1.jsp中的财务结算操作。提交到balance.java。
4. fselect.jsp:
按日期查询纪录。Mainx1.jsp中输入日期查询时提交到该文件。
5. fselect1.jsp:按维修单号查询纪录。Mainx1.jsp中维修单查询时提交到该文件。
6. handback.jsp:
退货信息输入。对应main1.jsp中的退货结算操作。提交到handback.java。
9. info.jsp:
报修产品详细信息显示。对应main1.jsp中的显示信息。同main.jsp。
inputsucsses.html:成功操作提示。

4.4.2 main.jsp和main1.jsp
当工程师维修报修产品完成之后就可以进入main.jsp和main1.jsp对其进行各种操作。
Main.jsp和main1.jsp显示的内容为通过检测数据库repaired_info表的repaired_state维修状态为“维修完成“的纪录信息。
Main.jsp显示的内容有:接机日期,维修单号,产品类型,机器品牌,机器型号,维修者;操作有:
产品信息—由info.jsp处理
编辑—由edit.jsp处理
打印—由print.jsp处理
归档—由pigeonhole1.jsp处理
Main1.jsp显示的内容有:接机日期,维修单号,产品类型,机器品牌,机器型号,维修者;操作有:
产品信息—由info.jsp处理
财务结算—由balance.jsp处理
退货信息—由handback.jsp处理  

main.jsp和main1.jsp界面,功能及操作都很相似,所以对edit.jsp,balance.jsp,handback.jsp的其中一个进行说明。
Main.jsp界面如下: 
Main.jsp 界面图
Main.jsp主要实现代码如下:(main1.jsp不作介绍)
<SCRIPT language="JavaScript">
    function inewwin(url)
{   var
inewwin=window.open(url,"inewwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=480");
     inewwin.focus();
     return false;
}
//弹出新窗口,点击四个操作连接是都会弹出新窗口这里只列出一个
</SCRIPT>
<jsp:useBean id="selBean" class="com.imu.ConnectionDB" scope="page" />
// ConnectionDB为连接数据库
  <%
//分页
  int p=1; //当前页面
  int row_count; //纪录数
  ResultSet rs = selBean.getStm().executeQuery("select count(*) from repaired_info where repaired_state='维修完成';");
//查表,对维修状态是维修完成的纪录计数
  rs.next();
  row_count = rs.getInt(1);//获得纪录数
  rs.close();
  if(row_count == 0)
  {
   out.println("<p align=center>没有记录!");
  }
  else
  {
    String  repid,prokind,machbrand,machkind,customid,send_time,emp_id,state;
    String sql2;
    String sql="select repaired_id,pro_kind,mach_brand,mach_kind,employeeid,send_time  from repaired_info where repaired_state='维修完成';";
   rs = selBean.getStm().executeQuery(sql);
   ResultSet trs;
  int pagesize = 10; //每页显示纪录数
   int pages = (row_count+pagesize-1)/pagesize; //页数
   int i,j = 0;
   String get_p = request.getParameter("p");
     if(get_p == null) p = 1;
   else
   { p = java.lang.Integer.parseInt(get_p); }
    if(p < 1) p=1;
    if(p > pages) p = pages; //当前页大与页总数是置为最大页数
    for(i = 0;i < (p-1)*pagesize; i++) rs.next();
%>
<tr>
    <td class=td3 colspan=7>页次<%=p%>/<%=pages%>页 <%=pagesize%>条/页</td>
</tr>
<%
    while(rs.next() && j < pagesize)
    {  //循环获得纪录信息
   repid = rs.getString("repaired_id");
   prokind = rs.getString("pro_kind");
   machbrand = rs.getString("mach_brand");
   machkind = rs.getString("mach_kind");
   emp_id = rs.getString("employeeid");
   send_time = rs.getString("send_time");  
 %> 
    <TR>
    <td class=td5><%=send_time%></td><td class=td1><%=repid%></td>
    <td class=td5><%=prokind%></td><td class=td5><%=machbrand%></td>
    <td class=td5><%=machkind%></td><td class=td1><%=emp_id%></td>
<td height=25>//输出信息到页面
<table align=left>
    <tr>
    <td class=td4><a href="info.jsp?repid=<%=repid%>" onClick="return inewwin(this.href);">产品信息</a></td>
    <td class=td4><a href="edit.jsp?repid=<%=repid%>" onClick="return enewwin(this.href);">编辑</a></td>
    <td class=td4><a href="print.jsp?repid=<%=repid%>" onClick="return pnewwin(this.href);">打印</a></td>
    <td class=td4><a href="pigeonhole1.jsp?repid=<%=repid%>" onClick="return newwin(this.href);">归档</a></td>
    </tr></table></td></TR>
    <%
    j++;
     }
rs.close();selBean.Closecon();//关闭连接
    %>
<%if(pages >= 1){ %>
    <TR>
    <TD class=td2 colspan=7><A href="main.jsp?p=1">首页 </A>
    <%if(p > 1){ %> <a href="main.jsp?p=<%=p-1%>">上一页</a><%}
    if(p < row_count){%> <a href="main.jsp?p=<%=p+1%>">下一页</a><%}%>
    <A href="main.jsp?p=<%=pages%>">尾页</A> 共<b><%=pages%>页</b><b><%=row_count%>记录</b> //分页间跳转
    <% } }  %>

下面分别介绍info.jsp,print.jsp,pigeonhole1.jsp,balance.jsp页面的设计:
1. Info.jsp 
点击“产品信息”时该页面进行处理,将从main.jsp中获得的信息都显示出来便可。
主要代码实现如下:
<jsp:useBean id="seleBean" class="com.imu.ConnectionDB" scope="page" />
<%
   String repaid = request.getParameter("repid");
   String sql = "select * from pro_info where repaired_id='"+repaid+"'";
     try{
     java.sql.ResultSet rs = seleBean.getStm().executeQuery(sql);
    String  prokind;
   prokind = rs.getString("pro_kind");
%>
<tr class=tr1>
<td class=td1>维修单号</td>
<td class=td2><%=repaid%></td>
<td class=td1>产品类型</td>
<td class=td2><%=prokind%></td>
</tr>
<%
   rs.close(); seleBean.Closecon();
   }catch(java.sql.SQLException e)
   { out.println(e.toString());}
   %>
界面如下: 
info.jsp 界面图
2. Print.jsp和Pigeonhole1.jsp都与info.jsp相似不再介绍。
3. Balance.jsp
当点击main1.jsp中的财务结算时弹出该页面。维修表单输入框里直接显示当前纪录的维修单号,需要输入交通费,其它费用,对空,已编辑过,非数字,不存在的单号,长度溢出的情况分别给予提示。输入数据点击确定时将请求提交给balance.java
该servlet查询财务结算信息表进行核实,如有错误通过balanceBean.java给balance.jsp返回错误提示,若验证正确则执行插入sql语句将数据添加到财务结算信息表。
主要代码:
<SCRIPT language=”javascript”>
    function exit() {
     window.close();//关闭窗口
    }
    
    function load2()
    {
     opener.setTimeout("submit10()",1000);//刷新父页面
     self.setTimeout("exit()",100000);//关闭本窗口
    }
</SCRIPT>
<% 
    String repid=request.getParameter("repid");
    %>
    <jsp:useBean id="balBean" class="com.imu.balanceBean" scope="request" />
<jsp:useBean id="errBean" class="com.imu.balanceBean" scope="request" />
<tr>
    <td align=right>维修单号</td>
<td><input type="text" value=<%=repid%> name="repaired_id"><font 
//获得当前纪录的维修单号
color="#ff0000">*</font></td>
<td><jsp:getProperty name="errBean" property="repaired_id"/></td>
//输出错误提示
    </tr>  
    <tr>
    <td align=right>交通费</td>
    <td><input type="text"  name="trafficcharge" value="<jsp:getProperty name="balBean" property="trafficcharge"/>"><font color="#ff0000">*</font></td>
    <td><jsp:getProperty name="errBean" property="trafficcharge" /></td>
    </tr>
 界面如下: 
函数 类 服务器 管理 --------------------编程问答-------------------- 看着没耐心。。。
补充:Java ,  J2ME
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,