<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<t:base type="jquery,easyui,tools,DatePicker"></t:base>
<link rel="stylesheet" href="plug-in/bid/css/bid.css" type="text/css">
<script type="text/javascript" src="webpage/common/common.js"></script>
<div class="easyui-layout" fit="true">
<div region="north" title="技术初评" style="padding: 8px; height: 90px;border-bottom-width: 0px;">
<span class="tt_font">${bidProjectInfoPage.projectName}</span><br>
<span>项目编号:${bidProjectInfoPage.projectNum}</span>
<span class="mg_left_50">标段/子包:${bidProjectBidInfoEntity.bidName }/${bidProjectPackageInfoEntity.packageName }</span>
<span class="mg_left_50">设备名称:${bidProjectBidInfoEntity.bidDesc }</span>
<!-- 隐藏项目id、标段id、包id。保存时使用 -->
<input type="hidden" id="projectId" value="${bidProjectInfoPage.id }">
<input type="hidden" id="bidId" value="${bidProjectBidInfoEntity.id }">
<input type="hidden" id="packageId" value="${bidProjectPackageInfoEntity.id }">
<input type="hidden" id="zjid" value="${zjid}">
<input type="hidden" id="status" value="${status}">
</div>
<div region="center" style="padding:0px;border:0px">
<t:datagrid name="bidSkillEvaluationList" checkbox="false" fitColumns="true" title="" sortName="id" actionUrl="" idField="id" fit="true" queryMode="group">
<t:dgToolBar title="提交审核" icon="icon-edit" funname="btnCommitVerify"></t:dgToolBar>
<t:dgToolBar title="编辑" icon="icon-edit" funname="editRow"></t:dgToolBar>
<t:dgToolBar title="保存" icon="icon-save" url="bidSkillEvaluationController.do?saveEvaluation" funname="saveData"></t:dgToolBar>
<t:dgToolBar title="查看流程图" icon="icon-edit" funname="showFlow"></t:dgToolBar>
</t:datagrid>
</div>
</div>
<script src = "webpage/com/hdkj/evaluation/bidSkillEvaluationList.js"></script>
<script type="text/javascript">
//保存数据
function saveData(title,addurl,gname){
var status=$('#status').val();
if(status!='0'&&status!='3'&&status!=''){
tip("已经提交,无法再修改");
return;
}
var projectId = $('#projectId').val();
var bidId = $('#bidId').val();
var packageId = $('#packageId').val();
var columns = $('#'+gname).datagrid('getColumnFields');
var length=(columns.length-2);
if(!endEdit(gname))
return false;
var rows=$('#'+gname).datagrid('getRows');
if(rows.length<=0){
tip("没有需要保存的数据!")
return false;
}
for(var j=0;j<rows.length;j++){
for(var i=0;i<length;i++){
var biddername=rows[j][columns[2+i]];
var reason=rows[j][columns[3+i]];
if(biddername=='不合格'&&reason==''){
tip("请填写不合格对应的原因");
var index= $('#'+gname).datagrid('getRowIndex', rows[j]);
$('#'+gname).datagrid('beginEdit', index);
return;
}
}
}
var checkData = new Array();
var n = 0;
for(var i=0;i<rows.length;i++){
var str = '{';
for(var j in columns){
str += '"'+columns[j]+'":"'+rows[i][columns[j]]+'",';
}
str=str.substring(0,str.length-1);
checkData[n] = str+'}';
n++;
}
//保存之前可以进行校验
var request = $.ajax({
url: 'bidSkillEvaluationController/saveEvaluation.do',
type: "POST",
async: false,
traditional :true,
dataType: 'json',
data: {checkData:checkData,projectId:projectId,bidId:bidId,packageId:packageId}
}).done(function(data) {
if(data){
if(data.success == false){
tip(data.message);
}else{
$('#zjid').attr("value",data.zjid);
$('#status').attr("value",data.status);
tip(data.message);
//$('#bidSkillEvaluationList').datagrid('reload');
}
}
}).fail(function(jqXHR, textStatus){
tip('服务器处理抛出异常或者没有响应');
});
}
//结束编辑
function endEdit(gname){
var editIndex = $('#'+gname).datagrid('getRows').length-1;
for(var i=0;i<=editIndex;i++){
if($('#'+gname).datagrid('validateRow', i)){
$('#'+gname).datagrid('endEdit', i);
}else{
tip("请选择必填项(带有红色三角形状的字段)!");
return false;
}
}
return true;
}
//编辑行
function editRow(title,addurl,gname){
//var rows=$('#'+gname).datagrid("getChecked");
var rows=$('#'+gname).datagrid("getRows");
if(rows.length==0){
tip("请选择条目");
return false;
}
for(var i=0;i<rows.length;i++){
var index= $('#'+gname).datagrid('getRowIndex', rows[i]);
$('#'+gname).datagrid('beginEdit', index);
}
}
//取消编辑
function reject(title,addurl,gname){
$('#'+gname).datagrid('clearChecked');
$('#'+gname).datagrid('rejectChanges');
}
//提交审核
function btnCommitVerify(){
var projectId = $('#projectId').val();
var bidId = $('#bidId').val();
var packageId = $('#packageId').val();
var status=$('#status').val();
if(status!='0'&&status!='3'){
tip("已经提交过,无法再次提交!");
return;
}
var zjid=$('#zjid').val();
if(zjid==""){
tip("请先保存数据!");
}else{
//开始提交
var request = $.ajax({
url: 'bidSkillEvaluationController/evaluationVerify.do',
type: "POST",
async: false,
traditional :true,
dataType: 'json',
data: {zjid:zjid,projectId:projectId,bidId:bidId,packageId:packageId}
}).done(function(data) {
if(data){
if(data.success == false){
tip(data.message);
}else{
$('#status').attr("value","1");
tip(data.message);
}
}
}).fail(function(jqXHR, textStatus){
tip('服务器处理抛出异常或者没有响应');
});
}
}
function showFlow(){
var id=$('#zjid').val();
if(id==""){
tip("还未提交,没有流程图!");
return;
}
var status=$('#status').val();
if(status=='0'){
tip("还未提交,没有流程图!");
return;
}
$.dialog({
content: "url:bidSkillEvaluationController.do?flowList&id="+id,
lock : true,
title:'查看流程',
opacity : 0.3,
zIndex: 2100,
width:900,
height:500,
cache:false,
cancelVal: '关闭',
cancel: true /*为true等价于function(){}*/
}).zindex();
}
</script>
/*提交审核*/
@RequestMapping("/evaluationVerify")
public void evaluationVerify(HttpServletRequest request, HttpServletResponse response){
PrintUtils pu = new PrintUtils();
JSONObject json = new JSONObject();
try{
bidSkillEvaluationService.evaluationVerify(request);
json.put("success", true);
json.put("message", "提交审核成功");
pu.printJsonData(json.toString(), response);
} catch (Exception e) {
e.printStackTrace();
json.put("success", false);
json.put("message", e.getMessage());
}
}
@Override
public void evaluationVerify(HttpServletRequest request) {
String projectId = request.getParameter("id");
String bidId = request.getParameter("bidId");
String packageId = request.getParameter("packageId");
ActivitiUtis au=new ActivitiUtis();
TSUser user = ResourceUtil.getSessionUser();
String zjid=request.getParameter("zjid");
String sql="select * from ACT_HI_PROCINST where BUSINESS_KEY_ ='"+zjid+"' ";
List list=this.jdbcTemplate.queryForList(sql);
ProcessInstance pi=null;
if(list.size()==0){
//流程定义只需要一次
String deploySql="select count(1) from ACT_RE_DEPLOYMENT where name_='技术初评'";
int count=this.jdbcTemplate.queryForInt(deploySql);
if(count==0) {
au.deploymentProcessDefinition_inputStream("diagrams/skillcp.bpmn","diagrams/skillcp.png","技术初评");
}
pi=au.startProcessInstance(zjid,"jscpProcess");
}
list=this.jdbcTemplate.queryForList(sql);
String proc_inst_id;
String proc_def_id;
if(list.size()==0) {
//流程实例ID
proc_inst_id=pi.getId();
//流程定义id
proc_def_id=pi.getProcessDefinitionId();
}else {
Map map1=(Map) list.get(0);
proc_inst_id=map1.get("PROC_INST_ID_").toString();
proc_def_id=map1.get("PROC_DEF_ID_").toString();
}
au.findMyPersonalTask("jscp",proc_def_id,proc_inst_id);
//获取技术组长姓名
String jscpzz="";
String jscpzzsql="select * from bid_expert_project_info where is_jscpleader='Y' ";
if(StringUtil.isNotEmpty(projectId)){
jscpzzsql += " and project_id ='"+projectId+"'";
}
if(StringUtil.isNotEmpty(bidId)&&!bidId.equals("null")){
jscpzzsql += " and bid_id ='"+bidId+"'";
}
if(StringUtil.isNotEmpty(packageId)&&!packageId.equals("null")){
jscpzzsql += " and package_id ='"+packageId+"'";
}
List jscpzzlist=this.jdbcTemplate.queryForList(jscpzzsql);
if(jscpzzlist.size()>0) {
Map jscpzzmap=(Map) jscpzzlist.get(0);
jscpzz=jscpzzmap.get("username").toString();
}
//代办表
//先删除这个业务id相关的信息表,因为有可能是被打回来的
this.deleteSmsByBusinessID(zjid);
String smssql = "insert into t_s_sms(id,es_sender,create_by,es_sendtime,remark,es_title,es_content,es_type,es_receiver,update_name,update_by) VALUES "
+ "('"+CommonUtils.getUUID()+"', '"+user.getRealName()+"','"+user.getUserName()+"',now(),'"+zjid+"', '技术初评审核','技术初评审核',3, '"+jscpzz+"','jscpzz','jscpsh')";
jdbcTemplate.update(smssql);
//更改业务表状态
String bussql="update bid_skill_evaluation_zj set status=1 where id='"+zjid+"'";
jdbcTemplate.update(bussql);
}