Browse Source

修改长度

main
likunming 8 months ago
parent
commit
5103c3b424
  1. 288
      app.irbs/src/main/resources/liquibase/data/irbs/SYS_PROCESS.csv
  2. 124698
      app.irbs/src/main/resources/liquibase/data/irbs/shrcb/REPORT_DATA.csv
  3. 4
      irbs.cust.rating/src/main/java/irbs/cust/rating/constant/TaskVariable.java
  4. 9
      irbs.cust.rating/src/main/java/irbs/cust/rating/controller/CompanyRatingController.java
  5. 29
      irbs.cust.rating/src/main/java/irbs/cust/rating/enums/RatingGoBackType.java
  6. 2
      irbs.cust.rating/src/main/java/irbs/cust/rating/jpa/repository/FinanceReportRepository.java
  7. 8
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/CompanyRatingService.java
  8. 50
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/CompanyRatingProcessServiceImpl.java
  9. 18
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/CompanyRatingServiceImpl.java
  10. 4
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportIndexServiceImpl.java
  11. 4
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportServiceImpl.java
  12. 10
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/ModelLibServiceImpl.java
  13. 2
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/RatingIndexServiceImpl.java
  14. 4
      irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/RatingReportShowScoreRoleServiceImpl.java
  15. 186
      irbs.cust.rating/src/main/resources/META-INF/platform/plugins/parameters.json
  16. 28
      irbs.cust.rating/src/main/resources/irbs/cust/rating/i18n/messages.properties
  17. 28
      irbs.cust.rating/src/main/resources/irbs/cust/rating/i18n/messages_tw_CN.properties
  18. 28
      irbs.cust.rating/src/main/resources/irbs/cust/rating/i18n/messages_zh_CN.properties
  19. 1
      irbs.frontend/src/views/custRating/CustRating.ts
  20. 2
      irbs.frontend/src/views/custRating/CustRating.vue
  21. 7
      irbs.frontend/src/views/custRating/GrayModelDialog.vue
  22. 846
      irbs.frontend/src/views/custRating/RatingDialog.vue
  23. 20
      irbs.frontend/src/views/default/CognizanceDialog.vue
  24. 19
      irbs.frontend/src/views/default/RebirthDialog.vue
  25. 147
      irbs.frontend/src/views/report/RptRatingDistribution.vue
  26. 2
      irbs.frontend/src/views/workbench/TodoTask.vue

288
app.irbs/src/main/resources/liquibase/data/irbs/SYS_PROCESS.csv

@ -4,177 +4,223 @@
"VARCHAR","VARCHAR","VARCHAR","VARCHAR","VARCHAR","INTEGER","VARCHAR","LONGVARCHAR","VARCHAR","SMALLINT","INTEGER","VARCHAR","VARCHAR","TIMESTAMP","VARCHAR","TIMESTAMP","VARCHAR" "VARCHAR","VARCHAR","VARCHAR","VARCHAR","VARCHAR","INTEGER","VARCHAR","LONGVARCHAR","VARCHAR","SMALLINT","INTEGER","VARCHAR","VARCHAR","TIMESTAMP","VARCHAR","TIMESTAMP","VARCHAR"
"java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.Integer","java.lang.String","java.lang.String","java.lang.String","java.lang.Integer","java.lang.Integer","java.lang.String","java.lang.String","java.sql.Timestamp","java.lang.String","java.sql.Timestamp","java.lang.String" "java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.Integer","java.lang.String","java.lang.String","java.lang.String","java.lang.Integer","java.lang.Integer","java.lang.String","java.lang.String","java.sql.Timestamp","java.lang.String","java.sql.Timestamp","java.lang.String"
"193042e1-4b69-45df-a337-74f724b2e6e4","COMPANY_CUSTOMER_RATING","COMPANY_CUSTOMER_RATING","公司客户评级流程分类",,"1",,"<?xml version='1.0' encoding='UTF-8'?> "193042e1-4b69-45df-a337-74f724b2e6e4","COMPANY_CUSTOMER_RATING","COMPANY_CUSTOMER_RATING","公司客户评级流程分类",,"1",,"<?xml version='1.0' encoding='UTF-8'?>
<definitions xmlns=""http://www.omg.org/spec/BPMN/20100524/MODEL"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:flowable=""http://flowable.org/bpmn"" xmlns:bpmndi=""http://www.omg.org/spec/BPMN/20100524/DI"" xmlns:omgdc=""http://www.omg.org/spec/DD/20100524/DC"" xmlns:omgdi=""http://www.omg.org/spec/DD/20100524/DI"" typeLanguage=""http://www.w3.org/2001/XMLSchema"" expressionLanguage=""http://www.w3.org/1999/XPath"" targetNamespace=""http://www.activiti.org/test"" exporter=""Flowable Open Source Modeler"" exporterVersion=""6.8.0""> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test" exporter="Flowable Open Source Modeler" exporterVersion="6.8.0">
<process id=""COMPANY_CUSTOMER_RATING"" name=""公司客户评级流程分类"" isExecutable=""true""> <process id="COMPANY_CUSTOMER_RATING" name="公司客户评级流程分类" isExecutable="true">
<dataObject id=""assignment-strategy"" name=""任务分配策略"" itemSubjectRef=""xsd:string""> <dataObject id="assignment-strategy" name="任务分配策略" itemSubjectRef="xsd:string">
<extensionElements> <extensionElements>
<flowable:value>{""A2"":""frAssigneeQueryService""}</flowable:value> <flowable:value>{"A2":"frAssigneeQueryService"}</flowable:value>
</extensionElements> </extensionElements>
</dataObject> </dataObject>
<startEvent id=""startevent1"" name=""Start"" flowable:formFieldValidation=""true""/> <startEvent id="startevent1" name="Start" flowable:formFieldValidation="true"/>
<userTask id=""A1"" name=""客户经理提交申请"" flowable:assignee=""${assignee}"" flowable:formFieldValidation=""true"" flowable:skipExpression=""${execution.getVariable('skipFirst')==true}""> <userTask id="A1" name="客户经理提交申请" flowable:assignee="${assignee}" flowable:formFieldValidation="true" flowable:skipExpression="${execution.getVariable('skipFirst')==true}">
<documentation>${desc}</documentation> <documentation>${desc}</documentation>
<extensionElements> <extensionElements>
<modeler:initiator-can-complete xmlns:modeler=""http://flowable.org/modeler""><![CDATA[false]]></modeler:initiator-can-complete> <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements> </extensionElements>
</userTask> </userTask>
<userTask id=""A2"" name=""一级支行评级审查岗"" flowable:assignee=""${assignee}"" flowable:candidateGroups=""y_cust_rating_examine"" flowable:formFieldValidation=""true""> <userTask id="A2" name="一级支行评级审查岗" flowable:assignee="${assignee}" flowable:candidateGroups="y_cust_rating_examine" flowable:formFieldValidation="true">
<documentation>${desc}</documentation> <documentation>${desc}</documentation>
<extensionElements> <extensionElements>
<modeler:initiator-can-complete xmlns:modeler=""http://flowable.org/modeler""><![CDATA[false]]></modeler:initiator-can-complete> <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements> </extensionElements>
</userTask> </userTask>
<userTask id=""A3"" name=""一级支行评级审批岗"" flowable:assignee=""${assignee}"" flowable:candidateGroups=""y_cust_rating_approve"" flowable:formFieldValidation=""true""> <userTask id="A3" name="一级支行评级审批岗" flowable:assignee="${assignee}" flowable:candidateGroups="y_cust_rating_approve" flowable:formFieldValidation="true">
<documentation>${desc}</documentation> <documentation>${desc}</documentation>
<extensionElements> <extensionElements>
<modeler:initiator-can-complete xmlns:modeler=""http://flowable.org/modeler""><![CDATA[false]]></modeler:initiator-can-complete> <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements> </extensionElements>
</userTask> </userTask>
<userTask id=""A4"" name=""总行审查岗"" flowable:assignee=""${assignee}"" flowable:candidateGroups=""z_company_rating_examine"" flowable:formFieldValidation=""true""> <userTask id="A4" name="总行审查岗" flowable:assignee="${assignee}" flowable:candidateGroups="z_company_rating_examine" flowable:formFieldValidation="true">
<documentation>${desc}</documentation> <documentation>${desc}</documentation>
<extensionElements> <extensionElements>
<modeler:initiator-can-complete xmlns:modeler=""http://flowable.org/modeler""><![CDATA[false]]></modeler:initiator-can-complete> <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements> </extensionElements>
</userTask> </userTask>
<userTask id=""A5"" name=""总行审批岗"" flowable:assignee=""${assignee}"" flowable:candidateGroups=""z_company_rating_approve"" flowable:formFieldValidation=""true""> <userTask id="A5" name="总行审批岗" flowable:assignee="${assignee}" flowable:candidateGroups="z_company_rating_approve" flowable:formFieldValidation="true">
<documentation>${desc}</documentation> <documentation>${desc}</documentation>
<extensionElements> <extensionElements>
<modeler:initiator-can-complete xmlns:modeler=""http://flowable.org/modeler""><![CDATA[false]]></modeler:initiator-can-complete> <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements> </extensionElements>
</userTask> </userTask>
<endEvent id=""endevent1"" name=""End""/> <endEvent id="endevent1" name="End"/>
<sequenceFlow id=""flow1"" sourceRef=""startevent1"" targetRef=""A1""/> <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="A1"/>
<endEvent id=""endevent2"" name=""结束""/> <endEvent id="endevent2" name="结束"/>
<sequenceFlow id=""flow2"" name=""提交"" sourceRef=""A1"" targetRef=""A2""> <exclusiveGateway id="sid-83ADF4A5-C1E9-4E22-803D-EA37AF111A7E"/>
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==6}]]></conditionExpression> <exclusiveGateway id="sid-D9D7B214-D130-4070-AF80-22029ECF805C"/>
<sequenceFlow id="flow12" name="退回发起人" sourceRef="A3" targetRef="A1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==-2}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow12"" name=""退回发起人"" sourceRef=""A3"" targetRef=""A1""> <sequenceFlow id="flow6" name="提交" sourceRef="A4" targetRef="A5">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==-1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==1}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow8"" name=""退回发起人"" sourceRef=""A2"" targetRef=""A1""> <sequenceFlow id="flow8" name="退回发起人" sourceRef="A2" targetRef="A1">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==-1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==-1}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow9"" name=""退回发起人"" sourceRef=""A4"" targetRef=""A1""> <sequenceFlow id="flow9" name="退回发起人" sourceRef="A4" targetRef="A1">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==-1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==-3}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow10"" name=""否决"" sourceRef=""A3"" targetRef=""endevent1""> <sequenceFlow id="sid-48C11432-6FBB-4657-A7B0-5AA0F9C3D900" name="通过" sourceRef="A5" targetRef="endevent2">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==2}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==999}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow4"" name=""通过"" sourceRef=""A3"" targetRef=""endevent1""> <sequenceFlow id="sid-C0A72034-8C59-4DCB-B2E0-1AC84315A8BA" name="否决" sourceRef="A5" targetRef="endevent2">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==2}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow3"" name=""提交"" sourceRef=""A2"" targetRef=""A3""> <sequenceFlow id="flow10" name="否决" sourceRef="A3" targetRef="endevent1">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==6}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==2}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow6"" name=""提交"" sourceRef=""A4"" targetRef=""A5""> <sequenceFlow id="flow13" name="退回发起人" sourceRef="A5" targetRef="A1">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==6}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==-4}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""sid-C0A72034-8C59-4DCB-B2E0-1AC84315A8BA"" name=""否决"" sourceRef=""A5"" targetRef=""endevent2""> <sequenceFlow id="flow3" name="提交" sourceRef="A2" targetRef="A3">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==2}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==1}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""sid-48C11432-6FBB-4657-A7B0-5AA0F9C3D900"" name=""通过"" sourceRef=""A5"" targetRef=""endevent2""> <sequenceFlow id="sid-B3FC7586-27CA-4E99-8DAD-3067CA07A622" name="提交" sourceRef="A1" targetRef="sid-D9D7B214-D130-4070-AF80-22029ECF805C">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==0}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow13"" name=""退回发起人"" sourceRef=""A5"" targetRef=""A1""> <sequenceFlow id="flow4" name="通过" sourceRef="A3" targetRef="sid-83ADF4A5-C1E9-4E22-803D-EA37AF111A7E">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${goback==-1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${goback==3}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-1C2CBC6E-3411-4960-91B7-45C6626B7F8A" name="提交" sourceRef="sid-D9D7B214-D130-4070-AF80-22029ECF805C" targetRef="A3">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submit==-2}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
<sequenceFlow id=""flow5"" name=""提交"" sourceRef=""A3"" targetRef=""A4""> <sequenceFlow id="flow2" name="提交" sourceRef="sid-D9D7B214-D130-4070-AF80-22029ECF805C" targetRef="A2">
<conditionExpression xsi:type=""tFormalExpression""><![CDATA[${submit==1}]]></conditionExpression> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${submit==-1}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-684015C0-A8F4-4915-936A-151CCDB48987" sourceRef="sid-D9D7B214-D130-4070-AF80-22029ECF805C" targetRef="A4">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submit==-3}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-21CB8859-DD90-4C2F-9B85-E8E27215DF09" sourceRef="sid-D9D7B214-D130-4070-AF80-22029ECF805C" targetRef="A5">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submit==-4}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow5" name="提交" sourceRef="sid-83ADF4A5-C1E9-4E22-803D-EA37AF111A7E" targetRef="A4">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submit==1}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-25FB5262-5015-43AA-B2E8-C90103256178" sourceRef="sid-83ADF4A5-C1E9-4E22-803D-EA37AF111A7E" targetRef="endevent1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submit==999}]]></conditionExpression>
</sequenceFlow> </sequenceFlow>
</process> </process>
<bpmndi:BPMNDiagram id=""BPMNDiagram_COMPANY_CUSTOMER_RATING""> <bpmndi:BPMNDiagram id="BPMNDiagram_COMPANY_CUSTOMER_RATING">
<bpmndi:BPMNPlane bpmnElement=""COMPANY_CUSTOMER_RATING"" id=""BPMNPlane_COMPANY_CUSTOMER_RATING""> <bpmndi:BPMNPlane bpmnElement="COMPANY_CUSTOMER_RATING" id="BPMNPlane_COMPANY_CUSTOMER_RATING">
<bpmndi:BPMNShape bpmnElement=""startevent1"" id=""BPMNShape_startevent1""> <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
<omgdc:Bounds height=""30.0"" width=""30.0"" x=""32.02187570282153"" y=""169.09844066269687""/> <omgdc:Bounds height="30.0" width="30.0" x="32.02187570282153" y="169.09844066269687"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""A1"" id=""BPMNShape_A1""> <bpmndi:BPMNShape bpmnElement="A1" id="BPMNShape_A1">
<omgdc:Bounds height=""80.0"" width=""105.0"" x=""105.0"" y=""144.09844066269687""/> <omgdc:Bounds height="80.0" width="105.0" x="105.0" y="144.09844066269687"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""A2"" id=""BPMNShape_A2""> <bpmndi:BPMNShape bpmnElement="A2" id="BPMNShape_A2">
<omgdc:Bounds height=""80.0"" width=""105.0"" x=""300.0"" y=""144.09844066269687""/> <omgdc:Bounds height="80.0" width="105.0" x="300.0" y="144.09844066269687"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""A3"" id=""BPMNShape_A3""> <bpmndi:BPMNShape bpmnElement="A3" id="BPMNShape_A3">
<omgdc:Bounds height=""80.0"" width=""105.0"" x=""500.0"" y=""144.09844066269687""/> <omgdc:Bounds height="80.0" width="105.0" x="500.0" y="144.09844066269687"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""A4"" id=""BPMNShape_A4""> <bpmndi:BPMNShape bpmnElement="A4" id="BPMNShape_A4">
<omgdc:Bounds height=""80.0"" width=""105.0"" x=""500.0"" y=""315.0""/> <omgdc:Bounds height="80.0" width="105.0" x="500.0" y="315.0"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""A5"" id=""BPMNShape_A5""> <bpmndi:BPMNShape bpmnElement="A5" id="BPMNShape_A5">
<omgdc:Bounds height=""80.0"" width=""105.0"" x=""720.0"" y=""315.0""/> <omgdc:Bounds height="80.0" width="105.0" x="720.0" y="315.0"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""endevent1"" id=""BPMNShape_endevent1""> <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
<omgdc:Bounds height=""28.0"" width=""28.0"" x=""695.0"" y=""170.09844066269687""/> <omgdc:Bounds height="28.0" width="28.0" x="695.0" y="170.09844066269687"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2">
<omgdc:Bounds height="28.0" width="28.0" x="915.0" y="341.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-83ADF4A5-C1E9-4E22-803D-EA37AF111A7E" id="BPMNShape_sid-83ADF4A5-C1E9-4E22-803D-EA37AF111A7E">
<omgdc:Bounds height="40.0" width="40.0" x="615.0" y="240.0"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement=""endevent2"" id=""BPMNShape_endevent2""> <bpmndi:BPMNShape bpmnElement="sid-D9D7B214-D130-4070-AF80-22029ECF805C" id="BPMNShape_sid-D9D7B214-D130-4070-AF80-22029ECF805C">
<omgdc:Bounds height=""28.0"" width=""28.0"" x=""915.0"" y=""341.0""/> <omgdc:Bounds height="40.0" width="40.0" x="240.0" y="225.0"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement=""flow13"" id=""BPMNEdge_flow13"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x=""772.5"" y=""394.95000000000005""/> <omgdi:waypoint x="772.0" y="394.0"/>
<omgdi:waypoint x=""772.5"" y=""485.0""/> <omgdi:waypoint x="772.0" y="485.0"/>
<omgdi:waypoint x=""157.5"" y=""485.0""/> <omgdi:waypoint x="157.0" y="485.0"/>
<omgdi:waypoint x=""157.5"" y=""224.0484406626969""/> <omgdi:waypoint x="157.0" y="224.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""sid-48C11432-6FBB-4657-A7B0-5AA0F9C3D900"" id=""BPMNEdge_sid-48C11432-6FBB-4657-A7B0-5AA0F9C3D900"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""14.0"" flowable:targetDockerY=""14.0"">
<omgdi:waypoint x=""824.9499999999999"" y=""355.0""/>
<omgdi:waypoint x=""864.5"" y=""355.0""/>
<omgdi:waypoint x=""851.5"" y=""355.0""/>
<omgdi:waypoint x=""915.0"" y=""355.0""/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""flow1"" id=""BPMNEdge_flow1"" flowable:sourceDockerX=""15.0"" flowable:sourceDockerY=""15.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <bpmndi:BPMNEdge bpmnElement="sid-B3FC7586-27CA-4E99-8DAD-3067CA07A622" id="BPMNEdge_sid-B3FC7586-27CA-4E99-8DAD-3067CA07A622" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="20.0" flowable:targetDockerY="20.0">
<omgdi:waypoint x=""61.97187420581508"" y=""184.09844066269687""/> <omgdi:waypoint x="209.0" y="215.0"/>
<omgdi:waypoint x=""105.0"" y=""184.09844066269687""/> <omgdi:waypoint x="247.0" y="237.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""flow2"" id=""BPMNEdge_flow2"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <bpmndi:BPMNEdge bpmnElement="sid-1C2CBC6E-3411-4960-91B7-45C6626B7F8A" id="BPMNEdge_sid-1C2CBC6E-3411-4960-91B7-45C6626B7F8A" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x=""209.9499999999619"" y=""184.09844066269687""/> <omgdi:waypoint x="257.0" y="227.0"/>
<omgdi:waypoint x=""300.0"" y=""184.09844066269687""/> <omgdi:waypoint x="245.0" y="113.0"/>
<omgdi:waypoint x="495.0" y="94.0"/>
<omgdi:waypoint x="526.0" y="144.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""flow3"" id=""BPMNEdge_flow3"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <bpmndi:BPMNEdge bpmnElement="sid-684015C0-A8F4-4915-936A-151CCDB48987" id="BPMNEdge_sid-684015C0-A8F4-4915-936A-151CCDB48987" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x=""404.95000000000005"" y=""184.09844066269687""/> <omgdi:waypoint x="274.0" y="250.0"/>
<omgdi:waypoint x=""500.0"" y=""184.09844066269687""/> <omgdi:waypoint x="499.0" y="335.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""flow4"" id=""BPMNEdge_flow4"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""14.0"" flowable:targetDockerY=""14.0""> <bpmndi:BPMNEdge bpmnElement="sid-48C11432-6FBB-4657-A7B0-5AA0F9C3D900" id="BPMNEdge_sid-48C11432-6FBB-4657-A7B0-5AA0F9C3D900" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x=""604.94999999995"" y=""184.09844066269687""/> <omgdi:waypoint x="824.0" y="355.0"/>
<omgdi:waypoint x=""695.0"" y=""184.09844066269687""/> <omgdi:waypoint x="915.0" y="355.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""flow5"" id=""BPMNEdge_flow5"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""14.0""> <bpmndi:BPMNEdge bpmnElement="sid-25FB5262-5015-43AA-B2E8-C90103256178" id="BPMNEdge_sid-25FB5262-5015-43AA-B2E8-C90103256178" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x=""552.5"" y=""224.0484406626969""/> <omgdi:waypoint x="644.0" y="249.0"/>
<omgdi:waypoint x=""552.5"" y=""315.0""/> <omgdi:waypoint x="699.0" y="194.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""flow6"" id=""BPMNEdge_flow6"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1" flowable:sourceDockerX="15.0" flowable:sourceDockerY="15.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x=""604.95"" y=""355.0""/> <omgdi:waypoint x="61.0" y="184.0"/>
<omgdi:waypoint x=""720.0"" y=""355.0""/> <omgdi:waypoint x="105.0" y="184.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement=""sid-C0A72034-8C59-4DCB-B2E0-1AC84315A8BA"" id=""BPMNEdge_sid-C0A72034-8C59-4DCB-B2E0-1AC84315A8BA"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""14.0"" flowable:targetDockerY=""14.0""> <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x=""772.5"" y=""315.0""/> <omgdi:waypoint x="272.0" y="237.0"/>
<omgdi:waypoint x=""772.5"" y=""275.0""/> <omgdi:waypoint x="299.0" y="218.0"/>
<omgdi:waypoint x=""929.0"" y=""275.0""/> </bpmndi:BPMNEdge>
<omgdi:waypoint x=""929.0"" y=""341.0""/> <bpmndi:BPMNEdge bpmnElement="sid-21CB8859-DD90-4C2F-9B85-E8E27215DF09" id="BPMNEdge_sid-21CB8859-DD90-4C2F-9B85-E8E27215DF09" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
</bpmndi:BPMNEdge> <omgdi:waypoint x="260.0" y="264.0"/>
<bpmndi:BPMNEdge bpmnElement=""flow10"" id=""BPMNEdge_flow10"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""14.0"" flowable:targetDockerY=""14.0""> <omgdi:waypoint x="260.0" y="447.0"/>
<omgdi:waypoint x=""603.5071973955154"" y=""144.09844066269687""/> <omgdi:waypoint x="550.0" y="447.0"/>
<omgdi:waypoint x=""642.0"" y=""114.0""/> <omgdi:waypoint x="719.0" y="376.0"/>
<omgdi:waypoint x=""699.326689310983"" y=""173.97684030512815""/> </bpmndi:BPMNEdge>
</bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<bpmndi:BPMNEdge bpmnElement=""flow8"" id=""BPMNEdge_flow8"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <omgdi:waypoint x="404.0" y="184.0"/>
<omgdi:waypoint x=""352.30934506477934"" y=""224.0484406626969""/> <omgdi:waypoint x="500.0" y="184.0"/>
<omgdi:waypoint x=""352.0"" y=""289.0""/> </bpmndi:BPMNEdge>
<omgdi:waypoint x=""158.0"" y=""289.0""/> <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="20.0" flowable:targetDockerY="20.0">
<omgdi:waypoint x=""157.69041661655163"" y=""224.0484406626969""/> <omgdi:waypoint x="595.0" y="224.0"/>
</bpmndi:BPMNEdge> <omgdi:waypoint x="624.0" y="250.0"/>
<bpmndi:BPMNEdge bpmnElement=""flow12"" id=""BPMNEdge_flow12"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> </bpmndi:BPMNEdge>
<omgdi:waypoint x=""552.3320716888591"" y=""144.09844066269687""/> <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x=""552.0"" y=""65.0""/> <omgdi:waypoint x="625.0" y="270.0"/>
<omgdi:waypoint x=""157.0"" y=""65.0""/> <omgdi:waypoint x="587.0" y="315.0"/>
<omgdi:waypoint x=""157.33207168885912"" y=""144.09844066269687""/> </bpmndi:BPMNEdge>
</bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<bpmndi:BPMNEdge bpmnElement=""flow9"" id=""BPMNEdge_flow9"" flowable:sourceDockerX=""52.5"" flowable:sourceDockerY=""40.0"" flowable:targetDockerX=""52.5"" flowable:targetDockerY=""40.0""> <omgdi:waypoint x="604.0" y="355.0"/>
<omgdi:waypoint x=""499.99999999986835"" y=""355.0""/> <omgdi:waypoint x="720.0" y="355.0"/>
<omgdi:waypoint x=""157.0"" y=""355.0""/> </bpmndi:BPMNEdge>
<omgdi:waypoint x=""157.38297356631765"" y=""224.0484406626969""/> <bpmndi:BPMNEdge bpmnElement="sid-C0A72034-8C59-4DCB-B2E0-1AC84315A8BA" id="BPMNEdge_sid-C0A72034-8C59-4DCB-B2E0-1AC84315A8BA" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="772.0" y="315.0"/>
<omgdi:waypoint x="772.0" y="275.0"/>
<omgdi:waypoint x="929.0" y="275.0"/>
<omgdi:waypoint x="929.0" y="341.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="604.0" y="147.0"/>
<omgdi:waypoint x="645.0" y="120.0"/>
<omgdi:waypoint x="699.0" y="174.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="352.0" y="224.0"/>
<omgdi:waypoint x="352.0" y="289.0"/>
<omgdi:waypoint x="158.0" y="289.0"/>
<omgdi:waypoint x="157.0" y="224.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="552.0" y="144.0"/>
<omgdi:waypoint x="552.0" y="65.0"/>
<omgdi:waypoint x="157.0" y="65.0"/>
<omgdi:waypoint x="157.0" y="144.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9" flowable:sourceDockerX="52.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="52.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="499.0" y="355.0"/>
<omgdi:waypoint x="157.0" y="355.0"/>
<omgdi:waypoint x="157.0" y="224.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane> </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram> </bpmndi:BPMNDiagram>
</definitions>","SKETCH","0",,"INPUT","admin","2024-04-18 15:53:44.0","admin","2024-06-20 09:54:01.0","_PRIMARY_" </definitions>
","SKETCH","0",,"INPUT","admin","2024-04-18 15:53:44.0","admin","2024-06-20 09:54:01.0","_PRIMARY_"
"8bf31ed3-08d6-450c-8459-f5c95b4c2d84","DEFAULT_CUSTOMER_F","DEFAULT_CUSTOMER_F","分支行违约认定流程",,"1",,"<?xml version='1.0' encoding='UTF-8'?> "8bf31ed3-08d6-450c-8459-f5c95b4c2d84","DEFAULT_CUSTOMER_F","DEFAULT_CUSTOMER_F","分支行违约认定流程",,"1",,"<?xml version='1.0' encoding='UTF-8'?>
<definitions xmlns=""http://www.omg.org/spec/BPMN/20100524/MODEL"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:flowable=""http://flowable.org/bpmn"" xmlns:bpmndi=""http://www.omg.org/spec/BPMN/20100524/DI"" xmlns:omgdc=""http://www.omg.org/spec/DD/20100524/DC"" xmlns:omgdi=""http://www.omg.org/spec/DD/20100524/DI"" typeLanguage=""http://www.w3.org/2001/XMLSchema"" expressionLanguage=""http://www.w3.org/1999/XPath"" targetNamespace=""http://www.activiti.org/test"" exporter=""Flowable Open Source Modeler"" exporterVersion=""6.8.0""> <definitions xmlns=""http://www.omg.org/spec/BPMN/20100524/MODEL"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:flowable=""http://flowable.org/bpmn"" xmlns:bpmndi=""http://www.omg.org/spec/BPMN/20100524/DI"" xmlns:omgdc=""http://www.omg.org/spec/DD/20100524/DC"" xmlns:omgdi=""http://www.omg.org/spec/DD/20100524/DI"" typeLanguage=""http://www.w3.org/2001/XMLSchema"" expressionLanguage=""http://www.w3.org/1999/XPath"" targetNamespace=""http://www.activiti.org/test"" exporter=""Flowable Open Source Modeler"" exporterVersion=""6.8.0"">
<process id=""DEFAULT_CUSTOMER_F"" name=""分支行违约认定流程"" isExecutable=""true""> <process id=""DEFAULT_CUSTOMER_F"" name=""分支行违约认定流程"" isExecutable=""true"">

Can't render this file because it contains an unexpected character in line 7 and column 19.

124698
app.irbs/src/main/resources/liquibase/data/irbs/shrcb/REPORT_DATA.csv

File diff suppressed because it is too large

4
irbs.cust.rating/src/main/java/irbs/cust/rating/constant/TaskVariable.java

@ -21,4 +21,8 @@ public class TaskVariable {
* 任务状态可用来记录当前任务状态 * 任务状态可用来记录当前任务状态
*/ */
public static final String TASK_STATUS ="taskStatus"; public static final String TASK_STATUS ="taskStatus";
/**
* 最后一次任务完成时goback值
*/
public static final String LAST_GOBACK ="lastGoback";
} }

9
irbs.cust.rating/src/main/java/irbs/cust/rating/controller/CompanyRatingController.java

@ -12,6 +12,7 @@ import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
@RequestMapping("/api/irbs/companyRating") @RequestMapping("/api/irbs/companyRating")
@ -136,10 +137,10 @@ public class CompanyRatingController extends RestCrudController<CompanyRatingVo,
/** /**
* 根据code获取参数配置 * 根据code获取参数配置
* @param code 参数配置编码 * @param codes 参数配置编码
*/ */
@GetMapping("getSystemParameter") @PostMapping("getSystemParameters")
public String getSystemParameter(String code) throws Exception { public Map<String, String> getSystemParameters(@RequestBody String[] codes) throws Exception {
return service.getSystemParameter(code); return service.getSystemParameters(codes);
} }
} }

29
irbs.cust.rating/src/main/java/irbs/cust/rating/enums/RatingGoBackType.java

@ -0,0 +1,29 @@
package irbs.cust.rating.enums;
/**
* 评级任务流向
* @author dhb
*/
public enum RatingGoBackType {
// 通过
APPROVE(999),
// 否决
REJECT(2),
// 提交下一步
SUBMIT(1),
// 需判断是否走总行审批节点
SUBMIT_HEAD(3),
// 需判断的节点
JUDGMENT(0);
RatingGoBackType(int code) {
this.code = code;
}
private final int code;
public int code() {
return code;
}
}

2
irbs.cust.rating/src/main/java/irbs/cust/rating/jpa/repository/FinanceReportRepository.java

@ -7,7 +7,7 @@ import java.util.List;
public interface FinanceReportRepository extends DaoRepository<FinanceReport, String> { public interface FinanceReportRepository extends DaoRepository<FinanceReport, String> {
List<FinanceReport> findByCustId(String custId); List<FinanceReport> findByCustIdOrderByEndDateDesc(String custId);
FinanceReport findByCustIdAndFinanceReportYear(String custId, String financeReportYear); FinanceReport findByCustIdAndFinanceReportYear(String custId, String financeReportYear);
} }

8
irbs.cust.rating/src/main/java/irbs/cust/rating/service/CompanyRatingService.java

@ -8,8 +8,6 @@ import irbs.cust.rating.jpa.entity.RatingOverturn;
import irbs.cust.rating.jpa.repository.CompanyRatingRepository; import irbs.cust.rating.jpa.repository.CompanyRatingRepository;
import irbs.cust.rating.jpa.vo.CompanyRatingVo; import irbs.cust.rating.jpa.vo.CompanyRatingVo;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -48,11 +46,11 @@ public interface CompanyRatingService extends DaoService<CompanyRating, String,
public void back(String ratingId) throws Exception; public void back(String ratingId) throws Exception;
public void backStart(String ratingId) throws Exception; public void backStart(String ratingId, Map<String, Object> map) throws Exception;
public void approve(String ratingId, Map<String, Object> map) throws Exception; public void approve(String ratingId, Map<String, Object> map) throws Exception;
public void reject(String ratingId) throws Exception; public void reject(String ratingId, Map<String, Object> map) throws Exception;
public String getSystemParameter(String code) throws Exception; public Map<String, String> getSystemParameters(String[] codes) throws Exception;
} }

50
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/CompanyRatingProcessServiceImpl.java

@ -2,10 +2,14 @@ package irbs.cust.rating.service.impl;
import io.sc.platform.flowable.controller.support.ProcessProperties; import io.sc.platform.flowable.controller.support.ProcessProperties;
import io.sc.platform.flowable.service.ProcessOperationService; import io.sc.platform.flowable.service.ProcessOperationService;
import io.sc.platform.flowable.service.ProcessQueryService;
import io.sc.platform.flowable.support.CompleteTaskException; import io.sc.platform.flowable.support.CompleteTaskException;
import io.sc.platform.flowable.support.CompleteTaskResponse; import io.sc.platform.flowable.support.CompleteTaskResponse;
import io.sc.platform.flowable.support.VariableWrapper;
import io.sc.platform.mvc.service.SystemParameterService; import io.sc.platform.mvc.service.SystemParameterService;
import irbs.cust.rating.constant.TaskVariable;
import irbs.cust.rating.enums.GoBackType; import irbs.cust.rating.enums.GoBackType;
import irbs.cust.rating.enums.RatingGoBackType;
import irbs.cust.rating.jpa.entity.CompanyRating; import irbs.cust.rating.jpa.entity.CompanyRating;
import irbs.cust.rating.jpa.entity.FocusCustomer; import irbs.cust.rating.jpa.entity.FocusCustomer;
import irbs.cust.rating.jpa.repository.FocusCustomerRepository; import irbs.cust.rating.jpa.repository.FocusCustomerRepository;
@ -29,6 +33,8 @@ public class CompanyRatingProcessServiceImpl implements CompanyRatingProcessServ
@Autowired @Autowired
private ProcessOperationService processOperationService; private ProcessOperationService processOperationService;
@Autowired @Autowired
private ProcessQueryService processQueryService;
@Autowired
private ProcessEngine processEngine; private ProcessEngine processEngine;
@Autowired @Autowired
private CompanyRatingService companyRatingService; private CompanyRatingService companyRatingService;
@ -66,33 +72,43 @@ public class CompanyRatingProcessServiceImpl implements CompanyRatingProcessServ
suggestLevel = (String) transientVariables.get("suggestLevel"); suggestLevel = (String) transientVariables.get("suggestLevel");
} }
// TODO 当前流程通过读取流程设计中任务节点的输出线加载页面按钮,而实际业务存在分行审批通过,但是业务风险较大需要走总行审批。 // TODO 当前流程通过读取流程设计中任务节点的输出线加载页面按钮,而实际业务存在需要根据业务信息判断下一步提交的节点。
// TODO 所以此处需要判定任务是否要走总行审批路线。 List<VariableWrapper> variableWrapperList = processQueryService.queryVariables(task.getProcessInstanceId());
Integer lastGoback = -1;
Boolean flag = false; Boolean flag = false;
if (task.getTaskDefinitionKey().equals("A3") && opaVal == GoBackType.APPROVE.code() && isNeedHeadBankApprove(suggestLevel, instance.getBusinessKey())) { for (VariableWrapper variableWrapper : variableWrapperList) {
transientVariables.put("submit", 1); if (variableWrapper.getName().equals(TaskVariable.LAST_GOBACK)) {
transientVariables.remove("goback"); lastGoback = Integer.parseInt(variableWrapper.getText());
}
}
if (opaVal == RatingGoBackType.JUDGMENT.code()) {
transientVariables.put("submit", lastGoback);
} else if (opaVal == RatingGoBackType.SUBMIT_HEAD.code() && isNeedHeadBankApprove(suggestLevel, instance.getBusinessKey())) {
transientVariables.put("submit", RatingGoBackType.SUBMIT.code());
flag = true; flag = true;
} else { } else if (opaVal == RatingGoBackType.SUBMIT_HEAD.code()) {
transientVariables.put("submit", -999); transientVariables.put("submit", RatingGoBackType.APPROVE.code());
} }
processOperationService.completeTask(taskId, processProperties.getVariables(), transientVariables); Map<String, Object> variables = processProperties.getVariables();
variables.put(TaskVariable.LAST_GOBACK, transientVariables.get("goback").toString());
processOperationService.completeTask(taskId, variables, transientVariables);
if(opaVal == GoBackType.SUBMIT.code() || opaVal==GoBackType.UPPER.code() || opaVal==GoBackType.UPPER_1.code()){
companyRatingService.submit(instance.getBusinessKey(), processProperties.getData()); if (opaVal == RatingGoBackType.REJECT.code()) {
} else if(opaVal==GoBackType.BACK_START.code()){ companyRatingService.reject(instance.getBusinessKey(), processProperties.getData());
companyRatingService.backStart(instance.getBusinessKey()); } else if (opaVal == RatingGoBackType.SUBMIT_HEAD.code()) {
} else if(opaVal==GoBackType.APPROVE.code()){
if (flag) { if (flag) {
companyRatingService.submit(instance.getBusinessKey(), processProperties.getData()); companyRatingService.submit(instance.getBusinessKey(), processProperties.getData());
} else { } else {
companyRatingService.approve(instance.getBusinessKey(), processProperties.getData()); companyRatingService.approve(instance.getBusinessKey(), processProperties.getData());
} }
} else if(opaVal==GoBackType.REJECT.code()){ } else if(opaVal < 0){
companyRatingService.reject(instance.getBusinessKey()); companyRatingService.backStart(instance.getBusinessKey(), processProperties.getData());
} else if(opaVal == GoBackType.BACK.code()){ } else {
companyRatingService.back(instance.getBusinessKey()); companyRatingService.submit(instance.getBusinessKey(), processProperties.getData());
} }
//companyRatingService.back(instance.getBusinessKey());
return new CompleteTaskResponse(); return new CompleteTaskResponse();
} catch (CompleteTaskException exception) { } catch (CompleteTaskException exception) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

18
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/CompanyRatingServiceImpl.java

@ -234,7 +234,7 @@ public class CompanyRatingServiceImpl extends DaoServiceImpl<CompanyRating, Stri
ratingIndexs = ratingIndexService.prepareQuantityIndex(rating,ratingIndexs); ratingIndexs = ratingIndexService.prepareQuantityIndex(rating,ratingIndexs);
// 计算定量指标 // 计算定量指标
rating = ratingIndexService.calculateQuantityIndex(rating,ratingIndexs); rating = ratingIndexService.calculateQuantityIndex(rating,ratingIndexs);
rating.setCurrentStep(RatingStepType.QUANTITATIVE.getText()); rating.setCurrentStep(RatingStepType.QUALITATIVE_EDIT.getText());
getRepository().save(rating); getRepository().save(rating);
} }
return rating; return rating;
@ -436,7 +436,7 @@ public class CompanyRatingServiceImpl extends DaoServiceImpl<CompanyRating, Stri
if((RatingProcessStatus.AWAIT_SUBMIT.name().equals(rating.getProcessStatus())|| if((RatingProcessStatus.AWAIT_SUBMIT.name().equals(rating.getProcessStatus())||
RatingProcessStatus.BACK.name().equals(rating.getProcessStatus())) RatingProcessStatus.BACK.name().equals(rating.getProcessStatus()))
&& RatingStepType.QUALITATIVE_EDIT.getText().equals(rating.getCurrentStep())){ && RatingStepType.QUALITATIVE_EDIT.getText().equals(rating.getCurrentStep())){
rating.setCurrentStep(RatingStepType.QUALITATIVE_SHOW.getText()); rating.setCurrentStep(RatingStepType.ADJUST_ITEM.getText());
getRepository().save(rating); getRepository().save(rating);
} }
return rating; return rating;
@ -653,11 +653,11 @@ public class CompanyRatingServiceImpl extends DaoServiceImpl<CompanyRating, Stri
} }
@Override @Override
public void backStart(String ratingId) throws Exception { public void backStart(String ratingId, Map<String, Object> map) throws Exception {
CompanyRating rating = this.findById(ratingId); CompanyRating rating = this.findById(ratingId);
saveOpinion(rating,null, ProcessStatus.退回.getCode(), new HashMap<>()); saveOpinion(rating,null, ProcessStatus.退回.getCode(), map);
rating.setProcessStatus(RatingProcessStatus.BACK.name()); rating.setProcessStatus(RatingProcessStatus.BACK.name());
rating.setCurrentStep(RatingStepType.INIT_FINISH.getText()); rating.setCurrentStep(RatingStepType.OTHER.getText());
if (rating.getOverNum() != null) { if (rating.getOverNum() != null) {
rating.setOverNum(rating.getOverNum()+1); rating.setOverNum(rating.getOverNum()+1);
} }
@ -710,9 +710,9 @@ public class CompanyRatingServiceImpl extends DaoServiceImpl<CompanyRating, Stri
} }
@Override @Override
public void reject(String ratingId) throws Exception { public void reject(String ratingId, Map<String, Object> map) throws Exception {
CompanyRating rating = this.findById(ratingId); CompanyRating rating = this.findById(ratingId);
saveOpinion(rating,null, ProcessStatus.否决.getCode(), new HashMap<>()); saveOpinion(rating,null, ProcessStatus.否决.getCode(), map);
rating.setProcessStatus(RatingProcessStatus.NEGATIVED.name()); rating.setProcessStatus(RatingProcessStatus.NEGATIVED.name());
rating.setRatingStatus(RatingStatus.NOT_ACTIVE.name()); rating.setRatingStatus(RatingStatus.NOT_ACTIVE.name());
getRepository().save(rating); getRepository().save(rating);
@ -720,7 +720,7 @@ public class CompanyRatingServiceImpl extends DaoServiceImpl<CompanyRating, Stri
} }
@Override @Override
public String getSystemParameter(String code) throws Exception { public Map<String, String> getSystemParameters(String[] codes) throws Exception {
return systemParameterService.getParameter(code); return systemParameterService.getParameters(codes);
} }
} }

4
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportIndexServiceImpl.java

@ -56,7 +56,7 @@ public class FinanceReportIndexServiceImpl implements FinanceReportIndexService
Map<String,Object> kiMap = new HashMap<>(); Map<String,Object> kiMap = new HashMap<>();
Map<String,Object> lastMap = null;//上期财报 Map<String,Object> lastMap = null;//上期财报
boolean cbIndexInd=false; boolean cbIndexInd=false;
List<FinanceReport> reportBaseInfos = financeReportService.getRepository().findByCustId(custId); List<FinanceReport> reportBaseInfos = financeReportService.getRepository().findByCustIdOrderByEndDateDesc(custId);
String cashFlow="0"; String cashFlow="0";
if(CollectionUtils.isNotEmpty(reportBaseInfos)){ if(CollectionUtils.isNotEmpty(reportBaseInfos)){
for(FinanceReport baseInfo: reportBaseInfos){ for(FinanceReport baseInfo: reportBaseInfos){
@ -126,7 +126,7 @@ public class FinanceReportIndexServiceImpl implements FinanceReportIndexService
Map<String,Object> lastMap2 = new HashMap<>();//上2期财报 Map<String,Object> lastMap2 = new HashMap<>();//上2期财报
lastMap2.put("NULL_IND",1); lastMap2.put("NULL_IND",1);
boolean cbIndexInd=false; boolean cbIndexInd=false;
List<FinanceReport> reportBaseInfos = financeReportService.getRepository().findByCustId(custId); List<FinanceReport> reportBaseInfos = financeReportService.getRepository().findByCustIdOrderByEndDateDesc(custId);
if(CollectionUtils.isNotEmpty(reportBaseInfos)){ if(CollectionUtils.isNotEmpty(reportBaseInfos)){
for(FinanceReport baseInfo: reportBaseInfos){ for(FinanceReport baseInfo: reportBaseInfos){
if("0".equals(baseInfo.getFinanceReportYear())){ if("0".equals(baseInfo.getFinanceReportYear())){

4
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportServiceImpl.java

@ -34,7 +34,7 @@ public class FinanceReportServiceImpl extends DaoServiceImpl<FinanceReport, Stri
c.add(Calendar.YEAR,-1); c.add(Calendar.YEAR,-1);
list.add(c.get(Calendar.YEAR)); list.add(c.get(Calendar.YEAR));
} }
List<FinanceReport> reportList = getRepository().findByCustId(custId); List<FinanceReport> reportList = getRepository().findByCustIdOrderByEndDateDesc(custId);
for(int i=0;i<list.size();i++){ for(int i=0;i<list.size();i++){
FinanceReport report = new FinanceReport(); FinanceReport report = new FinanceReport();
if (null!=reportList && reportList.size()>0) { if (null!=reportList && reportList.size()>0) {
@ -53,7 +53,7 @@ public class FinanceReportServiceImpl extends DaoServiceImpl<FinanceReport, Stri
@Override @Override
public String getCaliber(String custId) throws Exception { public String getCaliber(String custId) throws Exception {
List<FinanceReport> list = getRepository().findByCustId(custId); List<FinanceReport> list = getRepository().findByCustIdOrderByEndDateDesc(custId);
if (null != list && list.size() > 0) { if (null != list && list.size() > 0) {
for(FinanceReport report: list){ for(FinanceReport report: list){
if(FinanceReportYear.THIS_YEAR.getCode().equals(report.getFinanceReportYear())){ if(FinanceReportYear.THIS_YEAR.getCode().equals(report.getFinanceReportYear())){

10
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/ModelLibServiceImpl.java

@ -65,6 +65,7 @@ public class ModelLibServiceImpl implements ModelLibService {
// 模型路由结果 // 模型路由结果
ResourceResult result; ResourceResult result;
String callModelCode = "";
try { try {
// Map<String, String> parameterMap = systemParameterService.getParameters(new String[]{"parameter.re.client.remoteApiUrl","parameter.re.client.loaderMode","parameter.re.client.executorMode"}); // Map<String, String> parameterMap = systemParameterService.getParameters(new String[]{"parameter.re.client.remoteApiUrl","parameter.re.client.loaderMode","parameter.re.client.executorMode"});
// ExecutorMode executorMode = ExecutorMode.valueOf(parameterMap.get("parameter.re.client.executorMode")); // ExecutorMode executorMode = ExecutorMode.valueOf(parameterMap.get("parameter.re.client.executorMode"));
@ -74,14 +75,15 @@ public class ModelLibServiceImpl implements ModelLibService {
// TODO 灰度模型 // TODO 灰度模型
if (grayFlag) { if (grayFlag) {
String grayModelCode = systemParameterService.getParameter("parameter.irbs.params.gm.code"); callModelCode = systemParameterService.getParameter("parameter.irbs.params.gm.code");
result = executor.executeByCode(grayModelCode,null, params); result = executor.executeByCode(callModelCode,null, params);
} else { } else {
result = executor.executeByCode("M_Selector",null, params); callModelCode = "M_Selector";
result = executor.executeByCode(callModelCode,null, params);
} }
} catch (Exception e) { } catch (Exception e) {
System.out.println(e); System.out.println(e);
throw new RuntimeException("调用评级模型选择计算出错," + e.getMessage()); throw new RuntimeException("调用评级模型出错,模型编码为:" + callModelCode + ",请确认模型是否部署正确。");
} }
// 解析获得模型路由结果 // 解析获得模型路由结果

2
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/RatingIndexServiceImpl.java

@ -305,7 +305,7 @@ public class RatingIndexServiceImpl extends DaoServiceImpl<RatingIndex, String,
} }
if(report!=null){ if(report!=null){
report.setIndexValue("1"); report.setIndexValue("1");
List<FinanceReport> reportBaseInfos = financeReportService.getRepository().findByCustId(customer.getId()); List<FinanceReport> reportBaseInfos = financeReportService.getRepository().findByCustIdOrderByEndDateDesc(customer.getId());
if(null!=reportBaseInfos && reportBaseInfos.size() > 0) { if(null!=reportBaseInfos && reportBaseInfos.size() > 0) {
for (FinanceReport baseInfo : reportBaseInfos) { for (FinanceReport baseInfo : reportBaseInfos) {
if ("0".equals(baseInfo.getFinanceReportYear())) { if ("0".equals(baseInfo.getFinanceReportYear())) {

4
irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/RatingReportShowScoreRoleServiceImpl.java

@ -65,8 +65,8 @@ public class RatingReportShowScoreRoleServiceImpl extends DaoServiceImpl<RatingR
@Override @Override
public Boolean findShowScoreAuth() throws Exception { public Boolean findShowScoreAuth() throws Exception {
String scoreDtl = systemParameterService.getParameter("parameter.irbs.params.ratingReport.scoreDtl"); String scoreDtl = systemParameterService.getParameter("parameter.irbs.params.ratingUI.report.scoreDtl");
String auth = systemParameterService.getParameter("parameter.irbs.params.ratingReport.scoreDtl.auth"); String auth = systemParameterService.getParameter("parameter.irbs.params.ratingUI.report.scoreDtlAuth");
if (!"show".equals(scoreDtl)) { if (!"show".equals(scoreDtl)) {
// 1、判断参数配置中 【评级报告是否展示得分详情】,如果不为 show,直接返回 false // 1、判断参数配置中 【评级报告是否展示得分详情】,如果不为 show,直接返回 false
return false; return false;

186
irbs.cust.rating/src/main/resources/META-INF/platform/plugins/parameters.json

@ -1,52 +1,16 @@
[ [
/**/
{"id":"parameter.irbs.engine","order":100},
/*/*/
{
"id" : "parameter.irbs.engine.mode",
"parentId" : "parameter.irbs.engine",
"code" : "parameter.irbs.engine.mode",
"options" : {
"remote": "远程",
"local": "本地"
},
"defaultValue" : "remote",
"order" : 100
},
/*/*/
{
"id" : "parameter.irbs.engine.local.config",
"parentId" : "parameter.irbs.engine",
"order" : 200
},
/*/*/
{
"id" : "parameter.irbs.engine.remote.config",
"parentId" : "parameter.irbs.engine",
"order" : 300
},
/*/*/
{
"id" : "parameter.irbs.engine.remote.config.re.url",
"parentId" : "parameter.irbs.engine.remote.config",
"code" : "parameter.irbs.engine.remote.config.re.url",
"defaultValue" : "http://192.168.116.65:8080/engine/re/resource",
"order" : 100
},
/*/()*/
{
"id" : "parameter.irbs.engine.remote.config.timeout",
"parentId" : "parameter.irbs.engine.remote.config",
"code" : "parameter.irbs.engine.remote.config.timeout",
"defaultValue" : 30000,
"order" : 500
},
/**/ /**/
{"id":"parameter.irbs.params","order":200}, {"id":"parameter.irbs.params","order":200},
/*/*/ /*/*/
{ {
"id" : "parameter.irbs.params.ratingLevel", "id" : "parameter.irbs.params.ratingProcess",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params",
"order" : 100
},
/*//*/
{
"id" : "parameter.irbs.params.ratingLevel",
"parentId" : "parameter.irbs.params.ratingProcess",
"code" : "parameter.irbs.params.ratingLevel", "code" : "parameter.irbs.params.ratingLevel",
"defaultValue" : "AAA", "defaultValue" : "AAA",
"options" : { "options" : {
@ -63,85 +27,145 @@
}, },
"order" : 100 "order" : 100
}, },
/*/*/ /*//*/
{ {
"id" : "parameter.irbs.params.overturnLevel", "id" : "parameter.irbs.params.overturnLevel",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params.ratingProcess",
"code" : "parameter.irbs.params.overturnLevel", "code" : "parameter.irbs.params.overturnLevel",
"defaultValue" : 3, "defaultValue" : 3,
"order" : 200 "order" : 200
}, },
/*/*/ /*//*/
{ {
"id" : "parameter.irbs.params.monthRatingNum", "id" : "parameter.irbs.params.monthRatingNum",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params.ratingProcess",
"code" : "parameter.irbs.params.monthRatingNum", "code" : "parameter.irbs.params.monthRatingNum",
"defaultValue" : 3, "defaultValue" : 3,
"order" : 300 "order" : 300
}, },
/**/ /*/*/
{ {
"id" : "parameter.irbs.params.isCheckCreditInvestigation", "id" : "parameter.irbs.params.ratingUI",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.isCheckCreditInvestigation", "order" : 200
"defaultValue" : "1", },
/*//*/
{
"id" : "parameter.irbs.params.ratingUI.totalScore",
"parentId" : "parameter.irbs.params.ratingUI",
"code" : "parameter.irbs.params.ratingUI.totalScore",
"defaultValue" : "show",
"options" : { "options" : {
"1": "是", "show": "展示",
"0": "否" "hide": "隐藏"
}, },
"order" : 400 "order" : 100
}, },
/**/ /*//*/
{ {
"id" : "parameter.irbs.params.creditInvestExpireNum", "id" : "parameter.irbs.params.ratingUI.index",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params.ratingUI",
"code" : "parameter.irbs.params.creditInvestExpireNum", "code" : "parameter.irbs.params.ratingUI.index",
"defaultValue" : 3, "defaultValue" : "show",
"order" : 500 "options" : {
"show": "展示",
"hide": "隐藏"
},
"order" : 200
}, },
/**/ /*//*/
{ {
"id" : "parameter.irbs.params.ratingReport.scoreDtl", "id" : "parameter.irbs.params.ratingUI.indexScore",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params.ratingUI",
"code" : "parameter.irbs.params.ratingReport.scoreDtl", "code" : "parameter.irbs.params.ratingUI.indexScore",
"defaultValue" : "show",
"options" : {
"show": "展示",
"hide": "隐藏"
},
"order" : 300
},
/*//*/
{
"id" : "parameter.irbs.params.ratingUI.report.scoreDtl",
"parentId" : "parameter.irbs.params.ratingUI",
"code" : "parameter.irbs.params.ratingUI.report.scoreDtl",
"defaultValue" : "show", "defaultValue" : "show",
"options" : { "options" : {
"show": "展示", "show": "展示",
"hide": "隐藏" "hide": "隐藏"
}, },
"order" : 550 "order" : 400
}, },
/**/ /*//*/
{ {
"id" : "parameter.irbs.params.ratingReport.scoreDtl.auth", "id" : "parameter.irbs.params.ratingUI.report.indexScore",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params.ratingUI",
"code" : "parameter.irbs.params.ratingReport.scoreDtl.auth", "code" : "parameter.irbs.params.ratingUI.report.indexScore",
"defaultValue" : "roles", "defaultValue" : "show",
"options" : {
"show": "展示",
"hide": "隐藏"
},
"order" : 500
},
/*//*/
{
"id" : "parameter.irbs.params.ratingUI.report.scoreDtlAuth",
"parentId" : "parameter.irbs.params.ratingUI",
"code" : "parameter.irbs.params.ratingUI.report.scoreDtlAuth",
"defaultValue" : "all",
"options" : { "options" : {
"roles": "特定角色可查看", "roles": "特定角色可查看",
"all": "能看到该笔数据的都可查看" "all": "能看到该笔数据的都可查看"
}, },
"order" : 551 "order" : 600
}, },
/**/ /*/*/
{ {
"id" : "parameter.irbs.params.gm.enable", "id" : "parameter.irbs.params.gm",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params",
"order" : 300
},
/*//*/
{
"id" : "parameter.irbs.params.gm.enable",
"parentId" : "parameter.irbs.params.gm",
"code" : "parameter.irbs.params.gm.enable", "code" : "parameter.irbs.params.gm.enable",
"defaultValue" : "1", "defaultValue" : "0",
"options" : { "options" : {
"1": "是", "1": "是",
"0": "否" "0": "否"
}, },
"order" : 600 "order" : 100
}, },
/**/ /*//*/
{ {
"id" : "parameter.irbs.params.gm.code", "id" : "parameter.irbs.params.gm.code",
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params.gm",
"code" : "parameter.irbs.params.gm.code", "code" : "parameter.irbs.params.gm.code",
"defaultValue" : "M_G_Selector", "defaultValue" : "M_G_Selector",
"order" : 700 "order" : 200
},
/**/
{
"id" : "parameter.irbs.params.isCheckCreditInvestigation",
"parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.isCheckCreditInvestigation",
"defaultValue" : "1",
"options" : {
"1": "是",
"0": "否"
},
"order" : 400
},
/**/
{
"id" : "parameter.irbs.params.creditInvestExpireNum",
"parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.creditInvestExpireNum",
"defaultValue" : 3,
"order" : 500
}, },
/**/ /**/
{ {
@ -149,7 +173,7 @@
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.default.cognizance.date", "code" : "parameter.irbs.params.default.cognizance.date",
"defaultValue" : 3, "defaultValue" : 3,
"order" : 800 "order" : 600
}, },
/**/ /**/
{ {
@ -157,6 +181,6 @@
"parentId" : "parameter.irbs.params", "parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.default.rebirth.date", "code" : "parameter.irbs.params.default.rebirth.date",
"defaultValue" : 3, "defaultValue" : 3,
"order" : 900 "order" : 700
} }
] ]

28
irbs.cust.rating/src/main/resources/irbs/cust/rating/i18n/messages.properties

@ -21,21 +21,25 @@ WORK_FLOW.DEFAULT_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u8BA4\u5B9A\u6D41\u7A0B
WORK_FLOW.REBIRTH_CUSTOMER_F=\u5206\u652F\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B WORK_FLOW.REBIRTH_CUSTOMER_F=\u5206\u652F\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B
WORK_FLOW.REBIRTH_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B WORK_FLOW.REBIRTH_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B
parameter.irbs.engine = \u6A21\u578B\u5F15\u64CE
parameter.irbs.engine.mode = \u8C03\u7528\u6A21\u5F0F
parameter.irbs.engine.local.config = \u672C\u5730\u6A21\u5F0F\u914D\u7F6E
parameter.irbs.engine.remote.config = \u8FDC\u7A0B\u6A21\u5F0F\u914D\u7F6E
parameter.irbs.engine.remote.config.re.url = \u6A21\u578B\u8D44\u6E90\u5730\u5740
parameter.irbs.engine.remote.config.timeout = \u8D85\u65F6\u65F6\u95F4(\u6BEB\u79D2)
parameter.irbs.params = \u975E\u96F6\u552E\u5185\u8BC4\u53C2\u6570 parameter.irbs.params = \u975E\u96F6\u552E\u5185\u8BC4\u53C2\u6570
parameter.irbs.params.ratingProcess = \u5BA2\u6237\u8BC4\u7EA7\u6D41\u7A0B
parameter.irbs.params.ratingLevel = \u9700\u603B\u884C\u5BA1\u6279\u7684\u8BC4\u7EA7\u7B49\u7EA7 parameter.irbs.params.ratingLevel = \u9700\u603B\u884C\u5BA1\u6279\u7684\u8BC4\u7EA7\u7B49\u7EA7
parameter.irbs.params.overturnLevel = \u8BC4\u7EA7\u5411\u4E0A\u63A8\u7FFB\u51E0\u7EA7\u9700\u603B\u884C\u5BA1\u6279 parameter.irbs.params.overturnLevel = \u8BC4\u7EA7\u5411\u4E0A\u63A8\u7FFB\u51E0\u7EA7\u9700\u603B\u884C\u5BA1\u6279
parameter.irbs.params.monthRatingNum = \u5BA2\u6237\u4E00\u4E2A\u6708\u5185\u5141\u8BB8\u53D1\u8D77\u8BC4\u7EA7\u6B21\u6570 parameter.irbs.params.monthRatingNum = \u5BA2\u6237\u4E00\u4E2A\u6708\u5185\u5141\u8BB8\u53D1\u8D77\u8BC4\u7EA7\u6B21\u6570
parameter.irbs.params.isCheckCreditInvestigation = \u662F\u5426\u5F00\u542F\u5F81\u4FE1\u68C0\u67E5
parameter.irbs.params.creditInvestExpireNum = \u5F81\u4FE1\u8FC7\u671F\u6708\u6570 parameter.irbs.params.ratingUI = \u8BC4\u7EA7\u9875\u9762\u5C55\u793A
parameter.irbs.params.ratingReport.scoreDtl = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u5F97\u5206\u8BE6\u60C5 parameter.irbs.params.ratingUI.totalScore = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u603B\u5206
parameter.irbs.params.ratingReport.scoreDtl.auth = \u8BC4\u7EA7\u62A5\u544A\u5F97\u5206\u8BE6\u60C5\u67E5\u770B\u6743\u9650 parameter.irbs.params.ratingUI.index = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807
parameter.irbs.params.ratingUI.indexScore = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807\u5F97\u5206
parameter.irbs.params.ratingUI.report.scoreDtl = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u6307\u6807\u8BE6\u60C5
parameter.irbs.params.ratingUI.report.indexScore = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807\u5F97\u5206
parameter.irbs.params.ratingUI.report.scoreDtlAuth = \u8BC4\u7EA7\u62A5\u544A\u5F97\u5206\u8BE6\u60C5\u67E5\u770B\u6743\u9650
parameter.irbs.params.gm = \u7070\u5EA6\u6A21\u578B
parameter.irbs.params.gm.enable = \u662F\u5426\u542F\u7528\u7070\u5EA6\u6A21\u578B parameter.irbs.params.gm.enable = \u662F\u5426\u542F\u7528\u7070\u5EA6\u6A21\u578B
parameter.irbs.params.gm.code = \u7070\u5EA6\u6A21\u578B\u7F16\u7801 parameter.irbs.params.gm.code = \u7070\u5EA6\u6A21\u578B\u7F16\u7801
parameter.irbs.params.default.cognizance.date = \u8FDD\u7EA6\u8BA4\u5B9A\u6709\u6548\u671F\u9ED8\u8BA4\u503C
parameter.irbs.params.default.rebirth.date = \u8FDD\u7EA6\u91CD\u751F\u6709\u6548\u671F\u9ED8\u8BA4\u503C parameter.irbs.params.isCheckCreditInvestigation = \u662F\u5426\u5F00\u542F\u5F81\u4FE1\u68C0\u67E5
parameter.irbs.params.creditInvestExpireNum = \u5F81\u4FE1\u8FC7\u671F\u6708\u6570
parameter.irbs.params.default.cognizance.date = \u8FDD\u7EA6\u8BA4\u5B9A\u6709\u6548\u671F\u9ED8\u8BA4\u503C(\u6708)
parameter.irbs.params.default.rebirth.date = \u8FDD\u7EA6\u91CD\u751F\u6709\u6548\u671F\u9ED8\u8BA4\u503C(\u6708)

28
irbs.cust.rating/src/main/resources/irbs/cust/rating/i18n/messages_tw_CN.properties

@ -21,21 +21,25 @@ WORK_FLOW.DEFAULT_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u8BA4\u5B9A\u6D41\u7A0B
WORK_FLOW.REBIRTH_CUSTOMER_F=\u5206\u652F\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B WORK_FLOW.REBIRTH_CUSTOMER_F=\u5206\u652F\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B
WORK_FLOW.REBIRTH_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B WORK_FLOW.REBIRTH_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B
parameter.irbs.engine = \u6A21\u578B\u5F15\u64CE
parameter.irbs.engine.mode = \u8C03\u7528\u6A21\u5F0F
parameter.irbs.engine.local.config = \u672C\u5730\u6A21\u5F0F\u914D\u7F6E
parameter.irbs.engine.remote.config = \u8FDC\u7A0B\u6A21\u5F0F\u914D\u7F6E
parameter.irbs.engine.remote.config.re.url = \u6A21\u578B\u8D44\u6E90\u5730\u5740
parameter.irbs.engine.remote.config.timeout = \u8D85\u65F6\u65F6\u95F4(\u6BEB\u79D2)
parameter.irbs.params = \u975E\u96F6\u552E\u5185\u8BC4\u53C2\u6570 parameter.irbs.params = \u975E\u96F6\u552E\u5185\u8BC4\u53C2\u6570
parameter.irbs.params.ratingProcess = \u5BA2\u6237\u8BC4\u7EA7\u6D41\u7A0B
parameter.irbs.params.ratingLevel = \u9700\u603B\u884C\u5BA1\u6279\u7684\u8BC4\u7EA7\u7B49\u7EA7 parameter.irbs.params.ratingLevel = \u9700\u603B\u884C\u5BA1\u6279\u7684\u8BC4\u7EA7\u7B49\u7EA7
parameter.irbs.params.overturnLevel = \u8BC4\u7EA7\u5411\u4E0A\u63A8\u7FFB\u51E0\u7EA7\u9700\u603B\u884C\u5BA1\u6279 parameter.irbs.params.overturnLevel = \u8BC4\u7EA7\u5411\u4E0A\u63A8\u7FFB\u51E0\u7EA7\u9700\u603B\u884C\u5BA1\u6279
parameter.irbs.params.monthRatingNum = \u5BA2\u6237\u4E00\u4E2A\u6708\u5185\u5141\u8BB8\u53D1\u8D77\u8BC4\u7EA7\u6B21\u6570 parameter.irbs.params.monthRatingNum = \u5BA2\u6237\u4E00\u4E2A\u6708\u5185\u5141\u8BB8\u53D1\u8D77\u8BC4\u7EA7\u6B21\u6570
parameter.irbs.params.isCheckCreditInvestigation = \u662F\u5426\u5F00\u542F\u5F81\u4FE1\u68C0\u67E5
parameter.irbs.params.creditInvestExpireNum = \u5F81\u4FE1\u8FC7\u671F\u6708\u6570 parameter.irbs.params.ratingUI = \u8BC4\u7EA7\u9875\u9762\u5C55\u793A
parameter.irbs.params.ratingReport.scoreDtl = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u5F97\u5206\u8BE6\u60C5 parameter.irbs.params.ratingUI.totalScore = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u603B\u5206
parameter.irbs.params.ratingReport.scoreDtl.auth = \u8BC4\u7EA7\u62A5\u544A\u5F97\u5206\u8BE6\u60C5\u67E5\u770B\u6743\u9650 parameter.irbs.params.ratingUI.index = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807
parameter.irbs.params.ratingUI.indexScore = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807\u5F97\u5206
parameter.irbs.params.ratingUI.report.scoreDtl = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u6307\u6807\u8BE6\u60C5
parameter.irbs.params.ratingUI.report.indexScore = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807\u5F97\u5206
parameter.irbs.params.ratingUI.report.scoreDtlAuth = \u8BC4\u7EA7\u62A5\u544A\u5F97\u5206\u8BE6\u60C5\u67E5\u770B\u6743\u9650
parameter.irbs.params.gm = \u7070\u5EA6\u6A21\u578B
parameter.irbs.params.gm.enable = \u662F\u5426\u542F\u7528\u7070\u5EA6\u6A21\u578B parameter.irbs.params.gm.enable = \u662F\u5426\u542F\u7528\u7070\u5EA6\u6A21\u578B
parameter.irbs.params.gm.code = \u7070\u5EA6\u6A21\u578B\u7F16\u7801 parameter.irbs.params.gm.code = \u7070\u5EA6\u6A21\u578B\u7F16\u7801
parameter.irbs.params.default.cognizance.date = \u8FDD\u7EA6\u8BA4\u5B9A\u6709\u6548\u671F\u9ED8\u8BA4\u503C
parameter.irbs.params.default.rebirth.date = \u8FDD\u7EA6\u91CD\u751F\u6709\u6548\u671F\u9ED8\u8BA4\u503C parameter.irbs.params.isCheckCreditInvestigation = \u662F\u5426\u5F00\u542F\u5F81\u4FE1\u68C0\u67E5
parameter.irbs.params.creditInvestExpireNum = \u5F81\u4FE1\u8FC7\u671F\u6708\u6570
parameter.irbs.params.default.cognizance.date = \u8FDD\u7EA6\u8BA4\u5B9A\u6709\u6548\u671F\u9ED8\u8BA4\u503C(\u6708)
parameter.irbs.params.default.rebirth.date = \u8FDD\u7EA6\u91CD\u751F\u6709\u6548\u671F\u9ED8\u8BA4\u503C(\u6708)

28
irbs.cust.rating/src/main/resources/irbs/cust/rating/i18n/messages_zh_CN.properties

@ -21,21 +21,25 @@ WORK_FLOW.DEFAULT_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u8BA4\u5B9A\u6D41\u7A0B
WORK_FLOW.REBIRTH_CUSTOMER_F=\u5206\u652F\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B WORK_FLOW.REBIRTH_CUSTOMER_F=\u5206\u652F\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B
WORK_FLOW.REBIRTH_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B WORK_FLOW.REBIRTH_CUSTOMER_Z=\u603B\u884C\u8FDD\u7EA6\u91CD\u751F\u6D41\u7A0B
parameter.irbs.engine = \u6A21\u578B\u5F15\u64CE
parameter.irbs.engine.mode = \u8C03\u7528\u6A21\u5F0F
parameter.irbs.engine.local.config = \u672C\u5730\u6A21\u5F0F\u914D\u7F6E
parameter.irbs.engine.remote.config = \u8FDC\u7A0B\u6A21\u5F0F\u914D\u7F6E
parameter.irbs.engine.remote.config.re.url = \u6A21\u578B\u8D44\u6E90\u5730\u5740
parameter.irbs.engine.remote.config.timeout = \u8D85\u65F6\u65F6\u95F4(\u6BEB\u79D2)
parameter.irbs.params = \u975E\u96F6\u552E\u5185\u8BC4\u53C2\u6570 parameter.irbs.params = \u975E\u96F6\u552E\u5185\u8BC4\u53C2\u6570
parameter.irbs.params.ratingProcess = \u5BA2\u6237\u8BC4\u7EA7\u6D41\u7A0B
parameter.irbs.params.ratingLevel = \u9700\u603B\u884C\u5BA1\u6279\u7684\u8BC4\u7EA7\u7B49\u7EA7 parameter.irbs.params.ratingLevel = \u9700\u603B\u884C\u5BA1\u6279\u7684\u8BC4\u7EA7\u7B49\u7EA7
parameter.irbs.params.overturnLevel = \u8BC4\u7EA7\u5411\u4E0A\u63A8\u7FFB\u51E0\u7EA7\u9700\u603B\u884C\u5BA1\u6279 parameter.irbs.params.overturnLevel = \u8BC4\u7EA7\u5411\u4E0A\u63A8\u7FFB\u51E0\u7EA7\u9700\u603B\u884C\u5BA1\u6279
parameter.irbs.params.monthRatingNum = \u5BA2\u6237\u4E00\u4E2A\u6708\u5185\u5141\u8BB8\u53D1\u8D77\u8BC4\u7EA7\u6B21\u6570 parameter.irbs.params.monthRatingNum = \u5BA2\u6237\u4E00\u4E2A\u6708\u5185\u5141\u8BB8\u53D1\u8D77\u8BC4\u7EA7\u6B21\u6570
parameter.irbs.params.isCheckCreditInvestigation = \u662F\u5426\u5F00\u542F\u5F81\u4FE1\u68C0\u67E5
parameter.irbs.params.creditInvestExpireNum = \u5F81\u4FE1\u8FC7\u671F\u6708\u6570 parameter.irbs.params.ratingUI = \u8BC4\u7EA7\u9875\u9762\u5C55\u793A
parameter.irbs.params.ratingReport.scoreDtl = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u5F97\u5206\u8BE6\u60C5 parameter.irbs.params.ratingUI.totalScore = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u603B\u5206
parameter.irbs.params.ratingReport.scoreDtl.auth = \u8BC4\u7EA7\u62A5\u544A\u5F97\u5206\u8BE6\u60C5\u67E5\u770B\u6743\u9650 parameter.irbs.params.ratingUI.index = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807
parameter.irbs.params.ratingUI.indexScore = \u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807\u5F97\u5206
parameter.irbs.params.ratingUI.report.scoreDtl = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u6307\u6807\u8BE6\u60C5
parameter.irbs.params.ratingUI.report.indexScore = \u8BC4\u7EA7\u62A5\u544A\u662F\u5426\u5C55\u793A\u5B9A\u91CF\u5B9A\u6027\u6307\u6807\u5F97\u5206
parameter.irbs.params.ratingUI.report.scoreDtlAuth = \u8BC4\u7EA7\u62A5\u544A\u5F97\u5206\u8BE6\u60C5\u67E5\u770B\u6743\u9650
parameter.irbs.params.gm = \u7070\u5EA6\u6A21\u578B
parameter.irbs.params.gm.enable = \u662F\u5426\u542F\u7528\u7070\u5EA6\u6A21\u578B parameter.irbs.params.gm.enable = \u662F\u5426\u542F\u7528\u7070\u5EA6\u6A21\u578B
parameter.irbs.params.gm.code = \u7070\u5EA6\u6A21\u578B\u7F16\u7801 parameter.irbs.params.gm.code = \u7070\u5EA6\u6A21\u578B\u7F16\u7801
parameter.irbs.params.default.cognizance.date = \u8FDD\u7EA6\u8BA4\u5B9A\u6709\u6548\u671F\u9ED8\u8BA4\u503C
parameter.irbs.params.default.rebirth.date = \u8FDD\u7EA6\u91CD\u751F\u6709\u6548\u671F\u9ED8\u8BA4\u503C parameter.irbs.params.isCheckCreditInvestigation = \u662F\u5426\u5F00\u542F\u5F81\u4FE1\u68C0\u67E5
parameter.irbs.params.creditInvestExpireNum = \u5F81\u4FE1\u8FC7\u671F\u6708\u6570
parameter.irbs.params.default.cognizance.date = \u8FDD\u7EA6\u8BA4\u5B9A\u6709\u6548\u671F\u9ED8\u8BA4\u503C(\u6708)
parameter.irbs.params.default.rebirth.date = \u8FDD\u7EA6\u91CD\u751F\u6709\u6548\u671F\u9ED8\u8BA4\u503C(\u6708)

1
irbs.frontend/src/views/custRating/CustRating.ts

@ -18,6 +18,7 @@ export const RatingLevelOptions = [
* *
*/ */
export const RatingStep = { export const RatingStep = {
CSWC: 'INIT_FINISH', // 初始化完成
KHXX: 'CUST_INFO', // 客户信息 KHXX: 'CUST_INFO', // 客户信息
DLFX: 'QUANTITATIVE', // 定量分析 DLFX: 'QUANTITATIVE', // 定量分析
DXFX: 'QUALITATIVE_EDIT', // 定性分析 DXFX: 'QUALITATIVE_EDIT', // 定性分析

2
irbs.frontend/src/views/custRating/CustRating.vue

@ -25,7 +25,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import { ref, shallowRef } from 'vue';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
import { Environment, EnumTools, DictionaryTools, Options, Formater, axios, NotifyManager, Tools } from 'platform-core'; import { Environment, EnumTools, DictionaryTools, Options, Formater, axios, NotifyManager, Tools } from 'platform-core';
import LaunchRatingDialog from './LaunchRatingDialog.vue'; import LaunchRatingDialog from './LaunchRatingDialog.vue';

7
irbs.frontend/src/views/custRating/GrayModelDialog.vue

@ -306,7 +306,12 @@ const loadRatingReport = async () => {
const groupMap = groupByProperties(resp.data.content, 'INDEX_TYPE'); const groupMap = groupByProperties(resp.data.content, 'INDEX_TYPE');
state.reportQuantitativeScoreDtl = groupByProperties(groupMap[RatingStep.DLFX], 'INDEX_CATEGORY'); state.reportQuantitativeScoreDtl = groupByProperties(groupMap[RatingStep.DLFX], 'INDEX_CATEGORY');
state.reportQualitativeScoreDtl = groupByProperties(groupMap[RatingStep.DXFX], 'INDEX_CATEGORY'); state.reportQualitativeScoreDtl = groupByProperties(groupMap[RatingStep.DXFX], 'INDEX_CATEGORY');
state.reportAdjustScoreDtl = groupByProperties(groupMap[RatingStep.PJTZX], 'INDEX_CATEGORY'); state.reportAdjustScoreDtl = groupByProperties(
groupMap[RatingStep.PJTZX].filter((item) => {
return item['INDEX_VALUE'] !== '0';
}),
'INDEX_CATEGORY',
);
} }
}) })
.catch((error) => { .catch((error) => {

846
irbs.frontend/src/views/custRating/RatingDialog.vue

File diff suppressed because it is too large

20
irbs.frontend/src/views/default/CognizanceDialog.vue

@ -162,7 +162,24 @@
:columns="[ :columns="[
{ name: 'creator', label: '处理人' }, { name: 'creator', label: '处理人' },
{ name: 'lastModifyDate', label: '提交时间' }, { name: 'lastModifyDate', label: '提交时间' },
{ name: 'isResult', label: '处理结果' }, {
name: 'isResult',
label: '处理结果',
format: (val) => {
if (val === '1') {
return '提交';
} else if (val === '2') {
return '通过';
} else if (val === '3') {
return '否决';
} else if (val === '4') {
return '撤销';
} else if (val === '5') {
return '退回';
}
return val;
},
},
{ name: 'remarks', label: '意见说明' }, { name: 'remarks', label: '意见说明' },
{ name: 'fileCount', label: '附件条数' }, { name: 'fileCount', label: '附件条数' },
]" ]"
@ -171,6 +188,7 @@
operator: 'equals', operator: 'equals',
value: state.data['id'], value: state.data['id'],
}" }"
:sort-by="['-lastModifyDate']"
:pagination="{ :pagination="{
reqPageStart: 1, reqPageStart: 1,
}" }"

19
irbs.frontend/src/views/default/RebirthDialog.vue

@ -142,7 +142,24 @@
:columns="[ :columns="[
{ name: 'creator', label: '处理人' }, { name: 'creator', label: '处理人' },
{ name: 'lastModifyDate', label: '提交时间' }, { name: 'lastModifyDate', label: '提交时间' },
{ name: 'isResult', label: '处理结果' }, {
name: 'isResult',
label: '处理结果',
format: (val) => {
if (val === '1') {
return '提交';
} else if (val === '2') {
return '通过';
} else if (val === '3') {
return '否决';
} else if (val === '4') {
return '撤销';
} else if (val === '5') {
return '退回';
}
return val;
},
},
{ name: 'remarks', label: '意见说明' }, { name: 'remarks', label: '意见说明' },
{ name: 'fileCount', label: '附件条数' }, { name: 'fileCount', label: '附件条数' },
]" ]"

147
irbs.frontend/src/views/report/RptRatingDistribution.vue

@ -1,17 +1,85 @@
<template> <template>
<div class="h-full"> <div class="h-full">
<w-grid <q-splitter v-model="splitterModel" horizontal class="h-full">
ref="rptRatingDistributionGridRef" <template #before>
title="客户评级分布报表" <w-grid
:data-url="Environment.apiContextPath('api/irbs/rptRatingDistribution/list')" ref="rptRatingDistributionGridRef"
:sort-no="true" title="客户评级分布报表"
:checkbox-selection="false" :data-url="Environment.apiContextPath('api/irbs/rptRatingDistribution/list')"
:query-form-cols-num="3" :sort-no="true"
:query-form-fields="rptRatingDistributionGrid.queryFormFields" :dense="true"
:columns="rptRatingDistributionGrid.columns" :checkbox-selection="false"
:toolbar-actions="rptRatingDistributionGrid.buttons" :query-form-cols-num="3"
:pageable="false" :query-form-fields="rptRatingDistributionGrid.queryFormFields"
></w-grid> :columns="rptRatingDistributionGrid.columns"
:toolbar-actions="rptRatingDistributionGrid.buttons"
:pageable="false"
></w-grid>
</template>
<template #after>
<w-echarts
:option="{
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
},
grid: {
top: '10%',
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
dataZoom: [
{
type: 'slider',
show: true, //
borderColor: '#e3e3e3', //
showDetail: false, // detail
startValue: 0, //
endValue: 8, //
filterMode: 'empty',
width: '80%', //
height: 8, //
left: 'center', //
zoomLoxk: true, //
handleSize: 0, //
bottom: 0, //
},
{
type: 'inside',
zoomOnMouseWheel: false, //
moveOnMouseMove: true, //
moveOnMouseWheel: true, //
},
],
xAxis: {
type: 'category',
data: ['AAA', 'AA', 'A', 'BBB', 'BB', 'B', 'CCC', 'CC', 'C', 'D'],
axisTick: {
alignWithLabel: true,
},
},
yAxis: [
{
type: 'value',
},
],
series: [
{
name: '数量',
type: 'bar',
barWidth: '20%',
data: [1, 2, 3, 4, 5, 6, 7, 8, 9],
},
],
}"
></w-echarts>
</template>
</q-splitter>
</div> </div>
</template> </template>
@ -19,9 +87,11 @@
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
import { Environment, EnumTools, DictionaryTools, Options, Formater, axios, NotifyManager } from 'platform-core'; import { Environment, EnumTools, DictionaryTools, Options, Formater, axios, NotifyManager } from 'platform-core';
import { Round } from '@/views/custRating/CustRating.ts';
const $q = useQuasar(); const $q = useQuasar();
const rptRatingDistributionGridRef = ref(); const rptRatingDistributionGridRef = ref();
const splitterModel = ref(60);
const rptRatingDistributionGrid = { const rptRatingDistributionGrid = {
buttons: [ buttons: [
@ -37,6 +107,7 @@ const rptRatingDistributionGrid = {
'reset', 'reset',
'separator', 'separator',
'export', 'export',
'separator',
], ],
queryFormFields: [ queryFormFields: [
{ label: '报表日期', name: 'ratingMonth', type: 'date', defaultValue: '2023-07-01' }, { label: '报表日期', name: 'ratingMonth', type: 'date', defaultValue: '2023-07-01' },
@ -102,13 +173,23 @@ const rptRatingDistributionGrid = {
}, },
], ],
columns: [ columns: [
{ label: '评级等级', name: 'ratingLevel', align: 'center' }, { label: '<span>评级</span><br/>等级', name: 'ratingLevel', align: 'center' },
{ {
label: '全部客户', label: '全部客户',
name: 'totalCustHeader', name: 'totalCustHeader',
columns: [ columns: [
{ label: '客户数', name: 'custCnt', align: 'center' }, { label: '客户数', name: 'custCnt', align: 'center' },
{ label: '占比', name: 'custRatio', align: 'center' }, {
label: '占比',
name: 'custRatio',
align: 'center',
format: (val) => {
if (val && typeof val === 'number') {
return Round(val * 100, 2) + '%';
}
return val;
},
},
], ],
}, },
{ {
@ -116,7 +197,17 @@ const rptRatingDistributionGrid = {
name: 'currInctCustHeader', name: 'currInctCustHeader',
columns: [ columns: [
{ label: '客户数', name: 'currInctCnt', align: 'center' }, { label: '客户数', name: 'currInctCnt', align: 'center' },
{ label: '占比', name: 'currInctRatio', align: 'center' }, {
label: '占比',
name: 'currInctRatio',
align: 'center',
format: (val) => {
if (val && typeof val === 'number') {
return Round(val * 100, 2) + '%';
}
return val;
},
},
], ],
}, },
{ {
@ -124,15 +215,35 @@ const rptRatingDistributionGrid = {
name: 'defCustHeader', name: 'defCustHeader',
columns: [ columns: [
{ label: '客户数', name: 'defCustCnt', align: 'center' }, { label: '客户数', name: 'defCustCnt', align: 'center' },
{ label: '违约率', name: 'defCustRatio', align: 'center' }, {
label: '违约率',
name: 'defCustRatio',
align: 'center',
format: (val) => {
if (val && typeof val === 'number') {
return Round(val * 100, 2) + '%';
}
return val;
},
},
], ],
}, },
{ {
label: '信贷余额', label: '信贷余额',
name: 'borrBalHeader', name: 'borrBalHeader',
columns: [ columns: [
{ label: '余额', name: 'borrBal', align: 'center' }, { label: '余额', name: 'borrBal', align: 'center', format: Formater.thousands() },
{ label: '占比', name: 'borrBalRatio', align: 'center' }, {
label: '占比',
name: 'borrBalRatio',
align: 'center',
format: (val) => {
if (val && typeof val === 'number') {
return Round(val * 100, 2) + '%';
}
return val;
},
},
], ],
}, },
], ],

2
irbs.frontend/src/views/workbench/TodoTask.vue

@ -13,7 +13,7 @@
:pagination="{ :pagination="{
reqPageStart: 1, reqPageStart: 1,
}" }"
:sort-by="['-START_TIME']" :sort-by="['-CREATE_TIME']"
></w-grid> ></w-grid>
<RatingDialog ref="ratingDialogRef" @refresh="refresh"></RatingDialog> <RatingDialog ref="ratingDialogRef" @refresh="refresh"></RatingDialog>
<CognizanceDialog ref="cognizanceDialogRef" @refresh="refresh"></CognizanceDialog> <CognizanceDialog ref="cognizanceDialogRef" @refresh="refresh"></CognizanceDialog>

Loading…
Cancel
Save