apzl_leasing/WebContent/Common/Evaluate/EvaluateDetail.jsp
2018-06-03 22:26:41 +08:00

510 lines
19 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="com.tenwa.evaluate.action.EvaluateAction" %><%@
include file="/IncludeBegin.jsp"%><%@
page import="com.amarsoft.biz.evaluate.*"%><%
//定义变量
String sBelongAttribute = ""/*主办权*/,sBelongAttribute1 = "",/*查看权*/sBelongAttribute2 = "";/*维护权*/
boolean isEditable=true;//是否可以保存、测算
String sEvaluateDate = StringFunction.getToday();
//获得页面参数 Action : 动作代码; ObjectType: 对象类型; ObjectNo: 对象编号; ObjectName:对象名称 SerialNo : 评估流水号
String sAction = CurPage.getParameter("Action");
String FlowUnid = CurPage.getParameter("FlowUnid");
String sObjectType = CurPage.getParameter("ObjectType");
String sObjectNo = CurPage.getParameter("ObjectNo");
String sObjectName = CurPage.getParameter("ObjectName");
String sSerialNo = CurPage.getParameter("SerialNo");
String sCustomerID = CurPage.getParameter("CustomerID");
String sEditable = CurPage.getParameter("Editable");
String sModelNo = CurPage.getParameter("ModelNo");
String sAccountMonth = CurPage.getParameter("AccountMonth");
String RightType=CurPage.getParameter("RightType");
String sDisabled="";
//设置保存、测算的权限
if("false".equals(sEditable)) {
isEditable=false;
sDisabled="Disabled";
}
//将空值转化为空字符串
if(sAction == null) sAction = "new";
if(sObjectType == null) sObjectType = "";
if(sObjectNo == null) sObjectNo = "";
if(sObjectName == null) sObjectName = "";
if(sSerialNo == null) sSerialNo = "";
if(sCustomerID == null) sCustomerID = "";
if(sModelNo == null) sModelNo = "";
if(sAccountMonth == null) sAccountMonth = sEvaluateDate.substring(0, 7);
//创建JBOTrans
JBOTransaction tx = JBOFactory.createJBOTransaction();
Evaluate eEvaluate = null;
try{
//判断用户权限
//BizObject custBelong = JBOFactory.getBizObjectManager("jbo.app.CUSTOMER_BELONG", tx).createQuery(
// " select BelongAttribute,BelongAttribute1,BelongAttribute2 from O where CustomerID=:CustomerID and UserID=:UserID and OrgID=:OrgID")
// .setParameter("CustomerID",sCustomerID).setParameter("UserID",CurUser.getUserID()).setParameter("OrgID",CurUser.getOrgID())
// .getSingleResult(false);
//if (custBelong!=null) {
// sBelongAttribute = custBelong.getAttribute("BelongAttribute").getString();
// sBelongAttribute1 = custBelong.getAttribute("BelongAttribute1").getString();
// sBelongAttribute2 = custBelong.getAttribute("BelongAttribute2").getString();
//}
%>
<%/*~BEGIN~可编辑区~[Describe=根据不同的参数,确定评估模型并做相应的保存、删除、测算的处理;]~*/%>
<%
EvaluateManager evalManager = new EvaluateManager(sAction, sObjectType, sObjectNo, sSerialNo, sModelNo,CurPage, tx);
String sMessage = evalManager.updateOrEval();
eEvaluate = evalManager.getEvaluate();
//根据模型类型,从代码表中找到评分卡模型配置
String sModelTypeAttributes = evalManager.getModelTypeAttributes();
if(sModelTypeAttributes==null) throw new Exception("模型类型 ["+evalManager.getModelType()+"] 的属性集 没有定义请查看CODE_LIBRARY:EvaluateModelType的RelativeCode属性");
String sDisplayFinalResult = StringFunction.getProfileString(sModelTypeAttributes,"DisplayFinalResult");
String sDisplayItemScore = StringFunction.getProfileString(sModelTypeAttributes,"DisplayItemScore");
String sButtonSaveFace = StringFunction.getProfileString(sModelTypeAttributes,"ButtonSaveFace");
String sButtonCalcFace = StringFunction.getProfileString(sModelTypeAttributes,"ButtonCalcFace");
String sButtonDelFace = StringFunction.getProfileString(sModelTypeAttributes,"ButtonDelFace");
String sButtonCloseFace = StringFunction.getProfileString(sModelTypeAttributes,"ButtonCloseFace");
String sItemValueDisplayWidth = StringFunction.getProfileString(sModelTypeAttributes,"ItemValueDisplayWidth");
if(sItemValueDisplayWidth==null || sItemValueDisplayWidth.equals("")) sItemValueDisplayWidth="100";
String sEvaluateScore="得分:",sEvaluateResult="结果:";
if(eEvaluate.ModelNo.equals("RiskEvaluate")){
sEvaluateScore="风险度:";
sEvaluateResult="";
}else if(eEvaluate.ModelNo.equals("LiquidityForecast")){
sEvaluateScore="新增流动资金贷款额度参考值:";
sEvaluateResult="元";
}else if(eEvaluate.ModelNo.equals("CreditLine")){
sEvaluateScore="我行最高综合授信限额参考值:";
sEvaluateResult="万元";
}
//删除数据
if(sAction.equals("delete")){
Evaluate.deleteEvaluate(sObjectType, sObjectNo, sSerialNo, tx);
%>
<script type="text/javascript">
alert("评估信息删除完成!");
self.close();
</script>
<%
}
%>
<%/*END*/%>
<html>
<head>
<title><%=evalManager.getModelTypeName()%></title>
<style>
.nullPrompt{
background:#F0E68C;
}
</style>
</head>
<body leftmargin="0" topmargin="0" onBeforeUnload="reloadOpener();" style="overflow: auto; height: 99%;">
<table border="0" width="99%" align="center">
<tr>
<td colspan=5>
<table>
<%if(sButtonSaveFace!=null && !sButtonSaveFace.equals("NONE")){
if(isEditable){%>
<!-- <td id="updateData">
<%=new Button(sButtonSaveFace, sButtonSaveFace, "updateData()", "", "").getHtmlText()%>
</td>-->
<td id="evaluate">
<%if(!("ReadOnly".equals(RightType))){%>
<%=new Button(sButtonCalcFace, sButtonCalcFace, "evaluateData()", "", "btn_icon_edit").getHtmlText() %>
<% } %>
</td>
<td id="delete">
<%if(!("ReadOnly".equals(RightType))){%>
<%=new Button(sButtonDelFace, sButtonDelFace, "deleteData()", "", "").getHtmlText()%>
<% } %>
</td>
<%} %>
<!-- <td id="goBack">
<%=new Button(sButtonCloseFace, sButtonCloseFace, "goBack()", "", "").getHtmlText()%>
</td> -->
<%}%>
</table>
</td>
</tr>
<tr>
<td colspan="5">
<hr>
</td>
</tr>
<tr>
<td nowrap align="center" colspan="5">
<font SIZE="4"><b><%=sObjectName +"&nbsp;" %></b><%=evalManager.getEvalCatalog().getAttribute("ModelName").getString()%></font>
</td>
</tr>
<%
if(sDisplayFinalResult!=null && sDisplayFinalResult.equalsIgnoreCase("Y")){
%>
<tr>
<td nowrap align="center" colspan="5">
<FONT SIZE="4"><%=sEvaluateScore%><B><%=DataConvert.toMoney(eEvaluate.EvaluateScore)%></B></FONT>
<%
if(!eEvaluate.ModelNo.equals("RiskEvaluate") && !eEvaluate.ModelNo.equals("080")) {
out.println("<font size=\"4\">"+sEvaluateResult+"<b>"+DataConvert.toString(eEvaluate.EvaluateResult)+"</b></font>");
}
if (eEvaluate.ModelNo.equals("080")){
out.println("<font size=\"4\">"+sEvaluateResult+"</font>");
}
%>
</td>
</tr>
<%
}
%>
<tr>
</tr>
<tr>
<td colspan="5" align="center">
<div id="Layer1" style="z-index:1;">
<form name="report" method="post">
<input type=hidden name=CompClientID value="<%=CurComp.getClientID()%>">
<table width="100%" align="left" class="dialog_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<!-- <td height="21" align="center" nowrap class="title">编号</td> -->
<td height="21" nowrap align="center" class="title">项目名称</td>
<td height="21" nowrap align="center" class="title">计算公式/评价内容</td>
<td height="21" nowrap align="center" class="title" width="<%=sItemValueDisplayWidth%>">项目值</td>
<%if(sDisplayItemScore!=null && sDisplayItemScore.equalsIgnoreCase("Y")){%>
<td height="21" nowrap align="center" class="title">得分</td>
<%}%>
</tr>
<%
List<BizObject> evalDataList = evalManager.getEvaluate().getEvalDataList();
int i = 0;
String myS="",sItemName="", myItemName="", sItemValue="",sDisplayNo="",sTitle="",
sValueCode=""/*值结点*/, sValueMethod=""/*值方法*/, sValueType=""/*值类型*/;
double dEvaluateScore;
List<BizObject> bos = JBOFactory.getBizObjectManager("jbo.sys.EVALUATE_MODEL").createQuery("select des from O where modelno=:ModelNo").setParameter("ModelNo", sModelNo).getResultList(false);
String s="&nbsp;&nbsp;";
String des="";
for(int j=0;j<evalDataList.size();j++){
sItemName = "R" + String.valueOf(i++);
myItemName=evalDataList.get(j).getAttribute("ItemName").getString();
sItemValue = evalDataList.get(j).getAttribute("ItemValue").getString();
des=bos.get(j).getAttribute("DES").getString();
sDisplayNo=evalDataList.get(j).getAttribute("DisplayNo").getString();
sValueCode = evalDataList.get(j).getAttribute("ValueCode").getString();
sValueMethod = evalDataList.get(j).getAttribute("ValueMethod").getString();
sValueType = evalDataList.get(j).getAttribute("ValueType").getString();
dEvaluateScore=evalDataList.get(j).getAttribute("EvaluateScore").getDouble();
%>
<tr height="25">
<%if (sDisplayNo.trim().length() == 1){out.print("<td nowrap ><b>"+myItemName+"</b></td>");}
else{ out.print("<td nowrap >"+s+myItemName+"</td>");}
if ((sValueCode != null && sValueCode.trim().length() > 0)||(sValueMethod != null && sValueMethod.trim().length() > 0)){ //如果有代码则显示代码列表
if("007".equals(eEvaluate.ModelNo)){//仅针对“宾馆服务企业信用等级评估表”进行块处理(显示控制)
%>
<td nowrap align="left" >
<select name=<%=sItemName%> align="left" onchange="ClassifyChange()">
<option value='0'> </option>
<%=HTMLControls.generateDropDownSelect(Sqlca,sValueCode,sItemValue)%>
</select>
</td>
<%} else {
%>
<td nowrap align="left" ><%=des%>
</td>
<td nowrap align="left" >
<% if(sValueMethod != null && sValueMethod.trim().length() > 0){%>
<%=sItemValue%>
<%}else { %>
<select name=<%=sItemName%> align="left" <%=sDisabled %>>
<option value='0'> </option>
<%=HTMLControls.generateDropDownSelect(Sqlca,sValueCode,sItemValue)%>
</select>
<%} %>
</td>
<%}
}else if ((sValueMethod != null && sValueMethod.trim().length() > 0) || sValueType==null || sValueType.trim().length() == 0){
//如果有取值方法则不能进行修改
myS=sItemValue;
if(myS!=null && !myS.equalsIgnoreCase("null") && !myS.equals("")){
if(sValueType !=null && sValueType.equals("Number")){
myS=DataConvert.toMoney(sItemValue);
if(myS.equals("")) myS="0.00";
}else myS=sItemValue;
}else{ myS="";}
if (sDisplayNo.length()==1)
myS="";
%>
<td nowrap height='22' align="left" name="<%=sItemName%>"><%=myS%>&nbsp;</td>
<%
}else{ //否则可以进行修改
// 改变信用等级评估模板的文本框在输入值时的约束,这里只能录入数字和小数点,并增加了失焦响应,用以对输入数值的判定
%>
<td nowrap align="left" >
<input type=text name="<%=sItemName%>" value='<%=sItemValue%>' onkeyup="value=value.replace(/[^\d^\.]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d^\.]/g,''))" onblur="isMatch(value,name)"/>
</td>
<%
}
if(sDisplayItemScore!=null && sDisplayItemScore.equalsIgnoreCase("Y")){
if (sValueType!=null && sValueType.length()>0){
%>
<td nowrap align="right"><%=DataConvert.toMoney(dEvaluateScore)%></td>
<%
}else{
%>
<td nowrap align="right">&nbsp;</td>
<%
}
}
%> </tr>
<%
}
%>
</table>
</form>
</div>
</td>
</tr>
</table>
<%
if(!(sAction.equals("new") || sAction.equals("display") || sAction.equals("delete"))){
%>
<script type="text/javascript">
alert('<%=sMessage%>');
</script>
<%
}
tx.commit();
}catch(Exception e){
tx.rollback();
throw e;
}
%>
</body>
</html>
<%/*~BEGIN~可编辑区~[Describe=页面装载时,进行初始化;]~*/%>
<script type="text/javascript">
window.onload=function(){
var action="<%=sAction%>";
if(action=="delete"){
AsControl.OpenView("/Tenwa/Lease/Flow/Comm/LBProjEvalute/LBProjEvaluateList.jsp","FlowUnid=<%=FlowUnid%>","_self","");
}
}
function evaluateData(){
var i;
var b = true;
for(i = 0;i<=document.forms[0].elements.length-1;i++){
if(document.forms[0].elements[i].type.substr(0,4)=="text"){
if(document.forms[0].elements[i].value=="" && document.forms[0].elements[i].disabled == false){
document.forms[0].elements[i].focus();
b = false;
$(document.forms[0].elements[i].parentNode).addClass("nullPrompt");
if($(document.forms[0].elements[i]).next("span").html() == null){
$(document.forms[0].elements[i]).after("<span style='color:#F00'>&nbsp;&nbsp;* 项目不能为空</span>");
}else{
$(document.forms[0].elements[i]).next("span").show();
}
}else{
$(document.forms[0].elements[i].parentNode).removeClass("nullPrompt");
$(document.forms[0].elements[i]).next("span").hide();
}
}
}
for(i = 0;i<=document.forms[0].elements.length-1;i++){
if(document.forms[0].elements[i].type.substr(0,6)=="select"){
if(document.forms[0].elements[i].value=="0" && document.forms[0].elements[i].disabled == false){
document.forms[0].elements[i].focus();
b = false;
$(document.forms[0].elements[i].parentNode).addClass("nullPrompt");
if($(document.forms[0].elements[i]).next("span").html() == null){
$(document.forms[0].elements[i]).after("<span style='color:#F00'>&nbsp;&nbsp;* 项目不能为空</span>");
}else{
$(document.forms[0].elements[i]).next("span").show();
}
}else{
$(document.forms[0].elements[i].parentNode).removeClass("nullPrompt");
$(document.forms[0].elements[i]).next("span").hide();
}
}
}
if(!b) return;
var sParameter = "Action=evaluate"+
"&ObjectType="+"<%=sObjectType%>"+
"&ObjectNo="+"<%=sObjectNo%>"+
"&SerialNo="+"<%=sSerialNo%>"+
"&AccountMonth="+"<%=sAccountMonth%>"+
"&ModelNo="+"<%=sModelNo%>"+
"&Rand="+randomNumber();
document.report.action="<%=sWebRootPath%>/Common/Evaluate/EvaluateDetail.jsp?"+sParameter;
document.report.submit();
}
function updateData(){
var sParameter = "Action=update"+
"&ObjectType=<%=sObjectType%>"+
"&ObjectNo=<%=sObjectNo%>"+
"&SerialNo=<%=sSerialNo%>"+
"&AccountMonth=<%=sAccountMonth%>"+
"&ModelNo=<%=sModelNo%>"+
"&Rand="+randomNumber();
document.report.action="<%=sWebRootPath%>/Common/Evaluate/EvaluateDetail.jsp?"+sParameter;
document.report.submit();
//reloadSelf();
}
/*~[Describe=删除记录;]~*/
function deleteData(){
if (confirm("将要删除该期评估信息,继续吗?")){
var sParameter = "Action=delete"+
"&ObjectType="+"<%=sObjectType%>"+
"&ObjectNo="+"<%=sObjectNo%>"+
"&SerialNo=<%=sSerialNo%>"+
"&AccountMonth="+"<%=sAccountMonth%>"+
"&ModelNo="+"<%=sModelNo%>"+
"&Rand="+randomNumber()+"&FlowUnid="+"<%=FlowUnid%>";
document.report.action="<%=sWebRootPath%>/Common/Evaluate/EvaluateDetail.jsp?"+sParameter;
document.report.submit();
}
}
function goBack(){
self.close();
}
//对校验后的文本框做相应的处理
function isMatch(sValue,sName){
var sResult = validateNum(sValue);
if( sResult == "false" ){
alert(getMessageText("ALS70959"));//输入的值有误,请规范输入!
document.forms[0].elements[sName].focus();//聚焦
document.forms[0].elements[sName].value="";//清空值
}else if( sResult == "true" ){
}else{
sValue = sValue.substring(sResult);//去除输入值中无效的0
document.forms[0].elements[sName].value=sValue;
}
}
/*~[Describe=初始化页面;]~*/
function initPage(){
sBelongAttribute = "<%=sBelongAttribute%>";
sBelongAttribute1 = "<%=sBelongAttribute1%>";
sBelongAttribute2 = "<%=sBelongAttribute2%>";
//alert(sBelongAttribute+" "+sBelongAttribute1+" "+sBelongAttribute2);
if(sBelongAttribute == "2" && sBelongAttribute1 == "1" && sBelongAttribute2 == "2"&&<%=isEditable%>){
document.getElementById("updateData").style.display = "none";
document.getElementById("evaluate").style.display = "none";
}
}
//块选择控制(页面显示控制)
function ClassifyChange(){
//对“宾馆服务企业信用等级评估表”进行块处理
if(<%= "007".equals(eEvaluate.ModelNo) %>){
if(document.report.R48.value == "1"){ //宾馆
document.report.R50.disabled = false;
//document.report.R50.value = "";
document.report.R51.disabled = false;
document.report.R52.disabled = false;
document.report.R54.disabled = true;
document.report.R55.disabled = true;
document.report.R56.disabled = true;
document.report.R57.disabled = true;
document.report.R58.disabled = true;
document.report.R59.disabled = true;
//document.report.R60.disabled = true;
//document.report.R61.disabled = true;
}else if(document.report.R48.value == "2"){ //餐饮
document.report.R50.disabled = true;
document.report.R51.disabled = true;
document.report.R52.disabled = true;
document.report.R54.disabled = false;
document.report.R55.disabled = false;
document.report.R56.disabled = false;
document.report.R57.disabled = true;
document.report.R58.disabled = true;
document.report.R59.disabled = true;
//document.report.R60.disabled = true;
//document.report.R61.disabled = true;
}else if(document.report.R48.value == "3"){ //旅游
document.report.R50.disabled = true;
document.report.R51.disabled = true;
document.report.R52.disabled = true;
document.report.R54.disabled = true;
document.report.R55.disabled = true;
document.report.R56.disabled = true;
document.report.R57.disabled = false;
//document.report.R60.disabled = true;
//document.report.R61.disabled = true;
if(document.report.R57.value == "1"){ //旅行社
document.report.R58.disabled = false;
document.report.R59.disabled = true;
}else if(document.report.R57.value == "2"){ //景点开发公司
document.report.R58.disabled = true;
document.report.R59.disabled = false;
}
}else if(document.report.R48.value == "4"){ //娱乐
document.report.R50.disabled = true;
document.report.R51.disabled = true;
document.report.R52.disabled = true;
document.report.R54.disabled = true;
document.report.R55.disabled = true;
document.report.R56.disabled = true;
document.report.R57.disabled = true;
document.report.R58.disabled = true;
document.report.R59.disabled = true;
//document.report.R60.disabled = false;
//document.report.R61.disabled = true;
}else if(document.report.R48.value == "5"){ //其他
document.report.R50.disabled = true;
document.report.R51.disabled = true;
document.report.R52.disabled = true;
document.report.R54.disabled = true;
document.report.R55.disabled = true;
document.report.R56.disabled = true;
document.report.R57.disabled = true;
document.report.R58.disabled = true;
document.report.R59.disabled = true;
//document.report.R60.disabled = true;
//document.report.R61.disabled = false;
}
}
}
function reloadOpener(){
try{
//top.opener.location.reload();
}catch(e){}
}
//initPage();
if(<%= "007".equals(eEvaluate.ModelNo)%>){ //初始化块选择模块
ClassifyChange();
}
</script>
<%@ include file="/IncludeEnd.jsp"%>