代码

--

DROP TABLE IF EXISTS S_INPUTHELPER;

CREATE TABLE S_INPUTHELPER

(

       INPUTHELPERID VARCHAR(20) NOT NULL,

       INPUTHELPERNAME VARCHAR(50) NOT NULL,

       CONSTRAINT S_INPUTHELPER_PK PRIMARY KEY (INPUTHELPERID)

);

--.索条件

DROP TABLE IF EXISTS S_INPUTHELPER_CONDITION;

CREATE TABLE S_INPUTHELPER_CONDITION

(

       INPUTHELPERID VARCHAR(20) NOT NULL,

       CONDITIONID VARCHAR(20) NOT NULL,

       CONDITIONNAME VARCHAR(50) NOT NULL

);

--.

DROP TABLE IF EXISTS S_INPUTHELPER_HEADER;

CREATE TABLE S_INPUTHELPER_HEADER

(

       INPUTHELPERID VARCHAR(20) NOT NULL,

       HEADERID VARCHAR(20) NOT NULL,

       HEADERNAME VARCHAR(50) NOT NULL,

       HEADERWIDTH VARCHAR(3) NOT NULL,

       HEADERSHOW BOOLEAN NOT NULL

);

--.返回

DROP TABLE IF EXISTS S_INPUTHELPER_BACKER;

CREATE TABLE S_INPUTHELPER_BACKER

(

       INPUTHELPERID VARCHAR(20) NOT NULL,

       BACKERID VARCHAR(20) NOT NULL,

       BACKPOSITION VARCHAR(3) NOT NULL

 

insert into S_INPUTHELPER (INPUTHELPERID, INPUTHELPERNAME)values('Technology', '操作技');

insert into S_INPUTHELPER_CONDITION (INPUTHELPERID, CONDITIONID, CONDITIONNAME)values('Technology','skillno', 'No');

insert into S_INPUTHELPER_CONDITION (INPUTHELPERID, CONDITIONID, CONDITIONNAME)values('Technology','skill', '名称');

insert into S_INPUTHELPER_HEADER (INPUTHELPERID, HEADERID, HEADERNAME, HEADERWIDTH, HEADERSHOW)values('Technology', 'skillno', 'No', '20', true);

insert into S_INPUTHELPER_HEADER (INPUTHELPERID, HEADERID, HEADERNAME, HEADERWIDTH, HEADERSHOW)values('Technology', 'skill', '名称', '150', true);

insert into S_INPUTHELPER_BACKER (INPUTHELPERID, BACKERID, BACKPOSITION)values('Technology', 'skillno', 1);

insert into S_INPUTHELPER_BACKER (INPUTHELPERID, BACKERID, BACKPOSITION)values('Technology', 'skill', 2);

--言技术辅

insert into S_INPUTHELPER (INPUTHELPERID, INPUTHELPERNAME)values('Language', '言技');

insert into S_INPUTHELPER_CONDITION (INPUTHELPERID, CONDITIONID, CONDITIONNAME)values('Language','languageno', 'No');

insert into S_INPUTHELPER_CONDITION (INPUTHELPERID, CONDITIONID, CONDITIONNAME)values('Language','lanskill', '言名称');

insert into S_INPUTHELPER_HEADER (INPUTHELPERID, HEADERID, HEADERNAME, HEADERWIDTH, HEADERSHOW)values('Language', 'languageno', 'No', '40', true);

insert into S_INPUTHELPER_HEADER (INPUTHELPERID, HEADERID, HEADERNAME, HEADERWIDTH, HEADERSHOW)values('Language', 'lanskill', '言名称', '150', true);

insert into S_INPUTHELPER_BACKER (INPUTHELPERID, BACKERID, BACKPOSITION)values('Language', 'languageno', 1);

insert into S_INPUTHELPER_BACKER (INPUTHELPERID, BACKERID, BACKPOSITION)values('Language', 'lanskill', 2);

 

DROP TABLE IF EXISTS t_technology;

CREATE TABLE t_technology

(

       technologyid integer NOT NULL,

       employeeid integer NOT NULL,

       skillability VARCHAR(50),

       experiencetime VARCHAR(10),

       traininfoid integer,

       skillno VARCHAR(20),

       createuserid integer NOT NULL,

       createdate timestamp NOT NULL,

       updateuserid integer NOT NULL,

       updatedate timestamp NOT NULL,

       CONSTRAINT t_technology_pk PRIMARY KEY (technologyid)

);

 

--言技信息

DROP TABLE IF EXISTS t_language;

CREATE TABLE t_language

(

       languageid integer NOT NULL,

       employeeid integer NOT NULL,

       languageno VARCHAR(10),

       speakability VARCHAR(50),

       readability VARCHAR(50),

       writeability VARCHAR(50),

       traininfoid integer,

       createuserid integer NOT NULL,

       createdate timestamp NOT NULL,

       updateuserid integer NOT NULL,

       updatedate timestamp NOT NULL,

       CONSTRAINT t_language_pk PRIMARY KEY (languageid)

);

--   操作技术类

DROP TABLE IF EXISTS m_technologytype;

CREATE TABLE m_technologytype

(

       skillno VARCHAR(20) NOT NULL,

       skill VARCHAR(50) NOT NULL,

       CONSTRAINT m_technology_pk PRIMARY KEY (skillno)

);

 

--数据

insert into m_technologytype(skillno, skill)values('1', 'VB');

insert into m_technologytype(skillno, skill)values('2', 'VC');

insert into m_technologytype(skillno, skill)values('3', 'C#');

insert into m_technologytype(skillno, skill)values('4', 'Java');

insert into m_technologytype(skillno, skill)values('5', 'PL/SQL');

insert into m_technologytype(skillno, skill)values('6', 'JavaScript');

insert into m_technologytype(skillno, skill)values('7', 'C/C++');

insert into m_technologytype(skillno, skill)values('8', 'Unix');

insert into m_technologytype(skillno, skill)values('9', 'SQLServer');

insert into m_technologytype(skillno, skill)values('10', 'Windows');

--   言技术类

DROP TABLE IF EXISTS m_languagetype;

CREATE TABLE m_languagetype

(

       languageno VARCHAR(10) NOT NULL,

       lanskill VARCHAR(50) NOT NULL,

       CONSTRAINT m_languagetype_pk PRIMARY KEY (languageno)

);

--言数据

insert into m_languagetype(languageno, lanskill)values('1', '中国');

insert into m_languagetype(languageno, lanskill)values('2', '日本');

insert into m_languagetype(languageno, lanskill)values('3', '');

insert into m_languagetype(languageno, lanskill)values('4', '韩语');

insert into m_languagetype(languageno, lanskill)values('5', '');

insert into m_languagetype(languageno, lanskill)values('6', '西班牙');

 

--经验

DROP TABLE IF EXISTS t_project;

CREATE TABLE t_project

(

       projectid integer NOT NULL,

       employeeid integer NOT NULL,

       startdate timestamp,

       enddate timestamp,

       projectname VARCHAR(50) NOT NULL,

       operatesystem VARCHAR(50),

       usedatabase VARCHAR(50),

       developlanguage VARCHAR(50),

       tool VARCHAR(50),

       bse CHAR(1),

       fabricate CHAR(1),

       monomertest CHAR(1),

       combinetest CHAR(1),

       applytest CHAR(1),

       tutor CHAR(1),

       pjmanage CHAR(1),

       detaileddesign CHAR(1),

       basicdesign CHAR(1),

       essentialdesign CHAR(1),

       createuserid integer NOT NULL,

       createdate timestamp NOT NULL,

       updateuserid integer NOT NULL,

       updatedate timestamp NOT NULL,

       CONSTRAINT t_project_pk PRIMARY KEY (projectid)

);

 

 

Technoogy.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<jsp:include page="../script.jsp"></jsp:include>

<style type="text/css">

</style>

<script type="text/javascript">

$(function() {

 

       $("#technology").flexigrid({

              singleSelect: true,

              showToggleBtn: false,

              buttons: [

                     {name: '添加', bclass: 'flexgrid_edit', onpress : function(com,grid){

                            window.location.href= "${pageContext.request.contextPath}/employee/${employeeid}/TechnologyDetail.html";

                     }},

                     {separator: true},

                     {name: '编辑', bclass: 'flexgrid_edit', onpress : function(com,grid){

                            var i = $('.trSelected',grid).length;

                            if(i == 1){

                                   var id = $('.trSelected',grid)[0].id.substr(3);

                                   window.location.href= "${pageContext.request.contextPath}/employee/${employeeid}/TechnologyDetail/" + id + ".html";

                            }else{

                                   $( "#dialog-confirm" ).dialog('open');

                            }

                     }},

                     {separator: true},

                     {name: '返回在职员', bclass: 'flexgrid_edit', onpress : function(com,grid){

                            window.location.href= "${pageContext.request.contextPath}/employee/EmployeeSearch.html";

                     }},

                     {separator: true}

              ]

       });

       $( "#dialog-confirm" ).dialog({

              autoOpen: false,

              resizable: false,

              height:150,

              modal: true,

              buttons: {

                     OK: function() {

                            $( this ).dialog( "close" );

                     }

              }

       });

});

</script>

</head>

<body>

<jsp:include page="../header.jsp"></jsp:include>

<h3>操作技信息一</h3>

ID<c:out value="${employeeid}"/>&nbsp;

工姓名:<c:out value="XXX"/>&nbsp;

<c:out value=""/>&nbsp;

日期:<c:out value="2009/02/02"/>&nbsp;

位:<c:out value=""/>&nbsp;

<table id="technology" border="0">

<thead>

       <tr><th width="150">操作技</th><th width="150">能力</th><th width="130">经验月数</th></tr>

</thead>

<tbody>

<c:forEach items="${Technology}" var="item">

       <tr id="row<c:out value="${item.technologyid}"/>">

       <td><c:out value="${item.skill }"></c:out></td>

       <td><c:out value="${item.skillability}"></c:out></td>

       <td><c:out value="${item.experiencetime }"></c:out></td>

       </tr>

</c:forEach>

</tbody>

</table>

<div id="dialog-confirm" title="请选择">

       <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>请选择一位工。</p>

</div>

<jsp:include page="../footer.jsp"></jsp:include>

</body>

</html>

 

TechnologyDetail.jsp

 

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<jsp:include page="../script.jsp"></jsp:include>

<style type="text/css">

</style>

<script type="text/javascript">

$(function() {

$(".text").addClass("ui-widget-content ui-corner-all");

$(".helper").addClass("ui-icon ui-icon-search").button();

$("#technologyForm").submit(function(){

              $("input.text").trim();

       });

       $(".helper").button();

       $("#technologyhelper").click(function(){

              $('#dialog-inputhelper').load('${pageContext.request.contextPath}/common/InputHelper.html',

                     {

                            moduleid:"Technology",

                            titem: ["skillno", "skill"],

                            tval: [$('#skillno').val(), $('#skill').val()],

                            bitem: ["skillno", "skill"],

                            bdisplayid: ["skillno", "skill"]

                     }

              );

       });

       $("#searchtrainhelper").click(function(){

              $('#dialog-inputhelper').load('${pageContext.request.contextPath}/common/InputHelper.html',

                     {

                            moduleid:"Searchtrain",

                            titem: ["employeeid","traininfoid"],

                            tval: [$('#employeeid').val(),$('#traininfoid').val()],

                            bitem: ["employeeid","traininfoid"],

                            bdisplayid: ["employeeid","traininfoid"]

                     }

              );

       });

       $(":button").button();

       $("#btnSave").button();

       $( "#dialog-confirm" ).dialog({

              autoOpen: false,

              resizable: false,

              height:150,

              modal: true,

              buttons: {

                     OK: function() {

                            $( this ).dialog( "close" );

                     }

              }

       });

       $("#btnBack").button().click(function(){

              window.location.href = "${pageContext.request.contextPath}/employee/${employeeid}/Technology.html";

       });

      

});

</script>

</head>

<body>

<jsp:include page="../header.jsp"></jsp:include>

<h3><c:if test="${isNew}">添加操作技信息</c:if><c:if test="${!isNew}">编辑操作技信息</c:if></h3>

ID<c:out value="${employeeid}"/>&nbsp;

工姓名:<c:out value="XXX"/>&nbsp;

<c:out value=""/>&nbsp;

日期:<c:out value="2009/02/02"/>&nbsp;

位:<c:out value=""/>&nbsp;

 

<jsp:include page="../messager.jsp"></jsp:include>

<form:form id="technologyDetailForm" commandName="technologyDetailForm" method="POST">

 

操作技<form:input id="skillno" path="skillno" style="width:25px" class="text" cssErrorClass="text ui-state-error"/>

              <span id="technologyhelper" class="helper"></span>

              <form:input path="skill" class="text"/><form:errors path="skillno" cssClass="error"/><br>

经验月数(月):<form:input id="experiencetime" path="experiencetime" class="text " cssErrorClass="text ui-state-error"/><form:errors path="experiencetime" cssClass="error"/><br>

ID<form:input path="traininfoid" class="text" cssErrorClass="text ui-state-error"/><form:errors path="traininfoid" cssClass="error"/><span id="searchtrainhelper" class="helper"></span><c:if test="${!isNew}"><c:if test="${isTrain}"><c:if test="${isTraininfo}"><a id="btnSearch" href="/hr/employee/${employeeid}/TrainDetail/${traininfoid}.html">看培信息</a></c:if></c:if></c:if><br/>

能力:<form:radiobutton path="skillability" value="經驗"/><label>經驗</label>

              <form:radiobutton path="skillability" value="知識"/><label>知識</label><br>

<tr><td></td><td><input id="btnSave" type="submit"  value="保存"/>    

<c:if test="${!isNew}"><input type="submit" id="btnDelete"  value=""/>

<script type="text/javascript">

       $(function(){

       $("#btnDelete").button().click(function(){

              $( "#comfineDialog" ).dialog("open");

              return false;

       });

       $("#comfineDialog").dialog({

              autoOpen: false,

              resizable: false,

              height:140,

              modal: true,

              buttons: {

                     "": function() {

                            $("input.text").trim();

                            $("#technologyDetailForm")[0].action="${pageContext.request.contextPath}/employee/${technologyDetailForm.employeeid}/TechnologyDetail/${technologyDetailForm.technologyid}/delete.html";

                            $("#technologyDetailForm").submit();

                     },

                     Cancel: function() {

                            $( this ).dialog( "close" );

                     }

              }

       });

});

</script>

<div id="comfineDialog" title="">确定要</div>

</c:if>

<input type="button" id="btnBack"  value="返回"/>

<form:hidden path="updatedate"/>

</form:form>

<jsp:include page="../footer.jsp"></jsp:include>

<div id="dialog-inputhelper"></div>

</body>

</html>

 

TechnologyController

package cn.com.mbp.hr.employee.SkillInformation.Technology.mvc;

 

import org.springframework.beans.factory.annotation.Autowired;

 

cn.com.mbp.hr.employee.SkillInformation.Technology.service.TechnologyServiceLocal;

@Controller

@RequestMapping("/employee/{employeeid}/Technology")

public class TechnologyController {

       @Autowired

       private TechnologyServiceLocal service;

       /**

        * 画面初期化

        * @param employeeid 员工ID

        * @param model 操作技术信息列表

        * @return /employee/TechnologyList.jsp

        */

       @RequestMapping(method=RequestMethod.GET)

       public String doInit(

              @PathVariable Integer employeeid,

              ModelMap model){

              model.addAttribute("employeeid",employeeid);

              model.addAttribute("Technology",service.findAll(employeeid));

              return "/employee/Technology";

       }

}

 

Technologydetailcontroller

package cn.com.mbp.hr.employee.SkillInformation.Technology.mvc;

 

import java.util.Locale;

 

/**

 * <p>机能名: 档案管理/技术信息</p>

 * <p>画面名: 详细操作技术</p>

 * <p>式样书: 基本设计_技术信息.xls</p>

 * @version 1.0 2011/3/22

 * @author 杨蓓蓓(S1011523

 */

@Controller

@RequestMapping("/employee/{employeeid}/TechnologyDetail")

public class TechnologyDetailController {

              @Autowired

              private TechnologyServiceLocal service;

              @Autowired

              private MessageSource message;

              /**

               * 画面初期化

               * @param employeeid 员工ID

               * @param model 初始化画面参数

               * @return /employee/TechnologyDetail.jsp

               */

              @RequestMapping( method=RequestMethod.GET)

              public String doInit(@PathVariable Integer employeeid,ModelMap model){

                            TechnologyDetailForm form =new TechnologyDetailForm();

                            model.addAttribute("employeeid",employeeid);

                            model.addAttribute("isNew", true);

                            model.addAttribute(form);

                            return "/employee/TechnologyDetail";

              }

              /**

               * 保存处理

               * @param form 操作技术信息

               * @param result 信息验证结果

               * @param employeeid 员工ID

               * @param model 初始化画面参数

               * @return /employee/TechnologyDetail.jsp

               */

             

              @RequestMapping(method=RequestMethod.POST)

              public String doSave(@Valid TechnologyDetailForm form, BindingResult result,

                                          @PathVariable Integer employeeid,ModelMap model){

                            if(result.hasErrors()){

                                          model.addAttribute("employeeid",employeeid);

                                          model.addAttribute("isNew", true);

                                          return "/employee/TechnologyDetail";

                            }

                            UserInfoDetails user = (UserInfoDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();

                                          model.addAttribute("employeeid", employeeid);

                                          model.addAttribute("isNew", true);

                            if(service.checkSkillexist(form,user.getUserid()) == 0){

                                         

                                          model.addAttribute(ProcessResult.KEY, new ProcessResult(ProcessResult.NG, message.getMessage("checkSkillexist.error.SkillExist", new String[]{form.getSkillno().toString()}, Locale.getDefault())));

                                          return "/employee/TechnologyDetail";

                            }

                            if(service.checkSkill(form,user.getUserid()) == 0){

                                          model.addAttribute(ProcessResult.KEY, new ProcessResult(ProcessResult.NG, message.getMessage("CheckSkill.error.SkillMatchExist", new String[]{form.getSkillno().toString()}, Locale.getDefault())));

                                          return "/employee/TechnologyDetail";

                            }else{

                            service.saveTechnology(form,employeeid,user.getUserid());

                            return "redirect:/employee/"+employeeid+"/Technology.html";}

              }

              /**

               * 修改详细操作技术信息画面

               * @param employeeid 员工ID

               * @param technologyid 技术ID

               * @param model 操作技术信息

               * @param skillno 技术NO

               * @return /employee/TechnologyDetail.jsp

               */

             

              @RequestMapping(value = "/{technologyid}", method=RequestMethod.GET)

              public String doDetail(@PathVariable Integer employeeid,@PathVariable Integer technologyid, ModelMap model, Object skillno){

                            TechnologyDetailForm form = new TechnologyDetailForm();

                            TechnologyInfoBean technology = service.getTechnologyById(technologyid);

                            form.setTechnologyid(technologyid);//技术ID

                            form.setEmployeeid(technology.getEmployeeid());//员工ID

                            form.setSkill(technology.getSkill());//操作技术

                            form.setSkillno(technology.getSkillno());//技术NO

                            form.setSkillability(technology.getSkillability());//技术能力

                            form.setExperiencetime(technology.getExperiencetime());//经验月数

                            form.setTraininfoid(technology.getTraininfoid());//培训ID

                            form.setUpdatedate(technology.getUpdatedate());//更新日期

                            model.addAttribute(form);

                            model.addAttribute("employeeid",employeeid);

                            return "/employee/TechnologyDetail";

              }

             

              /**

               * 保存更新操作技术信息画面

               * @param employeeid 员工ID

               * @param technologyid 技术ID

               * @param model 操作技术信息

               * @return /employee/TechnologyDetail.jsp

               */

              @RequestMapping(value = "/{technologyid}", method=RequestMethod.POST)

              public String doUpdate(@PathVariable Integer employeeid,@PathVariable Integer technologyid, ModelMap model,

                                          @Valid TechnologyDetailForm form, BindingResult result){

                            if(result.hasErrors()){

                                          model.addAttribute("employeeid",employeeid);

                                          return "/employee/TechnologyDetail";

                            }

                            model.addAttribute("employeeid", employeeid);

                            model.addAttribute("isNew", true);

                            UserInfoDetails user = (UserInfoDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();

                            if(service.checkSkillexist(form,user.getUserid()) == 0){

                                          model.addAttribute(ProcessResult.KEY, new ProcessResult(ProcessResult.NG, message.getMessage("checkSkillexist.error.SkillExist", new String[]{form.getSkillno().toString()}, Locale.getDefault())));

                                          return "/employee/TechnologyDetail";

                            }

                            if(service.checkSkill(form,user.getUserid()) == 0){

                                          model.addAttribute(ProcessResult.KEY, new ProcessResult(ProcessResult.NG, message.getMessage("CheckSkill.error.SkillMatchExist", new String[]{form.getSkillno().toString()}, Locale.getDefault())));

                                          return "/employee/TechnologyDetail";

                            }else{

                            service.updateTechnology(employeeid, technologyid, form, user.getUserid());

                            return "redirect:/employee/"+employeeid+"/Technology.html";}

              }

                           

             

              /**

               * 删除处理

               * @param form 操作技术信息

               * @param result 信息验证结果

               * @param employeeid 员工ID

               * @param technologyid 技术ID

               * @return /employee/Technology/员工ID.html

               */

              @RequestMapping(value = "/{technologyid}/delete", method=RequestMethod.POST)

              public String doDelete(@Valid TechnologyDetailForm form, BindingResult result,@PathVariable Integer employeeid,@PathVariable Integer technologyid){

                            UserInfoDetails user = (UserInfoDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();

                            service.deleteTechnology(form, technologyid,employeeid, user.getUserid());

                            return "redirect:/employee/"+employeeid+"/Technology.html";

              }

}

Helper.xml

       <select id="Technology">

              select m.skillno, m.skill

              from m_technologytype m

              <dynamic prepend="WHERE">

                     <isNotEmpty prepend="AND" property="skillno">

                     m.skillno LIKE '%' || #skillno# || '%'

                     </isNotEmpty>

                     <isNotEmpty prepend="AND" property="skill">

                     m.skill LIKE '%' || #skill# || '%'

                     </isNotEmpty>

              </dynamic>

       </select>

       <select id="TechnologyCount">

              select count(*)

              from m_technologytype m

              <dynamic prepend="WHERE">

                     <isNotEmpty prepend="AND" property="skillno">

                     m.skillno LIKE '%' || #skillno# || '%'

                     </isNotEmpty>

                     <isNotEmpty prepend="AND" property="skill">

                     m.skill LIKE '%' || #skill# || '%'

                     </isNotEmpty>

              </dynamic>

       </select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值