66

HTML:
addCompany.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>
<html>
 <base href="<%=basePath%>">
 <head>
  <title>编辑客户公司信息</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <script type="text/javascript" src="commons/javascript/jquery.js"></script>
  <script type="text/javascript" src="commons/javascript/showTip.js"></script>
  <script type="text/javascript">
  
  $(document).ready(function(){
   document.getElementById("btnAdd").disabled=true;
   /*document.getElementById("btnUpdate").disabled=true;*/
   
  });
  
  $(function(){
   $("#cityId").val($("#ct").val());
   $("#area_Id").val($("#ar").val());
   var isAdd=$("#isAdd").val();
   if(isAdd==1)
   {
    $("#btnAdd").show();
    $("#btnUpdate").hide();
   }else if(isAdd==2)
   {
    $("#btnAdd").hide();
    $("#btnUpdate").show();
   }
       });
  function requiredField(myId,errorMessage)
  {
      document.getElementById("btnAdd").disabled=true;
      document.getElementById("btnUpdate").disabled=true;
      if(document.getElementById(myId).value == ""||document.getElementById(myId).value == "0")
      {
          window.alert(errorMessage);
          document.getElementById(myId).focus();
          return false;
      }
     
      document.getElementById("btnAdd").disabled=false;
      document.getElementById("btnUpdate").disabled=false;
      return true;
  }
  function validateForm(){
   requiredField("companyName","公司名称不能为空!");
   requiredField("phone1","至少要填写一个电话号码!");
   requiredField("address","地址不能为空!");
   requiredField("cityId","请选择城市!");
   requiredField("area_Id","请选择区域!");
   requiredField("scope","公司规模不能为空!");
   requiredField("state","请选择状态!");
  }
  
  function selectCity(){
   $.ajax({type:"post", dataType:"text", url:"area.do?op=doloadArea&cityId=" + $("#cityId").val(), global:false, success:function (data, textStatus) {
    $("#area_Id").empty();
    $("#area_Id").append(data);
   }, beforeSend:function (xmlHttpReq) {
    $("#area_Id").empty();
    $("#area_Id").append("<img src='commons/images/loading.gif'></img>");
   }});
  }
  
  </script>
 </head>
 <body>
  <html:form action="/company" method="post">
  
   <html:hidden property="op" value="${isAdd==1?'doAddCompany':'doUpdateCompany'}" />
   <p>
    *公司名称 :
    <html:text property="companyName" styleId="companyName"
     />
   </p>
   <p>
    *电话号码1 :
    <html:text property="phone1" styleId="phone1" οnclick="javascript:return requiredField('companyName','公司名称不能为空!');" />
   </p>
   <p>
    电话号码2 :
    <html:text property="phone2" styleId="phone2" οnclick="javascript:return requiredField('phone1','至少要填写一个电话号码!');"/>
   </p>
   <p>
    传真号码 :
    <html:text property="fax" οnclick="javascript:return requiredField('phone1','至少要填写一个电话号码!');"/>
   </p>
   <p>
    *地址:
    <html:text property="address" styleId="address" οnclick="javascript:return requiredField('phone1','至少要填写一个电话号码!');"/>
   </p>
   <p>
    *城市:
    <select id="cityId" οnchange="selectCity()" οnclick="javascript:return requiredField('address','地址不能为空!');" >
     <option value="0">
      --请选择--
     </option>
     <logic:iterate id="city" name="cityList">
      <option value="${city.id }">
       ${city.name }
      </option>
     </logic:iterate>
    </select>
   </p>
   <p>
    *区域:
    <html:select property="area_Id" styleId="area_Id" οnclick="javascript:return requiredField('cityId','请选择城市!');"
    >
     <html:option value="0">--请选择--</html:option>
     <logic:notEmpty name="aList">
     <logic:iterate id="area" name="aList">
      <option value="${area.id }">${area.name }</option>
     </logic:iterate>
     </logic:notEmpty>
    </html:select>
   </p>
   <p>
    *公司规模 :
    <html:text property="scope" styleId="scope" οnclick="javascript:return requiredField('area_Id','请选择区域!');"
    />
   </p>
   <p>
    网站url:
    <html:text property="url" styleId="url" οnclick="javascript:return requiredField('scope','公司规模不能为空!');"/>
   </p>
   <p>
    *状态 :
    <html:select property="state" styleId="state" οnclick="javascript:return requiredField('scope','公司规模不能为空!');"
    >
     <html:option value="0">--请选择--</html:option>
     <html:option value="1">意向中</html:option>
     <html:option value="2">已预约</html:option>
     <html:option value="3">已成交</html:option>
     <html:option value="4">VIP</html:option>
     <html:option value="5">已作废</html:option>
    </html:select>
   </p>
   <p>
    消息来源 :
    <html:text property="source" styleId="source" οnclick="javascript:return requiredField('state','请选择状态!');"/>
   </p>
   <p>
    描述 :
    <html:textarea property="description" styleId="description" οnclick="javascript:return requiredField('state','请选择状态!');"/>
   </p>
   <p>
    <html:submit value="添加" styleId="btnAdd" οnclick="javascript:return validateForm();" />
   
    <html:submit value="修改" styleId="btnUpdate" οnclick="javascript:return validateForm();" />
    <input type="reset" value="取消" />
    <input type="hidden" id="ct" value="${ct }">
    <input type="hidden" id="ar" value="${ar }">
    <input type="hidden" id="isAdd" value="${isAdd }">
    <input type="hidden" id="comId" name="comId" value="${comId }">
    
   </p>
  </html:form>
 </body>
</html>


showCompany.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <base href="<%=basePath%>">

  <title>My JSP 'showCompany.jsp' starting page</title>

  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">

  <script type="text/javascript" src="commons/javascript/jquery.js"></script>
  <script type="text/javascript" src="commons/javascript/showTip.js"></script>
  <script type="text/javascript" src="commons/javascript/jquery.pager.js"></script>
  <link rel="stylesheet" href="commons/css/Pager.css" type="text/css"></link>
  <script type="text/javascript">
  function selectCity(){
  
   $.ajax({type:"post", dataType:"text", url:"area.do?op=doloadArea&cityId=" + $("#cityId").val(), global:false, success:function (data, textStatus) {
    
    $("#area_Id").empty();
    $("#area_Id").append(data);
   }, beforeSend:function (xmlHttpReq) {
   
    $("#area_Id").empty();
    $("#area_Id").append("<img src='commons/images/loading.gif'></img>");
   }});
  }
  
  $(function(){
   $("#cityId").val($("#cId").val());
   $("#area_Id").val($("#aId").val());
   $("#state").val($("#st").val());
   $("#employee_Id").val($("#eId").val());
   $("#search").val($("#se").val());
         $("#pager").pager({ pagenumber: $("#page").val(), pagecount: $("#count").val(), buttonClickCallback: PageClick });
       });
       
        PageClick = function(pageclickednumber) {
   window.location.href="./company.do?op=toShowCompany&pageNum="+pageclickednumber+"&areaId="
   +$("#aId").val()+"&state="+$("#st").val()+"&employee="+$("#eId").val()+"&search="+encodeURI($("#se").val())
   +"&cityId="+$("#cId").val();
        }
         
        function selectByCondition(){
         window.location.href="./company.do?op=toShowCompany&pageNum=1&areaId="
   +$("#area_Id").val()+"&state="+$("#state").val()+"&employee="+$("#employee_Id").val()+"&search="+encodeURI($("#search").val())
   +"&cityId="+$("#cityId").val();
  }
         </script>
</head>

 <body>
   <p>
    城市:
    <select id="cityId" name="cityId" οnchange="javascript:selectCity();">
     <option value="0">
      --请选择--
     </option>
     <logic:iterate id="city" name="cityList">
      <option value="${city.id }">
       ${city.name }
      </option>
     </logic:iterate>
    </select>
    区域:
    <select name="area_Id" id="area_Id">
     <option value="0">--请选择--</option>
     <logic:notEmpty name="aList">
     <logic:iterate id="area" name="aList">
      <option value="${area.id }">${area.name }</option>
     </logic:iterate>
     </logic:notEmpty>
    </select>
    状态 :<select name="state" id="state">
     <option value="0">--请选择--</option>
     <option value="1">意向中</option>
     <option value="2">已预约</option>
     <option value="3">已成交</option>
     <option value="4">VIP</option>
     <option value="5">已作废</option>
    </select>
    员工 :
    <select id="employee_Id" name="employee_Id">
     <option value="0">
      --请选择--
     </option>
     <logic:iterate id="employee" name="employeeList">
      <option value="${employee.id }">
       ${employee.name}
      </option>
     </logic:iterate>
    </select>
    关键词:<input type="text" name="search" id="search" value="" />
    <input type="submit" value="查询" οnclick="javascript:selectByCondition();" />
   </p>
   <table>
    <tr>
     <th>
      公司名称
     </th>
     <th>
      电话号码1
     </th>
     <th>
      电话号码2
     </th>
     <th>
      传真
     </th>
     <th>
      负责人
     </th>
     <th>
      区域
     </th>
     <th>
      状态
     </th>
     <th>
      网站地址
     </th>
     <th>
      规模
     </th>
     <th>
      公司地址
     </th>
     <th>
      消息来源
     </th>
     <th>
      录入时间
     </th>
     <th>
      最后访问时间
     </th>
     <th>
      点击率
     </th>
     <th>
      数据状态
     </th>
     <th>
      描述
     </th>
     <th>
      操作
     </th>
    </tr>
    <logic:iterate id="company" name="companyList">
     <tr>
      <td>
       <a href="">${company.companyName }</a>
      </td>
      <td>
       ${company.phone1 }
      </td>
      <td>
       ${company.phone2 }
      </td>
      <td>
       ${company.fax }
      </td>
      <td>
       ${company.employee.name }
      </td>
      <td>
       ${company.areaId.name }
      </td>
      <td>
       ${company.stateString }
      </td>
      <td>
       ${company.url }
      </td>
      <td>
       ${company.scope }
      </td>
      <td>
       ${company.address }
      </td>
      <td>
       ${company.source }
      </td>
      <td>
       ${company.inputTime }
      </td>
      <td>
       ${company.lastPassTime }
      </td>
      <td>
       ${company.click }
      </td>
      <td>
       ${company.showString }
      </td>
      <td>
       ${company.description }
      </td>
      <td>
       <a href="company.do?op=doDelCompany&Id=${company.id }" οnclick="javascript:return confirm('您确定要删除吗?');">删除</a>
       <a href="company.do?op=toUpdateCompany&Id=${company.id }">修改</a>
      </td>
     </tr>
    </logic:iterate>
   </table>
   <input type="hidden" name="page" id="page" value="${page}" />
   <input type="hidden" name="count" id="count" value="${count}" />
    <input type="hidden" id="cId" value="${cId }">
    <input type="hidden" id="aId" value="${aId }" />
    <input type="hidden" id="st" value="${st }"/>
    <input type="hidden" id="eId" value="${eId }"/>
    <input type="hidden" id="se" value="${se}" />
   <div id="pager" class="Pager"></div>
  
 </body>
</html>


ACTION:
AreaAction:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package zthh.manager.lwj.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import zthh.manager.entity.Area;
import zthh.manager.lwj.biz.IAreaBiz;


public class AreaAction extends DispatchAction {

 private IAreaBiz areaBiz;
 public void setAreaBiz(IAreaBiz areaBiz) {
  this.areaBiz = areaBiz;
 }
 
 /**
  * 加载区域信息
  * @throws IOException
  */
 public ActionForward doloadArea(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  String cidString=request.getParameter("cityId");
  Integer cityId=0;
  if (cidString!=null&&!"".equals(cidString)) {
   cityId=Integer.valueOf(cidString);
  }
  List<Area> areaList=areaBiz.getAreaByCityId(cityId);
  PrintWriter out=response.getWriter();
  out.print("<option value='0'>--请选择--</option>");
  for (Area area : areaList) {
   out.print("<option value='"+area.getId()+"'>"+area.getName()+"</option>");
  }
  return null;
 }
}
CompanyAction:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package zthh.manager.lwj.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.sun.java_cup.internal.internal_error;

import zthh.manager.commons.Pagination;
import zthh.manager.entity.Area;
import zthh.manager.entity.City;
import zthh.manager.entity.Company;
import zthh.manager.entity.Employee;
import zthh.manager.entity.Linkman;
import zthh.manager.lwj.biz.IAreaBiz;
import zthh.manager.lwj.biz.ICityBiz;
import zthh.manager.lwj.biz.ICompanyBiz;
import zthh.manager.lwj.biz.IEmployeeBiz;
import zthh.manager.lwj.biz.ILinkmanBiz;
import zthh.manager.lwj.form.CompanyForm;

/**
 * 操作客户公司信息
 */
public class CompanyAction extends DispatchAction {
 private ICompanyBiz companyBiz;
 private ILinkmanBiz linkmanBiz;
 private ICityBiz cityBiz;
 private IEmployeeBiz employeeBiz;
 private IAreaBiz areaBiz;
 public void setAreaBiz(IAreaBiz areaBiz) {
  this.areaBiz = areaBiz;
 }
 public void setEmployeeBiz(IEmployeeBiz employeeBiz) {
  this.employeeBiz = employeeBiz;
 }
 public void setCityBiz(ICityBiz cityBiz) {
  this.cityBiz = cityBiz;
 }
 public void setCompanyBiz(ICompanyBiz companyBiz) {
  this.companyBiz = companyBiz;
 }
 public void setLinkmanBiz(ILinkmanBiz linkmanBiz) {
  this.linkmanBiz = linkmanBiz;
 }
 /**
  * 跳转到/sell/Company.jsp页面,加载区域到编辑页面下拉列表中
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return
  */
 public ActionForward toAddCompany(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  request.setAttribute("isAdd", 1);
  List<City> cityList=cityBiz.getAllCity();
  request.setAttribute("cityList", cityList);
  return mapping.findForward("toCompany");
 }

 /**
  * 加载区域显示页面到下拉列表中,并分页显示客户公司信息
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return
  * @throws IOException
  */
 @SuppressWarnings("unchecked")
 public ActionForward toShowCompany(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  List<City> cityList=cityBiz.getAllCity();
  request.setAttribute("cityList", cityList);
  List<Employee> employeeList=employeeBiz.getAllEmployee();
  request.setAttribute("employeeList", employeeList);
  
  String pageNum = request.getParameter("pageNum");
  String areaId = request.getParameter("areaId");
  String stateId = request.getParameter("state");
  String employeeId = request.getParameter("employee");
  String search = request.getParameter("search");
  String cityId=request.getParameter("cityId");
  
  Integer pn = 1;
  Integer area = 0;
  Integer state = 0;
  Integer employee=0;
  Integer city=0;
  
  if(cityId!=null&&!"".equals(cityId)&&!"0".equals(cityId)){
   city=Integer.valueOf(cityId);
   List<Area> aList=areaBiz.getAreaByCityId(city);
   request.setAttribute("aList", aList);
  }
  
  if (pageNum != null && !"".equals(pageNum)) {
   pn = Integer.valueOf(pageNum);
  }
  if (areaId != null && !"".equals(areaId)) {
   area = Integer.valueOf(areaId);
  }
  if (stateId != null && !"".equals(stateId)) {
   state = Integer.valueOf(stateId);
  }
  if (employeeId != null && !"".equals(employeeId)) {
   employee = Integer.valueOf(employeeId);
  }
  
  if (search != null && !"".equals(search)&&!"0".equals(search)) {
   search = new String(search.getBytes("ISO-8859-1"), "utf-8");
   search = search.trim();
  }

  request.setAttribute("aId", areaId);
  request.setAttribute("cId", cityId);
  request.setAttribute("st", stateId);
  request.setAttribute("eId", employeeId);
  request.setAttribute("se", search);
  

  Pagination pag=new Pagination(20);
  pag.setCurrentPage(pn);

  HttpSession session=request.getSession();
  //获得Session中的值,
  Employee employee1=(Employee) session.getAttribute("Employee");
  //如果是总经理登录,查看全部信息;如果是普通的用户登录,就只查看自己负责的用户
  if(employee1.getDepartmentType()!=1&&employee1.getPower()!=1){
   employee=employee1.getId();//从Session中获取员工ID
  }
  
  
  pag.setRecordCount(companyBiz.getCompanyCountBySearch(search, area, state, employee,0,1));
  List<Company> companyList = (List<Company>)companyBiz.getCompanyBySearch(search, area, state, employee, pag,0,1).getList();

  for (Company company : companyList) {
   if(company.getState()==1)company.setStateString("意向中");
   if(company.getState()==2)company.setStateString("已预约");
   if(company.getState()==3)company.setStateString("已成交");
   if(company.getState()==4)company.setStateString("VIP");
   if(company.getState()==5)company.setStateString("已作废"); 

   List<Company> comList=companyBiz.getCompanyByOldIdAndIsShow((Integer)company.getId().intValue(), 2);
   if(comList.size()<=1){company.setShowString("");}
   if(comList.size()>1){company.setShowString("查看已修改的信息");}
  }
  
  request.setAttribute("companyList", companyList);
  request.setAttribute("page", pn);
  request.setAttribute("count", pag.getPageCount());
  
  //如果是总经理登录,就跳转到/sell/gm/showCompany.jsp页面查看全部客户资料;
  //如果是普通的用户登录,就跳转到/sell/sell/showCompany.jsp页面,用户只能查看自己负责的客户资料;
  if(employee1.getDepartmentType()==1&&employee1.getPower()==1)
  {
   return mapping.findForward("toShowCompanyByGm");
  }else {
   return mapping.findForward("toShowCompanyBySell");
  }
//  return mapping.findForward("toShowCompany");
 }
 
 /**
  * 添加客户公司信息
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return
  * @throws IOException
  */
 public ActionForward doAddCompany(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  CompanyForm companyForm =(CompanyForm)form;
  Company company=new Company();
  company.setCompanyName(companyForm.getCompanyName());
  company.setAddress(companyForm.getAddress());
  company.setPhone1(companyForm.getPhone1());
  company.setPhone2(companyForm.getPhone2());
  company.setFax(companyForm.getFax());
  
  Area area1=new Area();
  area1.setId(companyForm.getArea_Id());
  
  company.setAreaId(area1);
  
  company.setUrl(companyForm.getUrl());
  company.setInputTime(new Date());
  company.setLastPassTime(new Date());
  
  HttpSession session=request.getSession();
  //获得Session中的值,
  Employee employee=(Employee) session.getAttribute("Employee");
  employee.setId(employee.getId());//员工ID要从Session中获取
  
  company.setEmployee(employee);
  company.setClick(1);//新增信息点击率默认为1
  company.setState(companyForm.getState());
  company.setDescription(companyForm.getDescription());
  company.setSource(companyForm.getSource());
  company.setScope(companyForm.getScope());
  company.setShow(1);//1为显示,2为修改过的
  company.setOldId(0);
  company.setReserved(1);
  //执行添加客户信息的方法
  Long companyId=companyBiz.addCompany(company);
  //如果companyId大于0,则说明添加成功;
  PrintWriter pw=response.getWriter();
  if(companyId>0){
   pw.write("<script language='javascript'>");
   pw.write("alert('客户公司信息添加成功!');top.location='company.do?op=toShowCompany';");
   pw.write("</script>");
   
   //更新oldId为数据的ID
   
   Company co=companyBiz.getCompanyById(companyId);
   co.setOldId(company.getId().intValue());
   Long num=companyBiz.addCompany(co);
   
   Linkman linkman=new Linkman();
   linkman.setName(companyForm.getCompanyName());
   linkman.setSex(true);//true为男,false为女
   linkman.setCompanyId(companyId);
   linkman.setPhone(companyForm.getPhone1());
   linkman.setMobile(companyForm.getPhone2());
   linkman.setType(1);//1为公司联系人,2为个人联系人
   linkman.setInputTime(new Date());
   linkman.setShow(1);//1、显示(销售部)2、修改过的
   linkman.setReserved(1);
   //添加客户公司联系人
   linkmanBiz.addLinkman(linkman);
  }else {
   pw.write("<script language='javascript'>");
   pw.write("alert('客户公司信息添加失败!');top.location='company.do?op=toShowCompany';");
   pw.write("</script>");
  }
  return null;
 }
 

 /**
  * 删除客户公司资料
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return
  * @throws IOException
  */
 public ActionForward doDelCompany(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  String companyId=request.getParameter("Id");
  PrintWriter pw=response.getWriter();
  if(null!=companyId&&!"".equals(companyId))
  {
   if(companyBiz.delCompany(companyBiz.getCompanyById(Long.valueOf(companyId)))){
    pw.write("<script language='javascript'>");
    pw.write("alert('客户公司信息删除成功!');top.location='company.do?op=toShowCompany';");
    pw.write("</script>");
   }else {
    pw.write("<script language='javascript'>");
    pw.write("alert('客户公司信息删除失败!');top.location='company.do?op=toShowCompany';");
    pw.write("</script>");
   }
  }
  return null;
 }
 
 /**
  * 加载修改页面的下拉框,并将数据填充到页面控件中
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return
  * @throws IOException
  */
 public ActionForward toUpdateCompany(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  CompanyForm companyForm =(CompanyForm)form;
  request.setAttribute("isAdd", 2);
  String companyId=request.getParameter("Id");
  if(companyId!=null&&companyId!="")
  {
   //根据ID得到Company对象
   Company company=companyBiz.getCompanyById(Long.valueOf(companyId));
   //加载下拉列表框中的数据
   List<City> cityList=cityBiz.getAllCity();
   request.setAttribute("cityList", cityList);
   //根据Area对象中的City对象的ID得到属于该城市的区域
   List<Area> aList=areaBiz.getAreaByCityId(company.getAreaId().getCity().getId());
   request.setAttribute("aList", aList);
   
   request.setAttribute("ct",company.getAreaId().getCity().getId() );
   request.setAttribute("ar",company.getAreaId().getId());
   request.setAttribute("comId", company.getId());
   
   companyForm.setCompanyName(company.getCompanyName());
   companyForm.setAddress(company.getAddress());
   companyForm.setPhone1(company.getPhone1());
   companyForm.setPhone2(company.getPhone2());
   companyForm.setFax(company.getFax());
   companyForm.setArea_Id(company.getAreaId().getId());
   companyForm.setUrl(company.getUrl());
   companyForm.setState(company.getState());
   companyForm.setDescription(company.getDescription());
   companyForm.setSource(company.getSource());
   companyForm.setScope(company.getScope());
  }
  return mapping.findForward("toCompany");
 }
 
 /**
  * 修改客户公司信息
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return
  * @throws IOException
  */
 public ActionForward doUpdateCompany(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  CompanyForm companyForm =(CompanyForm)form;
  if(null!=request.getParameter("comId")&&!"".equals(request.getParameter("comId")))
  {
   Integer comId=Integer.valueOf(request.getParameter("comId"));
   Company com=companyBiz.getCompanyById(comId.longValue());
   com.setOldId(comId);//1为显示,2为修改过的
   com.setShow(2);//保存要修改的原始数据的ID
   
   Company co=new Company();
   co.setAddress(com.getAddress());
   co.setAreaId(com.getAreaId());
   co.setClick(com.getClick());
   co.setCompanyName(com.getCompanyName());
   co.setDescription(com.getDescription());
   co.setEmployee(com.getEmployee());
   co.setFax(com.getFax());
   co.setInputTime(com.getInputTime());
   co.setLastPassTime(com.getLastPassTime());
   co.setOldId(com.getOldId());
   co.setPhone1(com.getPhone1());
   co.setPhone2(com.getPhone2());
   co.setReserved(com.getReserved());
   co.setScope(com.getScope());
   co.setShow(com.getShow());
   co.setSource(com.getSource());
   co.setState(com.getState());
   co.setUrl(com.getUrl());
   Long num=companyBiz.addCompany(co);
   
   //如果num大于0,则说明添加成功;
   PrintWriter pw=response.getWriter();
   if(num>0){
    //添加成功后再做修改操作
    com.setCompanyName(companyForm.getCompanyName());
    com.setAddress(companyForm.getAddress());
    com.setPhone1(companyForm.getPhone1());
    com.setPhone2(companyForm.getPhone2());
    com.setFax(companyForm.getFax());
    
    Area area1=new Area();
    area1.setId(companyForm.getArea_Id());
    
    com.setAreaId(area1);
    
    com.setUrl(companyForm.getUrl());
    com.setInputTime(new Date());
    com.setLastPassTime(new Date());
    
    HttpSession session=request.getSession();
    //获得Session中的值,
    Employee employee=(Employee) session.getAttribute("Employee");
    employee.setId(employee.getId());//员工ID要从Session中获取
    
    com.setEmployee(employee);
    com.setClick(1);//新增信息点击率默认为1
    com.setState(companyForm.getState());
    com.setDescription(companyForm.getDescription());
    com.setSource(companyForm.getSource());
    com.setScope(companyForm.getScope());
    com.setShow(1);//1为显示,2为修改过的
    com.setOldId(comId);//保存要修改的原始数据的ID
    com.setReserved(1);
    //执行添加客户信息的方法
    num=companyBiz.addCompany(com);
    if(num>0){
     pw.write("<script language='javascript'>");
     pw.write("alert('客户公司信息修改成功!');top.location='company.do?op=toShowCompany';");
     pw.write("</script>");
    }else {

     pw.write("<script language='javascript'>");
     pw.write("alert('客户公司信息修改失败!');top.location='company.do?op=toShowCompany';");
     pw.write("</script>");
    }
    
   }
  }
  return null;
 }
 

}

CompanyDaoImpl:
package zthh.manager.lwj.dao.impl;

import java.sql.SQLException;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.sun.java_cup.internal.internal_error;

import zthh.manager.commons.Pagination;
import zthh.manager.entity.Company;
import zthh.manager.lwj.dao.ICompanyDao;

public class CompanyDaoImpl extends HibernateDaoSupport implements ICompanyDao {


 public Long addCompany(Company company) {
  return (Long) super.getHibernateTemplate().save(company);
 }

 /**
  * 根据查询字符串和区域查找公司信息的总数
  */
 public Integer getCompanyCountBySearch(final String search, final Integer areaId,final Integer stateId,
   final Integer employeeId,final Integer oldId,final Integer isShow) {
  return Integer.valueOf(super.getHibernateTemplate().execute(
    new HibernateCallback() {
     public Object doInHibernate(Session session)
       throws HibernateException, SQLException {
      Criteria c = session.createCriteria(Company.class);
      
      if(stateId!=0){
       c.add(Restrictions.eq("state", stateId));
      }

      if(oldId!=0){
       c.add(Restrictions.eq("oldId", oldId));
      }
      if(isShow!=0){
       c.add(Restrictions.eq("show", isShow));
      }
      if(!"".equals(search)&&null!=search){
       c.add(
         Restrictions.or
         (
           Restrictions.or(
             Restrictions.or(Restrictions.like("companyName", search,MatchMode.ANYWHERE),
               Restrictions.like("address", search,MatchMode.ANYWHERE)),
             Restrictions.or(Restrictions.like("url", search,MatchMode.ANYWHERE),
               Restrictions.like("source", search,MatchMode.ANYWHERE))
             
           ),
         
           Restrictions.or(
             Restrictions.like("phone1",search,MatchMode.ANYWHERE),
             Restrictions.like("phone2",search,MatchMode.ANYWHERE)
           )
         )
       );
      }

      if(areaId!=0){
       c.createCriteria("areaId").add(
         Restrictions.idEq(areaId));
      }
      if(employeeId!=0)
      {
       c.createCriteria("employee").add(
        Restrictions.idEq(employeeId));
      }
      return c.setProjection(Projections.rowCount())
        .uniqueResult();
     }

    }).toString());
 }


 /**
  * 根据查询字符串和区域查找公司信息
  */

 @SuppressWarnings("unchecked")
 public Pagination getCompanyBySearch(final String search,final Integer areaId,
   final Integer stateId,final Integer employeeId,final Pagination pagination
   ,final Integer oldId,final Integer isShow) {
  List<Company> list=super.getHibernateTemplate().executeFind(
    new HibernateCallback(){
    public Object doInHibernate(Session session)
      throws HibernateException, SQLException {
     Criteria c = session.createCriteria(Company.class);
     int a=oldId;
     int b=isShow;
     if(stateId!=0){
      c.add(Restrictions.eq("state", stateId));
     }
     if(oldId!=0){
      c.add(Restrictions.eq("oldId", oldId));
     }
     if(isShow!=0){
      c.add(Restrictions.eq("show", isShow));
     }
     
     if(!"".equals(search)&&null!=search){
      c.add(
        Restrictions.or
        (
          Restrictions.or(
            Restrictions.or(Restrictions.like("companyName", search,MatchMode.ANYWHERE),
              Restrictions.like("address", search,MatchMode.ANYWHERE)),
            Restrictions.or(Restrictions.like("url", search,MatchMode.ANYWHERE),
              Restrictions.like("source", search,MatchMode.ANYWHERE))
            
          ),
        
          Restrictions.or(
            Restrictions.like("phone1",search,MatchMode.ANYWHERE),
            Restrictions.like("phone2",search,MatchMode.ANYWHERE)
          )
        )
      );
     }

     if(areaId!=0){
      c.createCriteria("areaId").add(
        Restrictions.idEq(areaId));
     }
     if(employeeId!=0)
     {
      c.createCriteria("employee").add(
       Restrictions.idEq(employeeId));
     }
     c.addOrder(Order.desc("lastPassTime"));
     c.setFirstResult((pagination.getCurrentPage() - 1)
       * pagination.getPageSize());
     c.setMaxResults(pagination.getPageSize());
     return c.list();
    }
  });
  pagination.setList(list);
  return pagination;
 }

 /**
  * 根据OldId和IsShow查找公司信息
  */

 @SuppressWarnings("unchecked")
 public List<Company> getCompanyByOldIdAndIsShow(final Integer oldId,final Integer isShow) {
  List<Company> list=super.getHibernateTemplate().executeFind(
    new HibernateCallback(){
    public Object doInHibernate(Session session)
      throws HibernateException, SQLException {
     Criteria c = session.createCriteria(Company.class);
     int a=oldId;
     int b=isShow;
     
     if(oldId!=0){
      c.add(Restrictions.eq("oldId", oldId));
     }
     if(isShow!=0){
      c.add(Restrictions.eq("show", isShow));
     }
     
     

     
     c.addOrder(Order.desc("lastPassTime"));
     
     return c.list();
    }
  });
  return list;
 }

 
 /**
  * 删除客户公司信息
  * @param id
  * @return
  */
 public Boolean delCompany(Company company) {
  try {
   super.getHibernateTemplate().delete(company);
  } catch (DataAccessException e) {
   return false;
  }
  return true;
 }
 /**
  * 根据Id更新客户公司信息
  * @param company
  * @return
  */
 public Boolean updateCompany(Company company) {
  try {
   super.getHibernateTemplate().update(company);
  } catch (DataAccessException e) {
   return false;
  }
  return true;
 }

 public Company getCompanyById(Long id) {
  return (Company) super.getHibernateTemplate().get(Company.class, id);
 }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值