客户历史信息放款列表修改

This commit is contained in:
yjf 2023-09-22 08:39:46 +08:00
parent 5b1f08ee82
commit cc29feeb58
8 changed files with 189 additions and 56 deletions

View File

@ -27,8 +27,8 @@
String compClientID = request.getParameter("CompClientID");
dwTemp.replaceColumn("loaned", "<iframe type='iframe' id='frame_list' name=\"frame_list\" width=\"100%\" height=\"200px\" frameborder=\"0\" src=\""+sWebRootPath+ "/Tenwa/Customer/Lessee/Comm/CustomerHistory/LoanedInfo.jsp?CompClientID=" +compClientID+"&certId="+certId+"\"></iframe>", CurPage.getObjectWindowOutput());
dwTemp.replaceColumn("outstand", "<iframe type='iframe' id='frame_list' name=\"frame_list\" width=\"100%\" height=\"200px\" frameborder=\"0\" src=\""+sWebRootPath+ "/Tenwa/Customer/Lessee/Comm/CustomerHistory/OutstandInfo.jsp?CompClientID=" +compClientID+"&certId="+certId+"&flowunId="+flowunId+"\"></iframe>", CurPage.getObjectWindowOutput());
dwTemp.replaceColumn("loaned", "<iframe type='iframe' id='frame_list' name=\"frame_list\" width=\"100%\" height=\"220px\" frameborder=\"0\" src=\""+sWebRootPath+ "/Tenwa/Customer/Lessee/Comm/CustomerHistory/LoanedInfo.jsp?CompClientID=" +compClientID+"&certId="+certId+"\"></iframe>", CurPage.getObjectWindowOutput());
dwTemp.replaceColumn("outstand", "<iframe type='iframe' id='frame_list' name=\"frame_list\" width=\"100%\" height=\"220px\" frameborder=\"0\" src=\""+sWebRootPath+ "/Tenwa/Customer/Lessee/Comm/CustomerHistory/OutstandInfo.jsp?CompClientID=" +compClientID+"&certId="+certId+"&flowunId="+flowunId+"\"></iframe>", CurPage.getObjectWindowOutput());
String sButtons[][] = {

View File

@ -4,13 +4,17 @@
<%
String certId = CurPage.getParameter("certId");
ASObjectModel doTemp = new ASObjectModel("LoanedList");
doTemp.appendJboWhere(" and O.CONTRACT_STATUS >= 31 and O.CONTRACT_STATUS <> '104' and O.CONTRACT_STATUS <> '101' ");
String flowunId = CurPage.getParameter("flowunId");
CurPage.setAttribute("flowRowCount", "20");
CurPage.setAttribute("pageIdentify", "loan");
ASObjectModel doTemp = new ASObjectModel("LoanedListNew");
doTemp.setDataQueryClass("com.amarsoft.awe.dw.ui.list.FlowMonitorListHtmlGenerator");
doTemp.appendJboWhere(" and o.CONTRACT_STATUS in ('31','100','105')");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1";//--设置为Grid风格--
dwTemp.ReadOnly = "1";//只读模式
dwTemp.setPageSize(10);
dwTemp.setPageSize(20);
doTemp.setVisible("PROJECT_ID,FLOWUNID,CERTID_WITH_ROLE,CONTRACT_STATUS,business_status",false);
dwTemp.genHTMLObjectWindow(certId);
String sButtons[][] = {
@ -31,18 +35,16 @@
}
function viewHisTabLocal() {
var param = FlowFunction.loadFlowParam();
if (typeof(param.ObjectNo) == "undefined" || param.ObjectNo.length == 0) {
var flowunid = getItemValue(0,getRow(),"FLOWUNID");
var projectId = getItemValue(0,getRow(),"PROJECT_ID");
if (flowunid.length == 0 && projectId.length == 0) {
alert(getHtmlMessage('1'));//请选择一条信息!
return;
}
let sTaskNo = param["TaskNo"]
if(sTaskNo==""){
sTaskNo = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","getFlowEndRelativeTaskNo", "ObjectNo="+param["sObjectNo"]+",PhaseNo="+ param["sPhaseNo"]);
if(typeof(sTaskNo)=="undefined" || sTaskNo.length==0) {
alert("Á÷³Ìδ½áÊø,ÎÞ·¨²é¿´£¡");
return;
}
let sTaskNo = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","getFlowEndRelativeTaskNo", "ObjectNo="+flowunid+",projectId="+projectId);
if(typeof(sTaskNo)=="undefined" || sTaskNo.length==0) {
alert("Á÷³Ìδ½áÊø,ÎÞ·¨²é¿´£¡");
return;
}
var param ="TaskNo="+sTaskNo+"&ViewID=001&RightType=ReadOnly&delTabs=扣款卡信息,客户历史信息查询";
AsControl.OpenNewWin("/Tenwa/Core/FlowManager/FlowPage/FlowPageViewTab.jsp",param)

View File

@ -6,18 +6,19 @@
String certId = CurPage.getParameter("certId");
String flowunId = CurPage.getParameter("flowunId");
ASObjectModel doTemp = new ASObjectModel("LoanedList");
doTemp.appendJboWhere(" and (O.CONTRACT_STATUS < 31 or O.CONTRACT_STATUS = '104' or O.CONTRACT_STATUS = '101') and O.FLOWUNID <> '"+flowunId+"'");
CurPage.setAttribute("flowRowCount", "20");
ASObjectModel doTemp = new ASObjectModel("LoanedListNew");
doTemp.setDataQueryClass("com.amarsoft.awe.dw.ui.list.FlowMonitorListHtmlGenerator");
doTemp.appendJboWhere(" and o.CONTRACT_STATUS not in ('100','105','31') and (flowunid not in ('"+flowunId+"') or v.isnull(flowunid))");
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1";//--设置为Grid风格--
dwTemp.ReadOnly = "1";//只读模式
dwTemp.setPageSize(10);
dwTemp.setPageSize(20);
doTemp.setVisible("PROJECT_ID,FLOWUNID,CERTID_WITH_ROLE,CONTRACT_STATUS,COUPUS_OVER,IS_OVERDUE",false);
dwTemp.genHTMLObjectWindow(certId);
String sButtons[][] = {
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
String sButtons[][] = {};
%>
<%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
function afterSearch(){
@ -33,18 +34,16 @@
}
function viewHisTabLocal() {
var param = FlowFunction.loadFlowParam();
if (typeof(param.ObjectNo) == "undefined" || param.ObjectNo.length == 0) {
var flowunid = getItemValue(0,getRow(),"FLOWUNID");
var projectId = getItemValue(0,getRow(),"PROJECT_ID");
if (flowunid.length == 0 && projectId.length == 0) {
alert(getHtmlMessage('1'));//请选择一条信息!
return;
}
let sTaskNo = param["TaskNo"]
if(sTaskNo==""){
sTaskNo = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","getFlowEndRelativeTaskNo", "ObjectNo="+param["sObjectNo"]+",PhaseNo="+ param["sPhaseNo"]);
if(typeof(sTaskNo)=="undefined" || sTaskNo.length==0) {
alert("Á÷³Ìδ½áÊø,ÎÞ·¨²é¿´£¡");
return;
}
let sTaskNo = AsControl.RunJavaMethodTrans("com.amarsoft.app.flow.FlowAction","getFlowEndRelativeTaskNo", "ObjectNo="+flowunid+",projectId="+projectId);
if(typeof(sTaskNo)=="undefined" || sTaskNo.length==0) {
alert("Á÷³Ìδ½áÊø,ÎÞ·¨²é¿´£¡");
return;
}
var param ="TaskNo="+sTaskNo+"&ViewID=001&RightType=ReadOnly&delTabs=扣款卡信息,客户历史信息查询";
AsControl.OpenNewWin("/Tenwa/Core/FlowManager/FlowPage/FlowPageViewTab.jsp",param)

View File

@ -5241,6 +5241,28 @@
</managerProperties>
</manager>
</class>
<class name="VI_PROJECT_HIS_LIST" label="" keyAttributes="">
<attributes>
<attribute name="PROJECT_ID" label="項目id" type="STRING"/>
<attribute name="FLOWUNID" label="流程id" type="STRING"/>
<attribute name="PROJECT_NO" label="项目编号" type="STRING"/>
<attribute name="CONTRACT_NO" label="合同编号" type="STRING"/>
<attribute name="CUSTOMER_NAME" label="客户名称" type="STRING"/>
<attribute name="DISTRIBUTOR_NAME" label="经销商名称" type="STRING"/>
<attribute name="FIRST_PAYMENT_RATIO" label="首付款比例" type="STRING"/>
<attribute name="CLEAN_LEASE_MONEY" label="融资额" type="STRING"/>
<attribute name="LEASE_TERM" label="租赁期次" type="STRING"/>
<attribute name="contract_status" label="合同状态" type="STRING"/>
<attribute name="business_status" label="信审状态" type="STRING"/>
<attribute name="certid_with_role" label="客户合同角色" type="STRING"/>
</attributes>
<manager>
<managerProperties>
<property name="table" value="VI_PROJECT_HIS_LIST" />
<property name="createKey" value="true" />
</managerProperties>
</manager>
</class>
<class name="VERIFICATIONSPARE" label="" keyAttributes="ID">
<attributes>
<attribute name="ID" label="标识" type="STRING" length="32"/>

View File

@ -68,6 +68,7 @@ public class FlowAction {
private String AssignmentId;// 指派人员ID
private String AssignSumbitType;// 指派处理方式
private String nextNodeType;
private String projectId; //ÏîÄ¿id
private FlowService flowService;
@ -227,6 +228,14 @@ public class FlowAction {
this.flowService = flowService;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public String getProjectId() {
return projectId;
}
//处理重复提交数据重复,只适用单体服务
private static Set<String> taskSet = new HashSet<>();
@ -738,16 +747,16 @@ public class FlowAction {
*/
public String getFlowEndRelativeTaskNo(JBOTransaction tx) throws Exception {
String taskSerialNo = "";
if (phaseNo.equals("1000") || phaseNo.equals("8000")) {
BizObject bo = JBOFactory
.getBizObjectManager("jbo.sys.FLOW_TASK", tx)
.createQuery("select RELATIVESERIALNO from O where ObjectNo =:ObjectNo and PhaseNo =:PhaseNo ")
.setParameter("ObjectNo", objectNo)
.setParameter("PhaseNo", phaseNo)
.getSingleResult(false);
if (bo != null)
taskSerialNo = bo.getAttribute("RELATIVESERIALNO").getString();
String sql = "select ft.RELATIVESERIALNO from flow_bussiness_object fbo join flow_task ft on fbo.flow_unid = ft.objectno where fbo.flow_name = 'ÒµÎñÉêÇëÁ÷³Ì' and ft.phaseno = '1000'";
if (StringUtils.isNotBlank(objectNo)) {
sql += " and fbo.flow_unid = '" + objectNo + "'";
} else {
sql += " and fbo.proj_id = '" + projectId + "'";
}
Transaction Sqlca = Transaction.createTransaction(tx);
ASResultSet asResultSet = Sqlca.getASResultSet(new SqlObject(sql));
if (asResultSet.next()) {
taskSerialNo = asResultSet.getString("RELATIVESERIALNO");
}
return taskSerialNo;
}

View File

@ -319,9 +319,9 @@ public class FlowTaskViewTabService {
}
public static void deleteTreeTab(List<TreeItemData> treeItemDataList, HashMap<String, String> FlowFixedParam) {
List<TreeItemData> delTabs = new ArrayList<>();
if (StringUtils.isNotBlank(FlowFixedParam.get("delTabs"))) {
delTabs = treeItemDataList.stream().filter(item -> FlowFixedParam.get("delTabs").indexOf(item.getItemName()) > -1).collect(Collectors.toList());
List<TreeItemData> delTabs = treeItemDataList.stream().filter(item -> FlowFixedParam.get("delTabs").indexOf(item.getItemName()) > -1).collect(Collectors.toList());
if (delTabs.size() > 0) treeItemDataList.removeAll(delTabs);
}
// 业务申请流程非草稿阶段删除无数据担保人及共申人页签
String flowUnid = FlowFixedParam.get("FlowUnid");
@ -335,7 +335,8 @@ public class FlowTaskViewTabService {
if (asResultSet.getInt("cftNum") == 0) sb.append("共同申请人");
if (asResultSet.getInt("lguNum") == 0) sb.append(",担保人信息");
if (sb.length() > 0) {
delTabs = treeItemDataList.stream().filter(item -> sb.toString().indexOf(item.getItemName()) > -1).collect(Collectors.toList());
List<TreeItemData> delTabs = treeItemDataList.stream().filter(item -> sb.toString().indexOf(item.getItemName()) > -1).collect(Collectors.toList());
if (delTabs.size() > 0) treeItemDataList.removeAll(delTabs);
}
Sqlca.commit();
} catch (Exception e) {
@ -347,7 +348,6 @@ public class FlowTaskViewTabService {
}
}
}
if (delTabs.size() > 0) treeItemDataList.removeAll(delTabs);
}
public static void initOHTMLTreeViewProjectContract(JBOTransaction tx,OHTMLTreeView tviTemp,Page curPage) throws Exception{

View File

@ -0,0 +1,103 @@
package com.tenwa.apzl.handle;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.dw.handler.impl.CommonHandler;
import com.amarsoft.awe.util.ASResultSet;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import jbo.app.LB_EQUIPMENT_CAR;
import jbo.app.LB_EQUIPMENT_CAR_TEMP;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.util.Optional;
import java.util.stream.Stream;
public class ProjectHisListHandler extends CommonHandler {
@Override
protected void initDisplayForEdit(BizObject bo) throws Exception {
String projectId = bo.getAttribute("PROJECT_ID").getString();
String pageIdentify = this.asPage.getParameter("pageIdentify");
//车辆总数
int carNum = 0;
//合同状态
String statusName = null;
// 角色名称
String roleName = null;
if (StringUtils.isNotBlank(bo.getAttribute("CERTID_WITH_ROLE").getString())) {
String certId = this.asPage.getParameter("certId");
Optional<String> first = Stream.of(bo.getAttribute("CERTID_WITH_ROLE").getString().split(",")).filter(item -> item.indexOf(certId) > -1).findFirst();
if (first.isPresent()) {
roleName = first.get().split("-")[1];
}
}
if (StringUtils.isNotEmpty(projectId)) {
BizObject lbcSingleResult = JBOFactory.createBizObjectQuery(LB_EQUIPMENT_CAR.CLASS_NAME,
"select v.count(1) as v.carNum from O where PROJECT_ID='" + projectId + "' and car_attribute = 'head'")
.getSingleResult(false);
if (lbcSingleResult != null) carNum = lbcSingleResult.getAttribute("carNum").getInt();
Transaction Sqlca = null;
try {
Sqlca = Transaction.createTransaction("als");
ASResultSet asResultSet = Sqlca.getASResultSet(new SqlObject("select concat(fbo.flow_name,'中') as flow_name,flowno from flow_bussiness_object fbo left join flow_object fo on fbo.flow_unid = fo.objectno " +
"where fbo.proj_id = '" + projectId + "' and fo.phaseno not in ('1000')"));
if (asResultSet.next()) {
statusName = asResultSet.getString("flow_name");
} else {
String contractStatus = bo.getAttribute("contract_status").getString();
asResultSet = Sqlca.getASResultSet(new SqlObject("select STATUS_NAME from lb_contract_status where STATUS_CODE = '" + contractStatus + "'"));
if (asResultSet.next()) {
statusName = asResultSet.getString("STATUS_NAME");
}
}
Sqlca.commit();
} catch (Exception e) {
Sqlca.rollback();
}
} else {
// 业务申请数据处理流程中
String flowUnid = bo.getAttribute("FLOWUNID").getString();
BizObject lbctSingleResult = JBOFactory.createBizObjectQuery(LB_EQUIPMENT_CAR_TEMP.CLASS_NAME,
"select v.count(1) as v.carNum from O where flowunid='" + flowUnid + "' and car_attribute = 'head'")
.getSingleResult(false);
if (lbctSingleResult != null) carNum = lbctSingleResult.getAttribute("carNum").getInt();
statusName = bo.getAttribute("CONTRACT_STATUS").getString();
}
bo.setAttributeValue("CAR_NUM", carNum);
bo.setAttributeValue("STATUS_NAME", statusName);
bo.setAttributeValue("ROLE_NAME", roleName);
if ("loan".equals(pageIdentify)) {// 已放款列表
// 本金余额
Transaction Sqlca = null;
String leaseMoney = bo.getAttribute("CLEAN_LEASE_MONEY").getString();
BigDecimal incomeMoney = BigDecimal.ZERO;
String isOverdue = "";
if (StringUtils.isNotBlank(projectId)) {
try {
Sqlca = Transaction.createTransaction("als");
String querySql = "select ifnull(sum(corpus),0) as COUPUS_OVER from lc_rent_income where PROJECT_ID = '" + projectId + "'";
ASResultSet incomeMoneyRs = Sqlca.getASResultSet(new SqlObject(querySql));
if (incomeMoneyRs.next()) {
incomeMoney = incomeMoneyRs.getBigDecimal("COUPUS_OVER");
}
querySql = "select count(1) as over_num from lc_rent_plan where PROJECT_ID = '" + projectId + "' and PLAN_DATE < current_date() and (isnull(COLLECT_STATUS) or COLLECT_STATUS in ('未收款','部分收款','未收款lock'))";
ASResultSet asResultSet = Sqlca.getASResultSet(new SqlObject(querySql));
if (asResultSet.next() && asResultSet.getInt("over_num") > 0) isOverdue = "";
Sqlca.commit();
} catch (Exception e) {
Sqlca.rollback();
}
}
//是否逾期
bo.setAttributeValue("IS_OVERDUE", isOverdue);
//剩余本金
bo.setAttributeValue("COUPUS_OVER", new BigDecimal(leaseMoney).subtract(incomeMoney));
}
}
}

View File

@ -501,17 +501,15 @@ public class CustomerInfoCheck {
public String checkExistsByCertid(JBOTransaction tx) throws Exception {
Transaction Sqlca = Transaction.createTransaction(tx);
StringBuilder querySqlSb = new StringBuilder();
querySqlSb.append("select count(1) as num from lb_project_info_temp lpi")
.append(" left join lc_calc_condition_temp lpc on lpc.FLOWUNID = lpi.FLOWUNID")
.append(" left join lb_union_lessee_temp lul on lul.FLOWUNID = lpi.FLOWUNID and IS_MAIN = 'Y'")
.append(" left join customer_info_temp ci on ci.customerid = lul.CUSTOMER_ID")
.append(" left join customer_family_temp cf on cf.flowunid = lpi.FLOWUNID and cf.Partner_ = 'Y'")
.append(" left join lb_guarantee_unit_temp lgu on lgu.FLOWUNID = lpi.FLOWUNID")
.append(" left join flow_task ft on lpi.FLOWUNID = ft.objectno and ft.phaseno = '0030'")
.append(" where lpi.FLOWUNID <> '" + flowunid + "' and ft.flowno = 'BusinessApplyFlow' ")
.append(" and (ci.certid in ('" + certId + "') or cf.certid in ('" + certId + "') or lgu.CERTID in ('" + certId + "')) ");
querySqlSb.append("select sum(num) as allNum from (")
.append(" select count(1) as num from customer_info_temp ci left join flow_task ft on ci.FLOWUNID = ft.objectno and ft.phaseno = '0030' where ci.FLOWUNID <> '"+flowunid+"' and ft.flowno = 'BusinessApplyFlow' and ci.certid = '"+certId+"'")
.append(" union all")
.append(" select count(1) as num from customer_family_temp ci left join flow_task ft on ci.FLOWUNID = ft.objectno and ft.phaseno = '0030' where ci.FLOWUNID <> '"+flowunid+"' and ft.flowno = 'BusinessApplyFlow' and ci.certid = '"+certId+"'")
.append(" union all")
.append(" select count(1) as num from lb_guarantee_unit_temp ci left join flow_task ft on ci.FLOWUNID = ft.objectno and ft.phaseno = '0030' where ci.FLOWUNID <> '"+flowunid+"' and ft.flowno = 'BusinessApplyFlow' and ci.certid = '"+certId+"'")
.append(" ) t");
ASResultSet asResultSet = Sqlca.getASResultSet(new SqlObject(querySqlSb.toString()));
if (asResultSet.next() && asResultSet.getInt("num") > 0) return "true";
if (asResultSet.next() && asResultSet.getInt("allNum") > 0) return "true";
return "false";
}