Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
京
京能客户端
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王亚宁
京能客户端
Commits
d45e3f29
Commit
d45e3f29
authored
Jun 12, 2024
by
黄重
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交结构话修改代码
parent
c37b8c75
Changes
37
Show whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
1397 additions
and
2765 deletions
+1397
-2765
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/composite/AiEvalLeftButton.java
...om/gx/obe/evaluation/step/composite/AiEvalLeftButton.java
+165
-0
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/composite/FactorEvaluationComposite.java
.../evaluation/step/composite/FactorEvaluationComposite.java
+68
-32
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/dialog/ShowViewAiProcessDialog.java
...x/obe/evaluation/step/dialog/ShowViewAiProcessDialog.java
+103
-0
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/review/composite/ScoreEvaluationTableComposite.java
.../step/review/composite/ScoreEvaluationTableComposite.java
+1
-1
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/shell/ShowAiProcessShell.java
.../com/gx/obe/evaluation/step/shell/ShowAiProcessShell.java
+198
-0
BID-EVALUATION/splash.bmp
BID-EVALUATION/splash.bmp
+0
-0
BID-OPENING/splash.bmp
BID-OPENING/splash.bmp
+0
-0
BID-OPENING/src/com/gx/obe/opening/thread/RemoteDecryptStatusThread.java
.../com/gx/obe/opening/thread/RemoteDecryptStatusThread.java
+1
-0
OBE-COMMON-ICONS/icons/login/logo.png
OBE-COMMON-ICONS/icons/login/logo.png
+0
-0
OBE-COMPONENTS-CORE/resource/bidder.xml
OBE-COMPONENTS-CORE/resource/bidder.xml
+26
-26
OBE-COMPONENTS-CORE/src/com/gx/obe/components/core/vo/Finance.java
...NENTS-CORE/src/com/gx/obe/components/core/vo/Finance.java
+85
-0
OBE-COMPONENTS-CORE/src/com/gx/obe/components/core/vo/TableXML.java
...ENTS-CORE/src/com/gx/obe/components/core/vo/TableXML.java
+14
-2
OBE-COMPONENTS-MESSAGES/bin/com/gx/obe/message/messages.properties
...NENTS-MESSAGES/bin/com/gx/obe/message/messages.properties
+4
-30
OBE-COMPONENTS-MESSAGES/src/com/gx/obe/message/Messages.java
OBE-COMPONENTS-MESSAGES/src/com/gx/obe/message/Messages.java
+30
-28
OBE-COMPONENTS-MESSAGES/src/com/gx/obe/message/messages.properties
...NENTS-MESSAGES/src/com/gx/obe/message/messages.properties
+4
-30
OBE-MANAGEMENT/src/com/gx/obe/management/text/ExcelTest.java
OBE-MANAGEMENT/src/com/gx/obe/management/text/ExcelTest.java
+197
-0
OBE-MANAGEMENT/src/com/gx/obe/management/text/PoiModel.java
OBE-MANAGEMENT/src/com/gx/obe/management/text/PoiModel.java
+54
-0
OBE-REPORT/META-INF/MANIFEST.MF
OBE-REPORT/META-INF/MANIFEST.MF
+2
-0
OBE-REPORT/src/com/gx/obe/report/dataset/excel/ScoreDetailedDateSet.java
...com/gx/obe/report/dataset/excel/ScoreDetailedDateSet.java
+2
-0
OBE-REPORT/src/com/gx/obe/report/dataset/excel/TechnicalComparisonDateSet.java
.../obe/report/dataset/excel/TechnicalComparisonDateSet.java
+198
-0
com.gx.obe.common.file/src/com/gx/obe/common/file/utils/ParsingXmlUtils.java
...ile/src/com/gx/obe/common/file/utils/ParsingXmlUtils.java
+10
-4
com.gx.obe.component/src/com/gx/obe/component/comparison/ComparisonData.java
...t/src/com/gx/obe/component/comparison/ComparisonData.java
+9
-1
com.gx.obe.component/src/com/gx/obe/component/comparison/ComparisonTable.java
.../src/com/gx/obe/component/comparison/ComparisonTable.java
+74
-21
com.gx.obe.struct/META-INF/MANIFEST.MF
com.gx.obe.struct/META-INF/MANIFEST.MF
+1
-2
com.gx.obe.struct/build.properties
com.gx.obe.struct/build.properties
+1
-0
com.gx.obe.struct/src/com/gx/obe/struct/beans/Finance.java
com.gx.obe.struct/src/com/gx/obe/struct/beans/Finance.java
+0
-372
com.gx.obe.struct/src/com/gx/obe/struct/beans/StructDateInfo.java
...be.struct/src/com/gx/obe/struct/beans/StructDateInfo.java
+2
-0
com.gx.obe.struct/src/com/gx/obe/struct/beans/Td.java
com.gx.obe.struct/src/com/gx/obe/struct/beans/Td.java
+4
-4
com.gx.obe.struct/src/com/gx/obe/struct/composite/ClearBidReviewEntryComposite.java
...gx/obe/struct/composite/ClearBidReviewEntryComposite.java
+0
-317
com.gx.obe.struct/src/com/gx/obe/struct/composite/EvaluationContentComposite.java
...m/gx/obe/struct/composite/EvaluationContentComposite.java
+0
-242
com.gx.obe.struct/src/com/gx/obe/struct/composite/ModelDataComposite.java
...t/src/com/gx/obe/struct/composite/ModelDataComposite.java
+0
-129
com.gx.obe.struct/src/com/gx/obe/struct/composite/TemplateTableComparisonComposite.java
...be/struct/composite/TemplateTableComparisonComposite.java
+115
-24
com.gx.obe.struct/src/com/gx/obe/struct/composite/TemplateTableListComposite.java
...m/gx/obe/struct/composite/TemplateTableListComposite.java
+1
-1
com.gx.obe.struct/src/com/gx/obe/struct/factory/ModelDataFactory.java
...truct/src/com/gx/obe/struct/factory/ModelDataFactory.java
+0
-1481
com.gx.obe.struct/src/com/gx/obe/struct/service/FinanceService.java
....struct/src/com/gx/obe/struct/service/FinanceService.java
+1
-1
com.gx.obe.struct/src/com/gx/obe/struct/thread/ParsingStructThread.java
...uct/src/com/gx/obe/struct/thread/ParsingStructThread.java
+0
-8
com.gx.obe.struct/src/com/gx/obe/struct/utils/ParsingStructXmlUtils.java
...ct/src/com/gx/obe/struct/utils/ParsingStructXmlUtils.java
+27
-9
No files found.
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/composite/AiEvalLeftButton.java
0 → 100644
View file @
d45e3f29
package
com
.
gx
.
obe
.
evaluation
.
step
.
composite
;
import
java.io.File
;
import
java.io.IOException
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.CallBack
;
import
org.eclipse.swt.core.widgets.ImageButton
;
import
org.eclipse.swt.events.MouseAdapter
;
import
org.eclipse.swt.events.MouseEvent
;
import
org.eclipse.swt.events.MouseListener
;
import
org.eclipse.swt.events.MouseTrackAdapter
;
import
org.eclipse.swt.graphics.Color
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Display
;
import
com.gx.obe.ColorConstants
;
import
com.gx.obe.WebserviceConstants
;
import
com.gx.obe.business.http.HttpResponse
;
import
com.gx.obe.business.http.HttpUrl
;
import
com.gx.obe.business.http.HttpUtils
;
import
com.gx.obe.common.file.enumeration.FileConstants
;
import
com.gx.obe.common.file.http.HttpURLDown
;
import
com.gx.obe.common.icons.IconsActivator
;
import
com.gx.obe.components.core.enumeration.CommonEnum
;
import
com.gx.obe.config.utils.PropertiesUtils
;
import
com.gx.obe.evaluation.step.shell.ShowAiProcessShell
;
import
com.gx.obe.evaluation.step.widgets.EvalLeftGroupButton
;
import
com.gx.obe.evaluation.step.widgets.LeftMenuMouseAdapter
;
import
com.gx.obe.message.Messages
;
import
com.gx.obe.util.utils.ObjectUtils
;
import
com.gx.obe.util.utils.RuntimeUtils
;
import
com.gx.obe.util.utils.StringUtils
;
import
com.gx.obe.web.entity.tender.TenderProjectEntity
;
import
com.swtdesigner.ResourceManager
;
import
com.swtdesigner.SWTResourceManager
;
public
class
AiEvalLeftButton
extends
ImageButton
{
private
TenderProjectEntity
curTender
;
// private ShowAiProcessShell menuTipShell;
private
MouseListener
listener
;
private
ShowAiProcessShell
showAiProcessShell
;
public
static
Color
BG
=
ColorConstants
.
SKIN_BG
;
public
AiEvalLeftButton
(
Composite
parent
,
int
style
,
TenderProjectEntity
curTender
)
{
super
(
parent
,
SWT
.
CENTER
|
SWT
.
NONE
);
this
.
setTopMargin
(
3
);
this
.
setBottomMargin
(
3
);
this
.
setLeftMargin
(
5
);
this
.
setRightMargin
(
5
);
this
.
setImage
(
ResourceManager
.
getPluginImage
(
IconsActivator
.
PLUGIN_ID
,
"icons/evaluaton_step/default.png"
));
this
.
curTender
=
curTender
;
// button.setCursor(SWTResourceManager.getCursor(SWT.CURSOR_HAND));
// button.setSurroundColor(SWTResourceManager.getColor(60, 138, 226));
this
.
setFont
(
SWTResourceManager
.
getFont
(
"微软雅黑"
,
10
,
SWT
.
NORMAL
));
this
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
// this.setBorderColor(SWTResourceManager.getColor(SWT.COLOR_WHITE));
this
.
setActiveBgColor
(
BG
);
this
.
setActiveBgColor
(
SWTResourceManager
.
getColor
(
255
,
153
,
0
));
// this.setActiveSurroundColor(SWTResourceManager.getColor(255, 153, 0));
this
.
setActiveForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
// this.setActiveSurroundColor(SWTResourceManager.getColor(SWT.COLOR_WHITE));
this
.
setSelectionBgColor
(
ColorConstants
.
SKIN_SELECTION_BG
);
// this.setSelectionBorderColor(SWTResourceManager.getColor(255, 153, 0));
this
.
setArcWidth
(
6
);
// button.setText(Messages.Button_reduce);
// button.setSurroundMargin(2);
// button.setFillSurround(false);
init
();
}
public
void
init
(){
addMouseTrackListener
(
new
MouseTrackAdapter
()
{
@Override
public
void
mouseEnter
(
MouseEvent
e
)
{
HttpUrl
httpUrl
=
HttpUtils
.
getProjectHttpUrl
(
curTender
,
PropertiesUtils
.
getWebserviceProperty
(
WebserviceConstants
.
GET_AI_RESULT_METHOD
,
"bidOpeningHS.do?downloadOpenBidSupplierAiResult"
));
HttpResponse
httpResponse
=
HttpUtils
.
doPost
(
httpUrl
);
downloadBiddingFile
(
httpResponse
);
// showAiProcessShell = new ShowAiProcessShell(getShell(), EvalLeftButton1.this, 0, "");
// if(null != showAiProcessShell && !showAiProcessShell.isDisposed()){
// showAiProcessShell.open();
//// showAiProcessShell.setVisible(true);
// }
}
//
// @Override
// public void mouseExit(MouseEvent e) {
// if(null != menuTipShell && !menuTipShell.isDisposed()){
// menuTipShell.close();
// }
// super.mouseExit(e);
// }
});
}
private
void
downloadBiddingFile
(
HttpResponse
httpResponse
){
String
downUrl
=
""
;
if
(
null
==
httpResponse
.
getContent
()
||
""
.
equals
(
httpResponse
.
getContent
())){
// LOG.debug("服务器返回数据为空!");
// callBackMsg(false, "服务器返回数据为空!");
// callBackMsg(false, "未获取到下载地址!");
return
;
}
String
packageAiType
=
httpResponse
.
getDataParam
(
"packageAiType"
);
downUrl
=
httpResponse
.
getDataParam
(
"downUrl"
);
if
(
StringUtils
.
isNotEmpty
(
packageAiType
)
&&
packageAiType
.
equals
(
CommonEnum
.
YES
)
&&
StringUtils
.
isNotEmpty
(
downUrl
)
){
// LOG.debug("下载地址获取成功"+downUrl);
// callBackMsg(true, "下载地址获取成功,开始解析下载地址...");
String
downLoadPath
=
new
File
(
FileConstants
.
getBiddingFilePath
(
curTender
.
getId
())
+
"ai.pdf"
).
getAbsolutePath
();
downLoadFile
(
downUrl
,
downLoadPath
);
}
else
{
String
progress
=
httpResponse
.
getDataParam
(
"progress"
);
String
waitTime
=
httpResponse
.
getDataParam
(
"waitTime"
);
showAiProcessShell
=
new
ShowAiProcessShell
(
getShell
(),
AiEvalLeftButton
.
this
,
ObjectUtils
.
getIntValue
(
progress
,
0
),
waitTime
);
showAiProcessShell
.
open
();
// ShowViewAiProcessDialog showViewAiProcessDialog = new ShowViewAiProcessDialog(getShell(), ObjectUtils.getIntValue(progress, 0), waitTime);
// showViewAiProcessDialog.open();
// callBackMsg(false, "获取下载地址失败!");
}
}
private
void
downLoadFile
(
String
downLoadUrl
,
String
savePath
){
// callBackMsg("开始下载招标文件...");
HttpURLDown
httpURLDown
=
new
HttpURLDown
(
downLoadUrl
,
savePath
,
new
CallBack
()
{
});
try
{
boolean
downFlag
=
httpURLDown
.
downLoad
(
"标书比对相似度分析"
);
// callBackMsg("招标文件下载结束!");
// 下载成功并且是.zip文件才进行解压操作
if
(
downFlag
){
final
AiEvalLeftButton
groupButton
=
AiEvalLeftButton
.
this
;
groupButton
.
setToolTipText
(
"标书比对相似度分析"
);
if
(
null
==
listener
)
{
listener
=
new
MouseAdapter
()
{
public
void
mouseUp
(
MouseEvent
e
)
{
if
(!
groupButton
.
getEnabled
())
return
;
RuntimeUtils
.
openFIle
(
new
File
(
savePath
));
}
};
groupButton
.
addMouseListener
(
listener
);
}
// unZipFile(savePath, FileConstants.getBiddingFilePath(curTender.getId()));
}
}
catch
(
IOException
e
)
{
// LOG.error("招标文件下载失败", e);
// callBackMsg("招标文件下载文件出现错误");
// callBackMsg("错误信息为:"+e.getMessage());
return
;
}
}
// HttpUrl httpUrl = HttpUtils.getProjectHttpUrl(curTender, PropertiesUtils.getWebserviceProperty(WebserviceConstants.GET_AI_RESULT_METHOD, "bidOpeningHS.do?downloadOpenBidSupplierAiResult"));
// HttpResponse httpResponse = HttpUtils.doPost(httpUrl);
// downloadBiddingFile(httpResponse);
}
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/composite/FactorEvaluationComposite.java
View file @
d45e3f29
...
...
@@ -50,7 +50,6 @@ import org.eclipse.swt.widgets.Listener;
import
org.eclipse.swt.widgets.Text
;
import
com.gx.obe.ColorConstants
;
import
com.gx.obe.WebserviceConstants
;
import
com.gx.obe.answer.dialog.ImportAnswerQuestionDialog
;
import
com.gx.obe.answer.dialog.InquireEnvelopListDialog
;
import
com.gx.obe.bidata.action.BidDataAction
;
...
...
@@ -60,8 +59,6 @@ import com.gx.obe.bidata.vo.SupplierDTO;
import
com.gx.obe.business.entity.MenuFunction
;
import
com.gx.obe.business.enumeration.MenuFunctionEnum
;
import
com.gx.obe.business.http.HttpResponse
;
import
com.gx.obe.business.http.HttpUrl
;
import
com.gx.obe.business.http.HttpUtils
;
import
com.gx.obe.common.file.dialog.BidFileLocalBorwseDialog
;
import
com.gx.obe.common.file.entity.BidFile
;
import
com.gx.obe.common.file.entity.BiddingFile
;
...
...
@@ -95,7 +92,7 @@ import com.gx.obe.evaluation.step.listener.EvaluationSupplierFactorListener;
import
com.gx.obe.evaluation.step.review.composite.ComplianceEvaluationTableComposite
;
import
com.gx.obe.evaluation.step.review.composite.ScoreEvaluationTableComposite
;
import
com.gx.obe.evaluation.step.shell.ListEvaluationItemShell
;
import
com.gx.obe.evaluation.step.shell.
MeetingRoomOpen
Shell
;
import
com.gx.obe.evaluation.step.shell.
ShowAiProcess
Shell
;
import
com.gx.obe.evaluation.step.shell.ShowCompareSupplierListShell
;
import
com.gx.obe.evaluation.step.widgets.EvalLeftGroupButton
;
import
com.gx.obe.evaluation.step.widgets.LeftMenuEnum
;
...
...
@@ -243,7 +240,8 @@ public class FactorEvaluationComposite extends EvaluationView {
private
Map
<
String
,
String
>
supplierNameMap
=
new
HashMap
<
String
,
String
>();
private
Composite
buttonComposite
;
private
TemplateTableListComposite
templateTableListComposite
;
private
EvalLeftButton
viewAI_btn
;
private
AiEvalLeftButton
viewAI_btn
;
private
ShowAiProcessShell
showAiProcessShell
;
{
LogUtils
.
logClass
(
FactorEvaluationComposite
.
class
);
...
...
@@ -390,8 +388,32 @@ public class FactorEvaluationComposite extends EvaluationView {
menuFunctionUtils
.
addFunction
(
moreTools
,
"EVALUATION_VIEW_MORE"
);
viewAI_btn
=
new
EvalLeftButton
(
left_tool_composite
,
SWT
.
NONE
);
viewAI_btn
=
new
AiEvalLeftButton
(
left_tool_composite
,
SWT
.
NONE
,
curTender
);
// viewAI_btn.addFocusListener(new FocusAdapter() {
// @Override
// public void focusLost(FocusEvent e) {
//// TODO
// if(null != showAiProcessShell && !showAiProcessShell.isDisposed()) {
// showAiProcessShell.close();
// }
//
// }
// });
// viewAI_btn.addMouseTrackListener(new MouseTrackAdapter() {
// @Override
// public void mouseEnter(MouseEvent e) {
// viewAiAction();
// }
////
//// @Override
//// public void mouseExit(MouseEvent e) {
//// if(null != showAiProcessShell && !showAiProcessShell.isDisposed()) {
//// showAiProcessShell.close();
////// showAiProcessShell.dispose();
//// }
//// }
//
// });
viewAI_btn
.
setImage
(
ResourceManager
.
getPluginImage
(
IconsActivator
.
PLUGIN_ID
,
"icons/btn/white/view.png"
));
viewAI_btn
.
setText
(
""
);
viewAI_btn
.
setToolTipText
(
"标书查重"
);
...
...
@@ -400,7 +422,7 @@ public class FactorEvaluationComposite extends EvaluationView {
viewAiAction
();
}
});
viewAI_btn
.
setVisible
(
false
);
//
viewAI_btn.setVisible(false);
// menuFunctionUtils.addFunction(viewAI_btn, "EVALUATION_VIEW_AI");
ESepator
toolv_sepator
=
new
ESepator
(
this
,
SWT
.
VERTICAL
);
...
...
@@ -501,6 +523,8 @@ public class FactorEvaluationComposite extends EvaluationView {
localFile_link
.
setImage
(
ResourceManager
.
getPluginImage
(
IconsActivator
.
PLUGIN_ID
,
"icons/btn/blue/location.png"
));
localFile_link
.
setText
(
Messages
.
Button_viewLocalFiles
);
menuFunctionUtils
.
addFunction
(
localFile_link
,
"VIEW_LOCAL_FILE"
);
new
Label
(
supplier_composite
,
SWT
.
NONE
);
new
Label
(
supplier_composite
,
SWT
.
NONE
);
ESepator
supllerSep
=
new
ESepator
(
right_composite
,
SWT
.
HORIZONTAL
);
supllerSep
.
setBackground
(
ColorConstants
.
SEP_LIGHT_COLOR
);
...
...
@@ -993,7 +1017,7 @@ public class FactorEvaluationComposite extends EvaluationView {
*/
private
void
init
()
{
viewAI_btn
.
setEnabled
(
false
);
//
viewAI_btn.setEnabled(false);
menuFunctionUtils
.
initFunctionAuthority
(
menu
);
initShowButton
();
initLayoutPanelGroup
();
...
...
@@ -1118,13 +1142,11 @@ public class FactorEvaluationComposite extends EvaluationView {
evaluationTable
=
new
ScoreEvaluationTableComposite
(
evaluation_talbe_composite
,
SWT
.
NONE
);
}
}
new
Thread
(
new
Runnable
()
{
public
void
run
()
{
HttpUrl
httpUrl
=
HttpUtils
.
getProjectHttpUrl
(
curTender
,
PropertiesUtils
.
getWebserviceProperty
(
WebserviceConstants
.
GET_AI_RESULT_METHOD
,
"tBOpenBidSupplierAiController.do?downloadOpenBidSupplierAiResult"
));
HttpResponse
httpResponse
=
HttpUtils
.
doPost
(
httpUrl
);
downloadBiddingFile
(
httpResponse
);
}
}).
start
();
// new Thread(new Runnable() {
// public void run() {
//
// }
// }).start();
// 刷新评标界面
refreshAction
();
}
...
...
@@ -2677,14 +2699,24 @@ public class FactorEvaluationComposite extends EvaluationView {
// callBackMsg(false, "未获取到下载地址!");
return
;
}
String
packageAiType
=
httpResponse
.
getDataParam
(
"packageAiType"
);
downUrl
=
httpResponse
.
getDataParam
(
"downUrl"
);
if
(
StringUtils
.
isNotEmpty
(
downUrl
)
){
if
(
StringUtils
.
isNotEmpty
(
packageAiType
)
&&
packageAiType
.
equals
(
CommonEnum
.
YES
)
&&
StringUtils
.
isNotEmpty
(
downUrl
)
){
// LOG.debug("下载地址获取成功"+downUrl);
// callBackMsg(true, "下载地址获取成功,开始解析下载地址...");
String
downLoadPath
=
new
File
(
FileConstants
.
getBiddingFilePath
(
curTender
.
getId
())
+
"ai.pdf"
).
getAbsolutePath
();
downLoadFile
(
downUrl
,
downLoadPath
);
}
else
{
String
progress
=
httpResponse
.
getDataParam
(
"progress"
);
String
waitTime
=
httpResponse
.
getDataParam
(
"waitTime"
);
showAiProcessShell
=
new
ShowAiProcessShell
(
getShell
(),
viewAI_btn
,
ObjectUtils
.
getIntValue
(
progress
,
0
),
waitTime
);
showAiProcessShell
.
open
();
// ShowViewAiProcessDialog showViewAiProcessDialog = new ShowViewAiProcessDialog(getShell(), ObjectUtils.getIntValue(progress, 0), waitTime);
// showViewAiProcessDialog.open();
// callBackMsg(false, "获取下载地址失败!");
}
}
...
...
@@ -2703,7 +2735,7 @@ public class FactorEvaluationComposite extends EvaluationView {
public
void
run
()
{
viewAI_btn
.
setVisible
(
true
);
viewAI_btn
.
getParent
().
layout
();
viewAI_btn
.
setEnabled
(
true
);
//
viewAI_btn.setEnabled(true);
}
});
}
...
...
@@ -2719,19 +2751,23 @@ public class FactorEvaluationComposite extends EvaluationView {
* 标书查重功能
*/
private
void
viewAiAction
()
{
if
(
viewAI_btn
.
getEnabled
())
{
// MeetingRoomOpenShell myEvaluationShell = new MeetingRoomOpenShell(getShell(), curTender);
// Composite parent = myEvaluationShell.getParentComposite();
// parent.setData("tenderProjectEntity", curTender);
// parent.setData("menu", menu);
// new AiFileComposite(parent, SWT.NONE);
// myEvaluationShell.open();
String
downLoadPath
=
new
File
(
FileConstants
.
getBiddingFilePath
(
curTender
.
getId
())
+
"ai.pdf"
).
getAbsolutePath
();
File
file
=
new
File
(
downLoadPath
);
if
(
file
.
exists
())
{
RuntimeUtils
.
openFIle
(
file
);
}
}
// HttpUrl httpUrl = HttpUtils.getProjectHttpUrl(curTender, PropertiesUtils.getWebserviceProperty(WebserviceConstants.GET_AI_RESULT_METHOD, "bidOpeningHS.do?downloadOpenBidSupplierAiResult"));
// HttpResponse httpResponse = HttpUtils.doPost(httpUrl);
// downloadBiddingFile(httpResponse);
// if(viewAI_btn.getEnabled()) {
//// MeetingRoomOpenShell myEvaluationShell = new MeetingRoomOpenShell(getShell(), curTender);
//// Composite parent = myEvaluationShell.getParentComposite();
//// parent.setData("tenderProjectEntity", curTender);
//// parent.setData("menu", menu);
//// new AiFileComposite(parent, SWT.NONE);
//// myEvaluationShell.open();
// String downLoadPath = new File(FileConstants.getBiddingFilePath(curTender.getId()) + "ai.pdf").getAbsolutePath();
// File file = new File(downLoadPath);
// if(file.exists()) {
// RuntimeUtils.openFIle(file);
// }
// }
}
protected
void
checkSubclass
()
{}
...
...
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/dialog/ShowViewAiProcessDialog.java
0 → 100644
View file @
d45e3f29
package
com
.
gx
.
obe
.
evaluation
.
step
.
dialog
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.widgets.EDialog
;
import
org.eclipse.swt.graphics.Point
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Control
;
import
org.eclipse.swt.widgets.Label
;
import
org.eclipse.swt.widgets.ProgressBar
;
import
org.eclipse.swt.widgets.Shell
;
import
com.gx.obe.message.Messages
;
import
org.eclipse.wb.swt.SWTResourceManager
;
/**
* @Description: 审核
* @author chenxw
*/
public
class
ShowViewAiProcessDialog
extends
EDialog
{
private
Composite
messageComposite
;
private
int
pointY
=
120
;
private
boolean
isAdopt
=
true
;
private
AuditListener
listener
;
private
Label
lblNewLabel_1
;
private
int
process
;
private
String
needTime
;
/**
* Create the dialog.
*
* @param parentShell
* @param callBack
*/
public
ShowViewAiProcessDialog
(
Shell
parentShell
,
int
process
,
String
needTime
)
{
super
(
parentShell
);
setTitle
(
"标书相似度分析进度..."
);
this
.
process
=
process
;
this
.
needTime
=
needTime
;
}
/**
* Create contents of the dialog.
*
* @param parent
*/
@Override
protected
Control
createDialogArea
(
Composite
parent
)
{
Composite
container
=
(
Composite
)
super
.
createDialogArea
(
parent
);
container
.
setLayout
(
new
GridLayout
(
1
,
false
));
messageComposite
=
new
Composite
(
container
,
SWT
.
NONE
);
messageComposite
.
setLayout
(
new
GridLayout
(
4
,
false
));
messageComposite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
false
,
1
,
1
));
// messageComposite.setVisible(false);
Label
lblNewLabel
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
lblNewLabel
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
));
lblNewLabel
.
setText
(
Messages
.
ShowViewAiProcessDialog_lblNewLabel_text
);
lblNewLabel_1
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel_1
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
GridData
gd_lblNewLabel_1
=
new
GridData
(
SWT
.
LEFT
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
);
gd_lblNewLabel_1
.
widthHint
=
40
;
lblNewLabel_1
.
setLayoutData
(
gd_lblNewLabel_1
);
lblNewLabel_1
.
setText
(
process
+
"%"
);
Label
lblNewLabel_2
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel_2
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
lblNewLabel_2
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
));
lblNewLabel_2
.
setText
(
" 预计还需要:"
);
Label
lblNewLabel_3
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel_3
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
lblNewLabel_3
.
setText
(
needTime
);
ProgressBar
progressBar
=
new
ProgressBar
(
container
,
SWT
.
NONE
);
progressBar
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
progressBar
.
setSelection
(
process
);
return
container
;
}
public
interface
AuditListener
{
void
audit
(
boolean
isAdopt
,
String
message
);
boolean
isSuccess
();
}
public
void
addAuditListener
(
AuditListener
listener
)
{
this
.
listener
=
listener
;
}
/**
* Return the initial size of the dialog.
*/
@Override
protected
Point
getInitialSize
()
{
return
new
Point
(
667
,
110
);
}
}
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/review/composite/ScoreEvaluationTableComposite.java
View file @
d45e3f29
...
...
@@ -1838,7 +1838,7 @@ public class ScoreEvaluationTableComposite extends Composite implements IEvaluat
*/
private
void
showFactorEvaluationOpinion
(
EvaluationFactorResult
evalFactorResult
){
if
(
null
!=
evalFactorResult
){
System
.
out
.
println
(
"第一处"
+
ObjectUtils
.
getObjString
(
evalFactorResult
.
getEvaluationOpinion
()));
//
System.out.println("第一处"+ObjectUtils.getObjString(evalFactorResult.getEvaluationOpinion()));
factor_evaluation_opinion
.
setText
(
ObjectUtils
.
getObjString
(
evalFactorResult
.
getEvaluationOpinion
()));
factor_evaluation_opinion
.
setToolTipText
(
ObjectUtils
.
getObjString
(
factor_evaluation_opinion
.
getText
()));
factor_evaluation_opinion
.
setData
(
"evalFactorResult"
,
evalFactorResult
);
...
...
BID-EVALUATION-STEP/src/com/gx/obe/evaluation/step/shell/ShowAiProcessShell.java
0 → 100644
View file @
d45e3f29
package
com
.
gx
.
obe
.
evaluation
.
step
.
shell
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.utils.SwtUtils
;
import
org.eclipse.swt.core.widgets.ImageButton
;
import
org.eclipse.swt.events.MouseEvent
;
import
org.eclipse.swt.events.MouseTrackAdapter
;
import
org.eclipse.swt.graphics.Point
;
import
org.eclipse.swt.graphics.Rectangle
;
import
org.eclipse.swt.graphics.Region
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Display
;
import
org.eclipse.swt.widgets.Event
;
import
org.eclipse.swt.widgets.Label
;
import
org.eclipse.swt.widgets.Listener
;
import
org.eclipse.swt.widgets.ProgressBar
;
import
org.eclipse.swt.widgets.Shell
;
import
com.gx.obe.evaluation.step.composite.AiEvalLeftButton
;
import
com.gx.obe.message.Messages
;
import
com.swtdesigner.SWTResourceManager
;
/**
* @Description:
* @author guoyr
*/
public
class
ShowAiProcessShell
extends
Shell
{
// private Composite composite;
private
AiEvalLeftButton
groupMenuBtn
;
private
ImageButton
curBtn
;
private
Composite
curComposite
;
private
Composite
composite
;
private
Composite
messageComposite
;
private
Label
lblNewLabel_1
;
private
Listener
deactivateListener
;
// private int process;
// private String needTime;
/**
* Create the shell.
* @param display
*/
public
ShowAiProcessShell
(
final
Shell
shell
,
AiEvalLeftButton
shortMenu
,
int
process
,
String
needTime
)
{
super
(
shell
,
SWT
.
NO_TRIM
|
SWT
.
TOP
);
this
.
groupMenuBtn
=
shortMenu
;
// this.process = process;
// this.needTime = needTime;
// super(parent.getShell(), SWT.NO_TRIM | SWT.ON_TOP | SWT.TOOL);
// addDisposeListener(new DisposeListener() {
// public void widgetDisposed(DisposeEvent e) {
// removeListener(SWT.Deactivate, deactivateListener);
// }
// });
GridLayout
gridLayout
=
new
GridLayout
(
2
,
false
);
gridLayout
.
horizontalSpacing
=
0
;
gridLayout
.
verticalSpacing
=
0
;
gridLayout
.
marginHeight
=
1
;
gridLayout
.
marginWidth
=
1
;
setLayout
(
gridLayout
);
setBackground
(
shortMenu
.
getActiveBackgroundColor
());
// setBackground(shortMenu.getBackground());
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
curComposite
=
new
Composite
(
this
,
SWT
.
NONE
);
curComposite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
TOP
,
false
,
false
,
1
,
2
));
GridLayout
gl_curComposite
=
new
GridLayout
(
1
,
false
);
gl_curComposite
.
marginHeight
=
0
;
gl_curComposite
.
marginWidth
=
0
;
gl_curComposite
.
marginRight
=
5
;
curComposite
.
setLayout
(
gl_curComposite
);
curComposite
.
setBackground
(
shortMenu
.
getActiveBackgroundColor
());
// curComposite.setBackground(SWTResourceManager.getColor(123, 13, 15));
curBtn
=
new
ImageButton
(
curComposite
,
SWT
.
NONE
);
curBtn
.
setLayoutData
(
new
GridData
(
SWT
.
LEFT
,
SWT
.
CENTER
,
false
,
true
,
1
,
1
));
curBtn
.
setImage
(
shortMenu
.
getImage
());
// curBtn.setTopMargin(3);
// curBtn.setBottomMargin(3);
curBtn
.
setLeftMargin
(
5
);
curBtn
.
setRightMargin
(
5
);
composite
=
new
Composite
(
this
,
SWT
.
NONE
);
composite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
2
));
GridLayout
gl_composite
=
new
GridLayout
(
1
,
false
);
gl_composite
.
marginWidth
=
0
;
gl_composite
.
horizontalSpacing
=
0
;
gl_composite
.
marginHeight
=
0
;
gl_composite
.
verticalSpacing
=
0
;
composite
.
setLayout
(
gl_composite
);
composite
.
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
Label
labe
=
new
Label
(
composite
,
SWT
.
None
);
labe
.
setText
(
"标书相似度分析进度"
);
messageComposite
=
new
Composite
(
composite
,
SWT
.
NONE
);
messageComposite
.
setLayout
(
new
GridLayout
(
4
,
false
));
messageComposite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
false
,
1
,
1
));
// messageComposite.setVisible(false);
Label
lblNewLabel
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
lblNewLabel
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
));
lblNewLabel
.
setText
(
Messages
.
ShowViewAiProcessDialog_lblNewLabel_text
);
lblNewLabel_1
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel_1
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
GridData
gd_lblNewLabel_1
=
new
GridData
(
SWT
.
LEFT
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
);
gd_lblNewLabel_1
.
widthHint
=
40
;
lblNewLabel_1
.
setLayoutData
(
gd_lblNewLabel_1
);
lblNewLabel_1
.
setText
(
process
+
"%"
);
Label
lblNewLabel_2
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel_2
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
lblNewLabel_2
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
));
lblNewLabel_2
.
setText
(
" 预计还需要:"
);
Label
lblNewLabel_3
=
new
Label
(
messageComposite
,
SWT
.
NONE
);
lblNewLabel_3
.
setForeground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_RED
));
lblNewLabel_3
.
setText
(
needTime
);
ProgressBar
progressBar
=
new
ProgressBar
(
composite
,
SWT
.
NONE
);
progressBar
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
true
,
true
,
1
,
1
));
progressBar
.
setSelection
(
process
);
init
();
createContents
();
}
private
void
init
(){
deactivateListener
=
new
Listener
(){
public
void
handleEvent
(
Event
arg0
)
{
close
();
}
};
addListener
(
SWT
.
Deactivate
,
deactivateListener
);
MouseTrackAdapter
mouseExit
=
new
MouseTrackAdapter
()
{
public
void
mouseExit
(
MouseEvent
e
)
{
super
.
mouseExit
(
e
);
Point
mousePoint
=
SwtUtils
.
getMouseLoaction
();
Point
p
=
Display
.
getDefault
().
map
(
composite
,
null
,
0
,
0
);
Point
p2
=
Display
.
getDefault
().
map
(
curComposite
,
null
,
0
,
0
);
Rectangle
rectangle1
=
new
Rectangle
(
p2
.
x
+
1
,
p2
.
y
+
0
,
curComposite
.
getBounds
().
width
,
curComposite
.
getBounds
().
height
-
0
);
Rectangle
rectangle2
=
new
Rectangle
(
p
.
x
+
1
,
p
.
y
+
0
,
composite
.
getBounds
().
width
-
0
,
composite
.
getBounds
().
height
-
2
);
// System.out.println(rectangle1 +"\t"+rectangle2 +"\t"+ mousePoint +"\t"+ rectangle1.contains(mousePoint) +"\t"+rectangle2.contains(mousePoint));
if
(
rectangle1
.
contains
(
mousePoint
)
||
rectangle2
.
contains
(
mousePoint
))
{
}
else
{
close
();
}
}
};
// addMouseTrackListener(mouseExit);
curBtn
.
addMouseTrackListener
(
mouseExit
);
curComposite
.
addMouseTrackListener
(
mouseExit
);
composite
.
addMouseTrackListener
(
mouseExit
);
composite
.
addMouseTrackListener
(
mouseExit
);
// SwtUtils.setCircleRegion(this, 3);
}
@Override
public
void
open
()
{
this
.
setMinimumSize
(
250
,
80
);
this
.
setAlpha
(
250
);
this
.
pack
();
Point
point
=
groupMenuBtn
.
toDisplay
(
new
Point
(
0
,
0
));
Region
region
=
new
Region
();
region
.
add
(
0
,
0
,
curComposite
.
getBounds
().
width
,
curComposite
.
getBounds
().
height
+
2
);
region
.
add
(
curComposite
.
getBounds
().
width
+
0
,
0
,
this
.
getBounds
().
width
,
this
.
getBounds
().
height
);
this
.
setRegion
(
region
);
region
.
dispose
();
setLocation
(
point
.
x
,
point
.
y
);
super
.
open
();
}
// @Override
// public void close() {
// super.close();
// }
/**
* Create contents of the shell.
*/
protected
void
createContents
()
{
setText
(
""
);
setSize
(
480
,
68
);
}
@Override
protected
void
checkSubclass
()
{
// Disable the check that prevents subclassing of SWT components
}
}
BID-EVALUATION/splash.bmp
View replaced file @
c37b8c75
View file @
d45e3f29
394 KB
|
W:
|
H:
394 KB
|
W:
|
H:
2-up
Swipe
Onion skin
BID-OPENING/splash.bmp
View replaced file @
c37b8c75
View file @
d45e3f29
394 KB
|
W:
|
H:
394 KB
|
W:
|
H:
2-up
Swipe
Onion skin
BID-OPENING/src/com/gx/obe/opening/thread/RemoteDecryptStatusThread.java
View file @
d45e3f29
...
...
@@ -386,6 +386,7 @@ public class RemoteDecryptStatusThread extends MyRunnable{
try
{
updateSupplierOpeningResultList
.
add
(
future
.
get
());
}
catch
(
InterruptedException
e
)
{
}
catch
(
ExecutionException
e
)
{
}
}
...
...
OBE-COMMON-ICONS/icons/login/logo.png
View replaced file @
c37b8c75
View file @
d45e3f29
9.73 KB
|
W:
|
H:
13.8 KB
|
W:
|
H:
2-up
Swipe
Onion skin
OBE-COMPONENTS-CORE/resource/bidder.xml
View file @
d45e3f29
...
...
@@ -774,27 +774,27 @@
<userMassage>
<name>
投标人名称
</name>
<code>
company
n
ame
</code>
<code>
company
N
ame
</code>
</userMassage>
<userMassage>
<name>
注册地址
</name>
<code>
register
l
ocation
</code>
<code>
register
L
ocation
</code>
</userMassage>
<userMassage>
<name>
邮政编码
</name>
<code>
postal
c
ode
</code>
<code>
postal
C
ode
</code>
</userMassage>
<userMassage>
<name>
联系人
</name>
<code>
link
m
an
</code>
<code>
link
M
an
</code>
</userMassage>
<userMassage>
<name>
电话
</name>
<code>
link
manp
hone
</code>
<code>
link
ManP
hone
</code>
</userMassage>
<userMassage>
<name>
传真
</name>
<code>
link
manf
ax
</code>
<code>
link
ManF
ax
</code>
</userMassage>
<userMassage>
<name>
网址
</name>
...
...
@@ -802,83 +802,83 @@
</userMassage>
<userMassage>
<name>
法人姓名(单位负责人)
</name>
<code>
legal
representativen
ame
</code>
<code>
legal
RepresentativeN
ame
</code>
</userMassage>
<userMassage>
<name>
法人技术职称
</name>
<code>
legal
representativet
itle
</code>
<code>
legal
RepresentativeT
itle
</code>
</userMassage>
<userMassage>
<name>
法人电话
</name>
<code>
legal
representativep
hone
</code>
<code>
legal
RepresentativeP
hone
</code>
</userMassage>
<userMassage>
<name>
技术负责人姓名
</name>
<code>
technical
directorn
ame
</code>
<code>
technical
DirectorN
ame
</code>
</userMassage>
<userMassage>
<name>
技术负责人技术职称
</name>
<code>
technical
directort
itle
</code>
<code>
technical
DirectorT
itle
</code>
</userMassage>
<userMassage>
<name>
技术负责人电话
</name>
<code>
technical
directorp
hone
</code>
<code>
technical
DirectorP
hone
</code>
</userMassage>
<userMassage>
<name>
成立时间
</name>
<code>
setup
t
ime
</code>
<code>
setup
T
ime
</code>
</userMassage>
<userMassage>
<name>
企业资质等级
</name>
<code>
company
qualificationl
evel
</code>
<code>
company
QualificationL
evel
</code>
</userMassage>
<userMassage>
<name>
营业执照号
</name>
<code>
bussiness
l
icense
</code>
<code>
bussiness
L
icense
</code>
</userMassage>
<userMassage>
<name>
注册资金(万元)
</name>
<code>
registered
c
apital
</code>
<code>
registered
C
apital
</code>
</userMassage>
<userMassage>
<name>
开户银行
</name>
<code>
deposit
b
ank
</code>
<code>
deposit
B
ank
</code>
</userMassage>
<userMassage>
<name>
开户银行账号
</name>
<code>
bank
a
ccount
</code>
<code>
bank
A
ccount
</code>
</userMassage>
<userMassage>
<name>
员工总人数
</name>
<code>
employee
n
umber
</code>
<code>
employee
N
umber
</code>
</userMassage>
<userMassage>
<name>
项目经理数
</name>
<code>
purchaser
n
umber
</code>
<code>
purchaser
N
umber
</code>
</userMassage>
<userMassage>
<name>
高级职称人员数
</name>
<code>
senior
professionalpostn
umber
</code>
<code>
senior
ProfessionalPostN
umber
</code>
</userMassage>
<userMassage>
<name>
中级职称人员数
</name>
<code>
medium
professionalpostn
umber
</code>
<code>
medium
ProfessionalPostN
umber
</code>
</userMassage>
<userMassage>
<name>
初级职称人员数
</name>
<code>
primary
professionalpostn
umber
</code>
<code>
primary
ProfessionalPostN
umber
</code>
</userMassage>
<userMassage>
<name>
技工数
</name>
<code>
artisan
n
umber
</code>
<code>
artisan
N
umber
</code>
</userMassage>
<userMassage>
<name>
组织结构
</name>
<code>
org
s
tructure
</code>
<code>
org
S
tructure
</code>
</userMassage>
<userMassage>
<name>
经营范围
</name>
<code>
business
s
cope
</code>
<code>
business
S
cope
</code>
</userMassage>
<userMassage>
<name>
备注
</name>
...
...
OBE-COMPONENTS-CORE/src/com/gx/obe/components/core/vo/Finance.java
View file @
d45e3f29
...
...
@@ -76,10 +76,87 @@ public class Finance implements Serializable {
*/
private
BigDecimal
mainIncomeProfits
;
// private BigDecimal 企业名称
private
BigDecimal
companyName
;
// private BigDecimal 年度
// private BigDecimal annual;
// private BigDecimal 营业收入(万元)
private
BigDecimal
operatingIncome
;
// private BigDecimal 流动资产(万元)
// private BigDecimal currentAssets;
// private BigDecimal 流动负债(万元)
// private BigDecimal currentLiabilities;
// private BigDecimal 流动比率(%)
// private BigDecimal currentRate;
// private BigDecimal 净利润(万元)
// private BigDecimal retainedProfits;
// private BigDecimal 股东权益(万元)
private
BigDecimal
stockholdersEquity
;
// private BigDecimal 净资产收益率(%)
private
BigDecimal
returnOnEquity
;
// private BigDecimal 负债总额(万元)
private
BigDecimal
totalliabilities
;
// private BigDecimal 资产总额(万元)
// private BigDecimal total;
// private BigDecimal 资产负债率(%)
// private BigDecimal liabilitiesRate;
/**
* 模型数据ID
*/
private
String
modelDataId
;
private
String
tenderId
;
public
String
getTenderId
()
{
return
tenderId
;
}
public
void
setTenderId
(
String
tenderId
)
{
this
.
tenderId
=
tenderId
;
}
public
String
getId
()
{
return
id
;
}
public
BigDecimal
getCompanyName
()
{
return
companyName
;
}
public
void
setCompanyName
(
BigDecimal
companyName
)
{
this
.
companyName
=
companyName
;
}
public
BigDecimal
getOperatingIncome
()
{
return
operatingIncome
;
}
public
void
setOperatingIncome
(
BigDecimal
operatingIncome
)
{
this
.
operatingIncome
=
operatingIncome
;
}
public
BigDecimal
getStockholdersEquity
()
{
return
stockholdersEquity
;
}
public
void
setStockholdersEquity
(
BigDecimal
stockholdersEquity
)
{
this
.
stockholdersEquity
=
stockholdersEquity
;
}
public
BigDecimal
getReturnOnEquity
()
{
return
returnOnEquity
;
}
public
void
setReturnOnEquity
(
BigDecimal
returnOnEquity
)
{
this
.
returnOnEquity
=
returnOnEquity
;
}
public
BigDecimal
getTotalliabilities
()
{
return
totalliabilities
;
}
public
void
setTotalliabilities
(
BigDecimal
totalliabilities
)
{
this
.
totalliabilities
=
totalliabilities
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
...
...
@@ -196,4 +273,12 @@ public class Finance implements Serializable {
return
mainIncomeProfits
;
}
public
String
getModelDataId
()
{
return
modelDataId
;
}
public
void
setModelDataId
(
String
modelDataId
)
{
this
.
modelDataId
=
modelDataId
;
}
}
OBE-COMPONENTS-CORE/src/com/gx/obe/components/core/vo/TableXML.java
View file @
d45e3f29
...
...
@@ -65,6 +65,7 @@ public class TableXML {
tr
.
setTitle
(
"true"
.
equalsIgnoreCase
(
trElement
.
attributeValue
(
"isTitle"
)));
tr
.
setCount
(
"true"
.
equalsIgnoreCase
(
trElement
.
attributeValue
(
"isCount"
)));
tr
.
setSubjectTableID
(
trElement
.
attributeValue
(
"subjectTableID"
));
return
tr
;
}
...
...
@@ -92,7 +93,7 @@ public class TableXML {
width
=
tdElement
.
attributeValue
(
"width"
).
replaceAll
(
"%"
,
""
);
}
Td
td
=
new
Td
(
tdElement
.
attributeValue
(
"colType"
),
tdElement
.
getTextTrim
(),
ObjectUtils
.
getIntValue
(
width
,
100
));
Td
td
=
new
Td
(
tdElement
.
attributeValue
(
"colType"
),
tdElement
.
getTextTrim
(),
ObjectUtils
.
getIntValue
(
width
,
100
)
,
"true"
.
equals
(
tdElement
.
attributeValue
(
"isNeedFill"
))
);
try
{
tds
[
Integer
.
valueOf
(
tdElement
.
attributeValue
(
"realCol"
).
trim
())]
=
td
;
}
catch
(
Exception
e
)
{
...
...
@@ -108,11 +109,13 @@ public class TableXML {
private
String
colType
;
private
String
content
;
private
int
width
;
private
boolean
isNeedFill
;
public
Td
(
String
colType
,
String
content
,
int
width
)
{
public
Td
(
String
colType
,
String
content
,
int
width
,
boolean
isNeedFill
)
{
this
.
colType
=
colType
;
this
.
content
=
content
;
this
.
width
=
width
;
this
.
isNeedFill
=
isNeedFill
;
}
public
String
getColType
()
{
...
...
@@ -126,6 +129,15 @@ public class TableXML {
public
int
getWidth
()
{
return
width
;
}
public
boolean
isNeedFill
()
{
return
isNeedFill
;
}
public
void
setNeedFill
(
boolean
isNeedFill
)
{
this
.
isNeedFill
=
isNeedFill
;
}
}
public
void
setTds
(
Td
[]
tds
)
{
...
...
OBE-COMPONENTS-MESSAGES/bin/com/gx/obe/message/messages.properties
View file @
d45e3f29
#Eclipse modern messages class
#Tue
Jan 23 11:29:02
CST 2024
#Tue
Apr 16 13:51:53
CST 2024
About
=
\u5173\u
4E8E
AboutAttachment
=
\u
76F8
\u5173\u9644\u
4EF6
AboveDifferenceCondition
=
\u
9AD8
\u
4E8E
\u
5DEE
\u
989D
\u6761\u
4EF6
...
...
@@ -118,7 +118,7 @@ Button_appllyForBack=\u7533\u8BF7\u9000\u56DE
Button_appllyForBackFormat
=
\u7533\u
8BF7
\u9000\u
56DE{0}
Button_applySignature
=
\u7533\u
8BF7
\u
7B7E
\u
540D
Button_applyToOthers
=
\u
590D
\u5236\u5230\u5176\u
4ED6{0}
Button_approval
=
\u
5BA1
\u6
838
Button_approval
=
\u
5BA1
\u
6
7E5
Button_approvalFormat
=
\u
5BA1
\u6838
{0}
Button_assignEvalGroup
=
\u5206\u
914D
\u
8BC4
\u
5BA1
\u8981\u
7D20
\u5355\u5143
Button_assignWorker
=
\u5206\u
914D
\u
6E05
\u6807\u
4EBA
\u5458
...
...
@@ -786,34 +786,6 @@ LoginDialog_connectionFail=\u670D\u52A1\u5668\u8FDE\u63A5\u5931\u8D25\uFF01
LoginDialog_editConfig
=
\u
4FEE
\u6539\u
914D
\u
7F6E
LoginDialog_environment
=
\u
73AF
\u5883\u
68C0
\u
6D4B
LoginDialog_installCaDriverTips
=
\u
82E5
\u
60A8
\u7684\u7535\u8111\u
5C1A
\u
672A
\u
5B89
\u
88C5USBKey
\u
9A71
\u
52A8
\u
7A0B
\u
5E8F
\u
FF0C
\u
8BF7
\u5148\u
5B89
\u
88C5
\u3002
LoginDialog_label_10_text
=
\u
4F01
\u
4E1A
\u
8D44
\u
8D28
\u
7B49
\u
7EA7
LoginDialog_label_11_text
=
\u
6CE8
\u
518C
\u
8D44
\u
91D1(
\u
4E07
\u5143
)
LoginDialog_label_12_text
=
\u8425\u
4E1A
\u6267\u7167\u
53F7
LoginDialog_label_13_text
=
\u
5F00
\u6237\u
94F6
\u
884C
LoginDialog_label_14_text
=
\u
94F6
\u
884C
\u
8D26
\u
53F7
LoginDialog_label_15_text
=
\u
8D22
\u
52A1
\u
5E74
\u
5EA6
\u
62A5
\u
544A
LoginDialog_label_16_text
=
\u
8D44
\u
4EA7
\u
603B
\u
989D(
\u
4E07
\u5143
)
LoginDialog_label_17_text
=
\u
8D1F
\u
503A
\u
989D(
\u
4E07
\u5143
)
LoginDialog_label_18_text
=
\u
8D44
\u
4EA7
\u
8D1F
\u
503A
\u7387
(%)
LoginDialog_label_19_text
=
\u
4E3B
\u8425\u
4E1A
\u
52A1
\u6536\u5165
(
\u
4E07
\u5143
)
LoginDialog_label_1_text
=
\u
4F9B
\u
5E94
\u5546\u
540D
\u
79F0
LoginDialog_label_20_text
=
\u
51C0
\u5229\u
6DA6(
\u
4E07
\u5143
)
LoginDialog_label_21_text
=
\u
51C0
\u5229\u7387
(%)
LoginDialog_label_22_text
=
\u9879\u
76EE
\u
540D
\u
79F0
LoginDialog_label_23_text
=
\u9879\u
76EE
\u6240\u5728\u5730
LoginDialog_label_24_text
=
\u
53D1
\u5305\u
4EBA
\u
540D
\u
79F0
LoginDialog_label_25_text
=
\u
53D1
\u5305\u
4EBA
\u5730\u5740
LoginDialog_label_26_text
=
\u
53D1
\u5305\u
4EBA
\u7535\u
8BDD
LoginDialog_label_27_text
=
\u5408\u
540C
\u
4EF7
\u
683C(
\u
4E07
\u5143
)
LoginDialog_label_28_text
=
\u
5F00
\u
5DE5
\u
65E5
\u
671F
LoginDialog_label_29_text
=
\u
8BA1
\u5212\u
7AE3
\u
5DE5
\u
65E5
\u
671F
LoginDialog_label_2_text
=
\u
6CE8
\u
518C
\u5730\u5740
LoginDialog_label_30_text
=
\u
5F53
\u
524D
\u6307\u6807\u
672A
\u
7ED1
\u
5B9A
\u
8BC4
\u
5BA1
\u
70B9
LoginDialog_label_3_text
=
\u8054\u
7CFB
\u
4EBA
LoginDialog_label_5_text
=
\u
7EC4
\u
7EC7
\u
673A
\u6784
LoginDialog_label_6_text
=
\u
6CD5
\u
4EBA
\u
540D
\u
79F0
LoginDialog_label_7_text
=
\u6280\u
672F
\u
8D1F
\u
8D23
\u
4EBA
\u
540D
\u
79F0
LoginDialog_label_8_text
=
\u6210\u
7ACB
\u
65F6
\u
95F4
LoginDialog_login
=
\u
767B
\u
5F55
LoginDialog_logoIco
=
icons/login/logo.png
LoginDialog_machineCode
=
\u
673A
\u
4F4D
\u6807\u
8BC6
\u7801
...
...
@@ -1068,8 +1040,10 @@ Setup_noFormat=\u672A\u8BBE\u7F6E{0}
Setup_yes
=
\u
5DF2
\u
8BBE
\u
7F6E
Setup_yesFormat
=
\u
5DF2
\u
8BBE
\u
7F6E{0}
ShortlistedRules
=
\u5165\u
56F4
\u
89C4
\u5219
ShowAiProcessShell_lblNewLabel_4_text
=
New Label
ShowBidPrice
=
\u
663E
\u
793A
\u6295\u6807\u
62A5
\u
4EF7
ShowLimitPrice
=
\u
663E
\u
793A
\u9650\u
4EF7
ShowViewAiProcessDialog_lblNewLabel_text
=
\u
5F53
\u
524D
\u
8FDB
\u
5EA6
\u
FF1A
SignFile
=
\u
7B7E
\u5230\u6587\u
4EF6
SignInStatus_avoid
=
\u
5DF2
\u
56DE
\u
907F
SignInStatus_no
=
\u
672A
\u
7B7E
\u5230
...
...
OBE-COMPONENTS-MESSAGES/src/com/gx/obe/message/Messages.java
View file @
d45e3f29
...
...
@@ -1887,34 +1887,34 @@ public class Messages extends NLS {
public
static
String
ips_noOpenLiveing
;
public
static
String
RecommonedEvaluationComposite_text_text
;
public
static
String
RecommonedEvaluationTableComposite_text_text
;
public
static
String
LoginDialog_label_1_text
;
public
static
String
LoginDialog_label_2_text
;
public
static
String
LoginDialog_label_3_text
;
public
static
String
LoginDialog_label_5_text
;
public
static
String
LoginDialog_label_6_text
;
public
static
String
LoginDialog_label_7_text
;
public
static
String
LoginDialog_label_8_text
;
public
static
String
LoginDialog_label_10_text
;
public
static
String
LoginDialog_label_11_text
;
public
static
String
LoginDialog_label_12_text
;
public
static
String
LoginDialog_label_13_text
;
public
static
String
LoginDialog_label_14_text
;
public
static
String
LoginDialog_label_15_text
;
public
static
String
LoginDialog_label_16_text
;
public
static
String
LoginDialog_label_17_text
;
public
static
String
LoginDialog_label_18_text
;
public
static
String
LoginDialog_label_19_text
;
public
static
String
LoginDialog_label_20_text
;
public
static
String
LoginDialog_label_21_text
;
public
static
String
LoginDialog_label_22_text
;
public
static
String
LoginDialog_label_23_text
;
public
static
String
LoginDialog_label_24_text
;
public
static
String
LoginDialog_label_25_text
;
public
static
String
LoginDialog_label_26_text
;
public
static
String
LoginDialog_label_27_text
;
public
static
String
LoginDialog_label_28_text
;
public
static
String
LoginDialog_label_29_text
;
public
static
String
LoginDialog_label_30_text
;
//
public static String LoginDialog_label_1_text;
//
public static String LoginDialog_label_2_text;
//
public static String LoginDialog_label_3_text;
//
public static String LoginDialog_label_5_text;
//
public static String LoginDialog_label_6_text;
//
public static String LoginDialog_label_7_text;
//
public static String LoginDialog_label_8_text;
//
public static String LoginDialog_label_10_text;
//
public static String LoginDialog_label_11_text;
//
public static String LoginDialog_label_12_text;
//
public static String LoginDialog_label_13_text;
//
public static String LoginDialog_label_14_text;
//
public static String LoginDialog_label_15_text;
//
public static String LoginDialog_label_16_text;
//
public static String LoginDialog_label_17_text;
//
public static String LoginDialog_label_18_text;
//
public static String LoginDialog_label_19_text;
//
public static String LoginDialog_label_20_text;
//
public static String LoginDialog_label_21_text;
//
public static String LoginDialog_label_22_text;
//
public static String LoginDialog_label_23_text;
//
public static String LoginDialog_label_24_text;
//
public static String LoginDialog_label_25_text;
//
public static String LoginDialog_label_26_text;
//
public static String LoginDialog_label_27_text;
//
public static String LoginDialog_label_28_text;
//
public static String LoginDialog_label_29_text;
//
public static String LoginDialog_label_30_text;
public
static
String
FileDownloadShell2_label_1_text
;
public
static
String
FileDownloadShell2_label_2_text
;
public
static
String
FileDownloadShell2_label_3_text
;
...
...
@@ -1931,6 +1931,8 @@ public class Messages extends NLS {
public
static
String
FileDownloadShell2_label_13_text
;
public
static
String
FileDownloadShell2_label_14_text
;
public
static
String
FileDownloadShell2_label_15_text
;
public
static
String
ShowViewAiProcessDialog_lblNewLabel_text
;
public
static
String
ShowAiProcessShell_lblNewLabel_4_text
;
static
{
...
...
OBE-COMPONENTS-MESSAGES/src/com/gx/obe/message/messages.properties
View file @
d45e3f29
#Eclipse modern messages class
#Tue
Jan 23 11:29:02
CST 2024
#Tue
Apr 16 13:51:53
CST 2024
About
=
\u5173\u
4E8E
AboutAttachment
=
\u
76F8
\u5173\u9644\u
4EF6
AboveDifferenceCondition
=
\u
9AD8
\u
4E8E
\u
5DEE
\u
989D
\u6761\u
4EF6
...
...
@@ -118,7 +118,7 @@ Button_appllyForBack=\u7533\u8BF7\u9000\u56DE
Button_appllyForBackFormat
=
\u7533\u
8BF7
\u9000\u
56DE{0}
Button_applySignature
=
\u7533\u
8BF7
\u
7B7E
\u
540D
Button_applyToOthers
=
\u
590D
\u5236\u5230\u5176\u
4ED6{0}
Button_approval
=
\u
5BA1
\u6
838
Button_approval
=
\u
5BA1
\u
6
7E5
Button_approvalFormat
=
\u
5BA1
\u6838
{0}
Button_assignEvalGroup
=
\u5206\u
914D
\u
8BC4
\u
5BA1
\u8981\u
7D20
\u5355\u5143
Button_assignWorker
=
\u5206\u
914D
\u
6E05
\u6807\u
4EBA
\u5458
...
...
@@ -786,34 +786,6 @@ LoginDialog_connectionFail=\u670D\u52A1\u5668\u8FDE\u63A5\u5931\u8D25\uFF01
LoginDialog_editConfig
=
\u
4FEE
\u6539\u
914D
\u
7F6E
LoginDialog_environment
=
\u
73AF
\u5883\u
68C0
\u
6D4B
LoginDialog_installCaDriverTips
=
\u
82E5
\u
60A8
\u7684\u7535\u8111\u
5C1A
\u
672A
\u
5B89
\u
88C5USBKey
\u
9A71
\u
52A8
\u
7A0B
\u
5E8F
\u
FF0C
\u
8BF7
\u5148\u
5B89
\u
88C5
\u3002
LoginDialog_label_10_text
=
\u
4F01
\u
4E1A
\u
8D44
\u
8D28
\u
7B49
\u
7EA7
LoginDialog_label_11_text
=
\u
6CE8
\u
518C
\u
8D44
\u
91D1(
\u
4E07
\u5143
)
LoginDialog_label_12_text
=
\u8425\u
4E1A
\u6267\u7167\u
53F7
LoginDialog_label_13_text
=
\u
5F00
\u6237\u
94F6
\u
884C
LoginDialog_label_14_text
=
\u
94F6
\u
884C
\u
8D26
\u
53F7
LoginDialog_label_15_text
=
\u
8D22
\u
52A1
\u
5E74
\u
5EA6
\u
62A5
\u
544A
LoginDialog_label_16_text
=
\u
8D44
\u
4EA7
\u
603B
\u
989D(
\u
4E07
\u5143
)
LoginDialog_label_17_text
=
\u
8D1F
\u
503A
\u
989D(
\u
4E07
\u5143
)
LoginDialog_label_18_text
=
\u
8D44
\u
4EA7
\u
8D1F
\u
503A
\u7387
(%)
LoginDialog_label_19_text
=
\u
4E3B
\u8425\u
4E1A
\u
52A1
\u6536\u5165
(
\u
4E07
\u5143
)
LoginDialog_label_1_text
=
\u
4F9B
\u
5E94
\u5546\u
540D
\u
79F0
LoginDialog_label_20_text
=
\u
51C0
\u5229\u
6DA6(
\u
4E07
\u5143
)
LoginDialog_label_21_text
=
\u
51C0
\u5229\u7387
(%)
LoginDialog_label_22_text
=
\u9879\u
76EE
\u
540D
\u
79F0
LoginDialog_label_23_text
=
\u9879\u
76EE
\u6240\u5728\u5730
LoginDialog_label_24_text
=
\u
53D1
\u5305\u
4EBA
\u
540D
\u
79F0
LoginDialog_label_25_text
=
\u
53D1
\u5305\u
4EBA
\u5730\u5740
LoginDialog_label_26_text
=
\u
53D1
\u5305\u
4EBA
\u7535\u
8BDD
LoginDialog_label_27_text
=
\u5408\u
540C
\u
4EF7
\u
683C(
\u
4E07
\u5143
)
LoginDialog_label_28_text
=
\u
5F00
\u
5DE5
\u
65E5
\u
671F
LoginDialog_label_29_text
=
\u
8BA1
\u5212\u
7AE3
\u
5DE5
\u
65E5
\u
671F
LoginDialog_label_2_text
=
\u
6CE8
\u
518C
\u5730\u5740
LoginDialog_label_30_text
=
\u
5F53
\u
524D
\u6307\u6807\u
672A
\u
7ED1
\u
5B9A
\u
8BC4
\u
5BA1
\u
70B9
LoginDialog_label_3_text
=
\u8054\u
7CFB
\u
4EBA
LoginDialog_label_5_text
=
\u
7EC4
\u
7EC7
\u
673A
\u6784
LoginDialog_label_6_text
=
\u
6CD5
\u
4EBA
\u
540D
\u
79F0
LoginDialog_label_7_text
=
\u6280\u
672F
\u
8D1F
\u
8D23
\u
4EBA
\u
540D
\u
79F0
LoginDialog_label_8_text
=
\u6210\u
7ACB
\u
65F6
\u
95F4
LoginDialog_login
=
\u
767B
\u
5F55
LoginDialog_logoIco
=
icons/login/logo.png
LoginDialog_machineCode
=
\u
673A
\u
4F4D
\u6807\u
8BC6
\u7801
...
...
@@ -1068,8 +1040,10 @@ Setup_noFormat=\u672A\u8BBE\u7F6E{0}
Setup_yes
=
\u
5DF2
\u
8BBE
\u
7F6E
Setup_yesFormat
=
\u
5DF2
\u
8BBE
\u
7F6E{0}
ShortlistedRules
=
\u5165\u
56F4
\u
89C4
\u5219
ShowAiProcessShell_lblNewLabel_4_text
=
New Label
ShowBidPrice
=
\u
663E
\u
793A
\u6295\u6807\u
62A5
\u
4EF7
ShowLimitPrice
=
\u
663E
\u
793A
\u9650\u
4EF7
ShowViewAiProcessDialog_lblNewLabel_text
=
\u
5F53
\u
524D
\u
8FDB
\u
5EA6
\u
FF1A
SignFile
=
\u
7B7E
\u5230\u6587\u
4EF6
SignInStatus_avoid
=
\u
5DF2
\u
56DE
\u
907F
SignInStatus_no
=
\u
672A
\u
7B7E
\u5230
...
...
OBE-MANAGEMENT/src/com/gx/obe/management/text/ExcelTest.java
0 → 100644
View file @
d45e3f29
package
com
.
gx
.
obe
.
management
.
text
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.IntStream
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
public
class
ExcelTest
{
public
static
String
createExcel
(
String
[]
field
,
String
[]
title
,
List
<
List
<
Map
<
String
,
String
>>>
listList
,
int
[]
mergeIndex
)
{
long
startTime
=
System
.
currentTimeMillis
();
if
(
title
.
length
==
0
)
{
return
null
;
}
// 初始化excel模板
Workbook
workbook
=
new
XSSFWorkbook
();
Sheet
sheet
=
null
;
int
n
=
0
;
//循环sheet页 实例化sheet对象并且设置sheet名称,book对象
try
{
sheet
=
workbook
.
createSheet
();
workbook
.
setSheetName
(
n
,
"sheet1"
);
workbook
.
setSelectedTab
(
0
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
// 数据总数
int
size
=
listList
.
stream
().
mapToInt
(
List:
:
size
).
sum
();
assert
sheet
!=
null
;
Row
row0
=
sheet
.
createRow
(
0
);
for
(
int
i
=
0
;
i
<
title
.
length
;
i
++)
{
Cell
cell_1
=
row0
.
createCell
(
i
);
cell_1
.
setCellValue
(
title
[
i
]);
}
List
<
PoiModel
>
poiModels
=
new
ArrayList
();
for
(
List
<
Map
<
String
,
String
>>
list
:
listList
)
{
for
(
Map
<
String
,
String
>
map
:
list
)
{
int
index
=
sheet
.
getLastRowNum
()
+
1
;
Row
row
=
sheet
.
createRow
(
index
);
for
(
int
i
=
0
;
i
<
title
.
length
;
i
++)
{
String
titleField
=
field
[
i
];
String
old
=
null
;
if
(
index
>
1
)
{
old
=
poiModels
.
get
(
i
)
==
null
?
null
:
poiModels
.
get
(
i
).
getContent
();
}
for
(
int
k
:
mergeIndex
)
{
if
(
index
==
1
)
{
// PoiModel poiModel = PoiModel.builder().oldContent(map.get(titleField)).content(map.get(titleField)).rowIndex(1).cellIndex(i).build();
PoiModel
poiModel
=
new
PoiModel
();
poiModel
.
setContent
(
map
.
get
(
titleField
));
poiModel
.
setRowIndex
(
1
);
poiModel
.
setOldContent
(
map
.
get
(
titleField
));
poiModel
.
setCellIndex
(
i
);
// map.get(titleField)
poiModels
.
add
(
poiModel
);
break
;
}
PoiModel
poiModel
=
poiModels
.
get
(
i
);
String
content
=
map
.
get
(
titleField
);
// 当前行的当前列与上一行的当前列的内容不一致时,则把当前行以上的合并
if
(
i
>
0
&&
k
==
i
)
{
// 如果不需要考虑当前行与上一行内容相同,但是它们的前一列内容不一样则不合并的情况,把或条件删除
if
(!
poiModel
.
getContent
().
equals
(
content
)
||
poiModel
.
getContent
().
equals
(
content
)
&&
!
poiModels
.
get
(
i
-
1
).
getOldContent
().
equals
(
map
.
get
(
field
[
i
-
1
])))
{
get
(
poiModel
,
content
,
index
,
i
,
sheet
);
}
}
// 处理第一列的情况
if
(
k
==
i
&&
i
==
0
&&
!
poiModel
.
getContent
().
equals
(
content
))
{
get
(
poiModel
,
content
,
index
,
i
,
sheet
);
}
// 最后一行没有后续的行与之比较,所有当到最后一行时则直接合并对应列的相同内容
if
(
k
==
i
&&
index
==
size
&&
poiModels
.
get
(
i
).
getRowIndex
()
!=
index
)
{
CellRangeAddress
cra
=
new
CellRangeAddress
(
poiModels
.
get
(
i
).
getRowIndex
(),
index
,
poiModels
.
get
(
i
).
getCellIndex
(),
poiModels
.
get
(
i
).
getCellIndex
());
sheet
.
addMergedRegion
(
cra
);
}
}
Cell
cell
=
row
.
createCell
(
i
);
cell
.
setCellValue
(
map
.
get
(
titleField
));
poiModels
.
get
(
i
).
setOldContent
(
old
);
}
}
}
File
file
=
new
File
(
"E:/demo.xlsx"
);
FileOutputStream
fout
;
try
{
fout
=
new
FileOutputStream
(
file
);
workbook
.
write
(
fout
);
fout
.
close
();
}
catch
(
Exception
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
long
endTime
=
System
.
currentTimeMillis
();
//获取结束时间
System
.
out
.
println
(
"程序运行时间:"
+
(
endTime
-
startTime
)
+
"ms"
);
//输出程序运行时间
return
file
.
getAbsolutePath
();
}
/**
* 合并单元格
*
* @param poiModel
* @param content
* @param index
* @param i
* @param sheet
*/
private
static
void
get
(
PoiModel
poiModel
,
String
content
,
int
index
,
int
i
,
Sheet
sheet
)
{
if
(
poiModel
.
getRowIndex
()
!=
index
-
1
)
{
CellRangeAddress
cra
=
new
CellRangeAddress
(
poiModel
.
getRowIndex
(),
index
-
1
,
poiModel
.
getCellIndex
(),
poiModel
.
getCellIndex
());
//在sheet里增加合并单元格
sheet
.
addMergedRegion
(
cra
);
}
/*重新记录该列的内容为当前内容,行标记改为当前行标记,列标记则为当前列*/
poiModel
.
setContent
(
content
);
poiModel
.
setRowIndex
(
index
);
poiModel
.
setCellIndex
(
i
);
}
public
static
void
main
(
String
[]
args
)
throws
IOException
{
// 此处标题的数组则对应excel的标题
String
[]
title
=
{
"id"
,
"标题"
,
"描述"
,
"负责人"
,
"开始时间"
,
"名字"
,
"年龄"
,
"性别"
,
"班级"
};
String
[]
field
=
{
"id"
,
"title"
,
"dec"
,
"manager"
,
"beginTime"
,
"name"
,
"age"
,
"sex"
,
"clazz"
};
List
<
Map
<
String
,
String
>>
list
=
new
ArrayList
();
// 这边是制造一些数据,注意每个list中map的key要和标题数组中的元素一致
for
(
int
i
=
0
;
i
<
100
;
i
++)
{
HashMap
<
String
,
String
>
map
=
new
HashMap
();
if
(
i
>
40
)
{
if
(
i
<
45
)
{
map
.
put
(
"id"
,
"333"
);
map
.
put
(
"title"
,
"美女"
);
}
else
if
(
i
>
50
&&
i
<
55
)
{
map
.
put
(
"id"
,
"444"
);
map
.
put
(
"title"
,
"美男"
);
}
else
{
map
.
put
(
"id"
,
"444"
);
map
.
put
(
"title"
,
"少男"
);
}
}
else
if
(
i
>
25
)
{
map
.
put
(
"id"
,
"222"
);
map
.
put
(
"title"
,
"少女"
);
}
else
if
(
i
==
5
||
i
==
8
)
{
map
.
put
(
"id"
,
"222"
);
map
.
put
(
"title"
,
"少年"
);
}
else
{
map
.
put
(
"id"
,
"222"
);
map
.
put
(
"title"
,
"青年"
);
}
map
.
put
(
"dec"
,
"都是有用的人"
);
map
.
put
(
"manager"
,
"管理员"
);
map
.
put
(
"beginTime"
,
"2017-02-27 11:20:26"
);
map
.
put
(
"name"
,
"tsy"
);
map
.
put
(
"age"
,
"28"
);
map
.
put
(
"sex"
,
"男"
);
if
(
i
>
80
)
{
if
(
i
<
82
)
{
map
.
put
(
"clazz"
,
"er版"
);
}
else
{
map
.
put
(
"clazz"
,
""
);
}
}
else
{
map
.
put
(
"clazz"
,
"一版"
);
}
list
.
add
(
map
);
}
Map
<
String
,
List
<
Map
<
String
,
String
>>>
map
=
new
HashMap
();
map
.
put
(
"测试合并数据"
,
list
);
// 模拟大数据量情况下,任务中心可分页查询接口,分批返回数据
List
<
List
<
Map
<
String
,
String
>>>
groups
=
pageByNum
(
list
,
5
);
// 此处数组为需要合并的列,可能有的需求是只需要某些列里面相同内容合并
System
.
out
.
println
(
createExcel
(
field
,
title
,
groups
,
new
int
[]{
0
,
1
,
2
,
8
}));
}
public
static
<
T
>
List
<
List
<
T
>>
pageByNum
(
List
<
T
>
list
,
int
pageSize
)
{
return
IntStream
.
range
(
0
,
list
.
size
()).
boxed
().
filter
(
t
->
t
%
pageSize
==
0
).
map
(
t
->
list
.
stream
().
skip
(
t
).
limit
(
pageSize
).
collect
(
Collectors
.
toList
())).
collect
(
Collectors
.
toList
());
}
}
OBE-MANAGEMENT/src/com/gx/obe/management/text/PoiModel.java
0 → 100644
View file @
d45e3f29
package
com
.
gx
.
obe
.
management
.
text
;
public
class
PoiModel
{
private
String
content
;
private
String
oldContent
;
private
String
primaryKey
;
private
int
rowIndex
;
private
int
cellIndex
;
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
public
String
getOldContent
()
{
return
oldContent
;
}
public
void
setOldContent
(
String
oldContent
)
{
this
.
oldContent
=
oldContent
;
}
public
String
getPrimaryKey
()
{
return
primaryKey
;
}
public
void
setPrimaryKey
(
String
primaryKey
)
{
this
.
primaryKey
=
primaryKey
;
}
public
int
getRowIndex
()
{
return
rowIndex
;
}
public
void
setRowIndex
(
int
rowIndex
)
{
this
.
rowIndex
=
rowIndex
;
}
public
int
getCellIndex
()
{
return
cellIndex
;
}
public
void
setCellIndex
(
int
cellIndex
)
{
this
.
cellIndex
=
cellIndex
;
}
}
OBE-REPORT/META-INF/MANIFEST.MF
View file @
d45e3f29
...
...
@@ -46,3 +46,5 @@ Export-Package: com.gx.obe.report,
com.report.util,
com.report.word,
com.report.word.demo
Import-Package: com.gx.obe.struct.beans,
com.gx.obe.struct.service
OBE-REPORT/src/com/gx/obe/report/dataset/excel/ScoreDetailedDateSet.java
View file @
d45e3f29
...
...
@@ -366,6 +366,7 @@ public class ScoreDetailedDateSet extends BaseDateSet{
for
(
Supplier
supplier
:
supplierList
){
Map
<
String
,
Object
>
supplierMap
=
Bean2MapUtils
.
createMap
(
supplier
);
supplierMap
.
put
(
"supplierId"
,
supplier
.
getId
());
supplierMap
.
put
(
"supplierName1"
,
supplier
.
getSupplierName
());
BigDecimal
supplierSumScore
=
null
;
BigDecimal
supplierSumFinalScore
=
null
;
if
(
null
!=
evaluationFactorResultList
&&
evaluationFactorResultList
.
size
()
>
0
){
...
...
@@ -474,6 +475,7 @@ public class ScoreDetailedDateSet extends BaseDateSet{
}
reportDataSet
.
putDimension
(
"supplierList"
,
supplierMapList
);
reportDataSet
.
putDimension
(
"supplierList1"
,
supplierMapList
);
reportDataSet
.
putDimension
(
"factorList"
,
evalFactorList
);
reportDataSet
.
putCrossData
(
crossData
);
reportDataList
.
add
(
reportDataSet
);
...
...
OBE-REPORT/src/com/gx/obe/report/dataset/excel/TechnicalComparisonDateSet.java
0 → 100644
View file @
d45e3f29
package
com
.
gx
.
obe
.
report
.
dataset
.
excel
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
com.gx.obe.components.core.Constants
;
import
com.gx.obe.http.json.JsonUtil
;
import
com.gx.obe.struct.beans.TableXML2
;
import
com.gx.obe.struct.beans.Td
;
import
com.gx.obe.struct.beans.TemplateTable
;
import
com.gx.obe.struct.beans.Tr
;
import
com.gx.obe.struct.service.EvaluationContentService
;
import
com.gx.obe.struct.service.TemplateTableService
;
import
com.gx.obe.util.utils.CollectionUtils
;
import
com.gx.obe.util.utils.ObjectUtils
;
import
com.gx.obe.util.utils.UuidUtils
;
import
com.gx.obe.web.entity.Supplier
;
import
com.gx.obe.web.entity.evaluation.EvaluationContent
;
import
com.gx.obe.web.entity.evaluation.EvaluationFactor
;
import
com.report.excel.ReportDataSet
;
/**
* @Description: 打分明细表
* @author guoyr
*/
public
class
TechnicalComparisonDateSet
extends
BaseDateSet
{
Set
<
String
>
fineName
=
new
HashSet
<
String
>();
boolean
crossObj
=
false
;
TemplateTableService
templateTableService
=
new
TemplateTableService
();
public
List
<
ReportDataSet
>
getDateSetList
(
Map
<
String
,
String
>
paramsMap
,
Map
<
String
,
String
>
enumsMap
)
{
List
<
ReportDataSet
>
reportDataList
=
new
ArrayList
<
ReportDataSet
>();
// 获得打分评标步骤
try
{
EvaluationContentService
evaluationContentService
=
new
EvaluationContentService
();
List
<
EvaluationContent
>
evaluationContentList
=
evaluationContentService
.
getEvaluationContentList
(
tenderProjectEntity
.
getId
());
String
templateFileName
=
(
String
)
paramsMap
.
get
(
"TEMPLATEFILENAME"
);
if
(
null
!=
templateFileName
&&
templateFileName
.
indexOf
(
"."
)
>
0
){
templateFileName
=
templateFileName
.
substring
(
0
,
templateFileName
.
lastIndexOf
(
"."
));
}
System
.
out
.
println
();
List
<
Supplier
>
supplierList
=
supplierService
.
getAllSupplierList
(
tenderProjectEntity
.
getId
());
//(detailEvalNode, true);
for
(
EvaluationContent
evaluationContent
:
evaluationContentList
){
List
<
EvaluationFactor
>
factorList
=
new
ArrayList
<
EvaluationFactor
>();
if
(
evaluationContent
.
getDataCategory
().
equals
(
"TT"
)
&&
(
evaluationContent
.
getRelChapterType
().
contains
(
"TechnicalParameter"
)))
{
ReportDataSet
reportDataSet
=
new
ReportDataSet
();
String
tenderName
=
ObjectUtils
.
getObjString
(
tenderProjectEntity
.
getTenderName
());
String
tenderNo
=
ObjectUtils
.
getObjString
(
tenderProjectEntity
.
getTenderNo
());
if
(!
fineName
.
add
(
evaluationContent
.
getTenderStructName
()+
".xlsx"
))
{
continue
;
}
reportDataSet
.
setFileName
(
evaluationContent
.
getTenderStructName
()+
".xlsx"
);
if
(
null
!=
tenderProjectEntity
.
getParentId
()){
reportDataSet
.
putParam
(
"projectName"
,
ObjectUtils
.
getObjString
(
parentProject
.
getTenderName
()));
// 项目名称
reportDataSet
.
putParam
(
"projectCode"
,
ObjectUtils
.
getObjString
(
parentProject
.
getTenderNo
()));
// 项目编号
reportDataSet
.
putParam
(
"packageCodeAndName"
,
"\r\n"
+
tenderNo
+
":"
+
tenderName
);
// 分包编号和名称
reportDataSet
.
putParam
(
"packageNameAndCode"
,
"\r\n"
+
tenderName
+
":"
+
tenderNo
);
// 分包名称和编号
reportDataSet
.
putParam
(
"packageName"
,
tenderName
);
// 包件名称
reportDataSet
.
putParam
(
"packageCode"
,
tenderNo
);
// 包件编号
}
else
{
reportDataSet
.
putParam
(
"projectName"
,
tenderName
);
// 项目名称
reportDataSet
.
putParam
(
"projectCode"
,
tenderNo
);
// 项目编号
reportDataSet
.
putParam
(
"packageCodeAndName"
,
""
);
reportDataSet
.
putParam
(
"packageNameAndCode"
,
""
);
reportDataSet
.
putParam
(
"packageName"
,
""
);
// 包件名称
reportDataSet
.
putParam
(
"packageCode"
,
""
);
// 包件编号
}
List
<
TemplateTable
>
templateTableList
=
templateTableService
.
getTemplateTableList
(
tenderProjectEntity
.
getId
(),
evaluationContent
.
getRelChapterType
(),
evaluationContent
.
getDataCode
());
if
(
CollectionUtils
.
isNull
(
templateTableList
))
{
return
null
;
}
//获取供应商行数最多作为展示表格的行数
Map
<
String
,
TemplateTable
>
templateTableMap
=
templateTableList
.
stream
().
collect
(
Collectors
.
toMap
(
TemplateTable:
:
getSupplierId
,
Function
.
identity
()));
//获取招标文件的小范本,解析表头
TemplateTable
templateTable
=
templateTableMap
.
get
(
Constants
.
BIDDING_ID
);
if
(
templateTable
==
null
)
{
return
null
;
}
//表头解析
TableXML2
tableXML
=
JsonUtil
.
jsonToBean
(
templateTable
.
getTableInfo
(),
TableXML2
.
class
);
if
(
tableXML
==
null
)
{
return
null
;
}
List
<
Tr
>
headList
=
tableXML
.
getHeadList
();
if
(
headList
.
size
()
!=
1
)
{
return
null
;
}
Tr
head
=
headList
.
get
(
0
);
//表头列
List
<
Map
<
String
,
String
>>
supplierMapList
=
new
ArrayList
<
Map
<
String
,
String
>>();
List
<
Tr
>
bodyList1
=
tableXML
.
getBodyList
();
for
(
int
bodyRowIndex
=
0
;
bodyRowIndex
<
bodyList1
.
size
();
bodyRowIndex
++
)
{
Map
<
String
,
String
>
supplier
=
new
HashMap
<
String
,
String
>();
String
id
=
UuidUtils
.
getUUID
();
supplier
.
put
(
"supplierId"
,
id
);
supplier
.
put
(
"id"
,
id
);
supplier
.
put
(
"supplierName"
,
"供应商名称"
+
bodyRowIndex
);
supplierMapList
.
add
(
supplier
);
}
List
<
Td
>
tdList
=
new
ArrayList
<
Td
>();
List
<
Integer
>
indexList
=
new
ArrayList
<
Integer
>();
Map
<
String
,
Object
>
crossData
=
new
HashMap
<
String
,
Object
>();
if
(
null
!=
head
&&
null
!=
head
.
getTds
()
&&
head
.
getTds
().
length
>
0
)
{
for
(
int
index
=
0
;
index
<
head
.
getTds
().
length
;
index
++
)
{
Td
td
=
head
.
getTds
()[
index
];
if
(!
td
.
isNeedFill
())
{
EvaluationFactor
evaluationFactor
=
new
EvaluationFactor
();
evaluationFactor
.
setId
(
UuidUtils
.
getUUID
());
evaluationFactor
.
setFactorName
(
td
.
getContent
());
evaluationFactor
.
setLevel
(
2
);
factorList
.
add
(
evaluationFactor
);
List
<
Tr
>
bodyList
=
tableXML
.
getBodyList
();
for
(
int
bodyRowIndex
=
0
;
bodyRowIndex
<
bodyList
.
size
();
bodyRowIndex
++
)
{
Map
<
String
,
String
>
supplier
=
supplierMapList
.
get
(
bodyRowIndex
);
Tr
bodyTr
=
bodyList
.
get
(
bodyRowIndex
);
Td
bodyTd
=
bodyTr
.
getTds
()[
index
];
crossData
.
put
(
evaluationFactor
.
getId
()
+
supplier
.
get
(
"supplierId"
)
,
ObjectUtils
.
getObjString
(
bodyTd
.
getContent
()));
}
}
else
{
indexList
.
add
(
index
);
tdList
.
add
(
td
);
}
}
}
for
(
Supplier
supplier
:
supplierList
)
{
TemplateTable
supplierTemplateTable
=
templateTableMap
.
get
(
supplier
.
getId
());
EvaluationFactor
evaluationFactor
=
new
EvaluationFactor
();
evaluationFactor
.
setFactorName
(
supplier
.
getSupplierName
());
evaluationFactor
.
setId
(
UuidUtils
.
getUUID
());
evaluationFactor
.
setId
(
supplier
.
getId
());
evaluationFactor
.
setLevel
(
1
);
for
(
int
a
=
0
;
a
<
indexList
.
size
();
a
++)
{
int
tdIndex
=
indexList
.
get
(
a
);
Td
td
=
tdList
.
get
(
a
);
EvaluationFactor
childEvaluationFactor
=
new
EvaluationFactor
();
childEvaluationFactor
.
setFactorName
(
ObjectUtils
.
getObjString
(
td
.
getContent
()));
childEvaluationFactor
.
setId
(
UuidUtils
.
getUUID
());
childEvaluationFactor
.
setParentFactor
(
evaluationFactor
);
childEvaluationFactor
.
setLevel
(
2
);
childEvaluationFactor
.
setParentId
(
evaluationFactor
.
getId
());
evaluationFactor
.
addChild
(
childEvaluationFactor
);
if
(
supplierTemplateTable
==
null
)
{
continue
;
}
TableXML2
supplierTableXML
=
JsonUtil
.
jsonToBean
(
supplierTemplateTable
.
getTableInfo
(),
TableXML2
.
class
);
if
(
supplierTableXML
==
null
)
{
continue
;
}
int
trIndex
=
0
;
for
(
Tr
tr:
supplierTableXML
.
getBodyList
())
{
if
(
trIndex
>=
supplierMapList
.
size
())
{
continue
;
}
Map
<
String
,
String
>
supplierMap
=
supplierMapList
.
get
(
trIndex
);
if
(
tdIndex
>=
tr
.
getTds
().
length
)
{
continue
;
}
Td
bodyTd
=
tr
.
getTds
()[
tdIndex
];
//获取供应商相应表格数据索引位置
crossData
.
put
(
childEvaluationFactor
.
getId
()
+
supplierMap
.
get
(
"supplierId"
)
,
ObjectUtils
.
getObjString
(
bodyTd
.
getContent
()));
trIndex
++;
}
factorList
.
add
(
childEvaluationFactor
);
}
factorList
.
add
(
evaluationFactor
);
}
reportDataSet
.
putParam
(
"expert"
,
evaluationContent
.
getTenderStructName
());
reportDataSet
.
putDimension
(
"supplierList"
,
supplierMapList
);
reportDataSet
.
putDimension
(
"factorList"
,
factorList
);
reportDataSet
.
putCrossData
(
crossData
);
reportDataList
.
add
(
reportDataSet
);
}
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
}
return
reportDataList
;
}
}
com.gx.obe.common.file/src/com/gx/obe/common/file/utils/ParsingXmlUtils.java
View file @
d45e3f29
...
...
@@ -33,6 +33,7 @@ import com.gx.obe.formula.DeviateRateItem;
import
com.gx.obe.formula.FilterCountConditionItem
;
import
com.gx.obe.formula.PriceParam
;
import
com.gx.obe.formula.SpecimenFilterConditionItem
;
import
com.gx.obe.http.json.JsonUtil
;
import
com.gx.obe.util.utils.BigDecimalUtils
;
import
com.gx.obe.util.utils.CollectionUtils
;
import
com.gx.obe.util.utils.DateUtils
;
...
...
@@ -73,10 +74,6 @@ public class ParsingXmlUtils {
*/
public
static
TableXML
parsingTableXML
(
String
tableXMLPath
)
{
File
xmlFile
=
new
File
(
tableXMLPath
);
if
(
tableXMLPath
.
contains
(
"4fbf7eab25f645d8b5937d7e022d2f1a.xml"
))
{
System
.
out
.
println
(
tableXMLPath
);
}
if
(!
xmlFile
.
isFile
()
||
!
xmlFile
.
exists
())
{
return
null
;
}
...
...
@@ -257,6 +254,7 @@ public class ParsingXmlUtils {
Finance
finance
=
new
Finance
();
finance
.
setAnnual
(
element
.
elementTextTrim
(
"annual"
));
finance
.
setTotal
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"total"
)));
finance
.
setLiabilities
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"liabilities"
)));
finance
.
setIncome
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"income"
)));
finance
.
setMainIncome
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"mainIncome"
)));
...
...
@@ -269,6 +267,14 @@ public class ParsingXmlUtils {
finance
.
setPaidUpCapital
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"paidUpCapital"
)));
finance
.
setRetainedProfits
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"retainedProfits"
)));
finance
.
setMainIncomeProfits
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"mainIncomeProfits"
)));
finance
.
setOperatingIncome
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"operatingIncome"
)));
finance
.
setCompanyName
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"companyName"
)));
finance
.
setStockholdersEquity
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"stockholdersEquity"
)));
finance
.
setReturnOnEquity
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"returnOnEquity"
)));
finance
.
setTotalliabilities
(
ObjectUtils
.
getObjBigDecimal
(
element
.
elementTextTrim
(
"totalliabilities"
)));
// finance.setOperatingIncome(ObjectUtils.getObjBigDecimal(element.elementTextTrim("total")));
// finance.setOperatingIncome(ObjectUtils.getObjBigDecimal(element.elementTextTrim("total")));
return
finance
;
}
...
...
com.gx.obe.component/src/com/gx/obe/component/comparison/ComparisonData.java
View file @
d45e3f29
...
...
@@ -16,7 +16,7 @@ public class ComparisonData {
private
Map
<
Keys
,
String
>
headContentMap
=
new
HashMap
<>();
private
Map
<
Keys
,
String
>
comparisonContentMap
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
public
boolean
addHeadCol
(
Column
col
)
{
return
headColList
.
add
(
col
);
}
...
...
@@ -66,4 +66,12 @@ public class ComparisonData {
return
comparisonContentMap
;
}
public
Map
<
String
,
Object
>
getDataMap
()
{
return
dataMap
;
}
public
void
setDataMap
(
String
key
,
Object
value
)
{
dataMap
.
put
(
key
,
value
);
}
}
com.gx.obe.component/src/com/gx/obe/component/comparison/ComparisonTable.java
View file @
d45e3f29
...
...
@@ -3,6 +3,7 @@ package com.gx.obe.component.comparison;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.stream.IntStream
;
import
org.eclipse.swt.SWT
;
...
...
@@ -39,9 +40,11 @@ public class ComparisonTable extends KTable {
private
final
List
<
Column
>
titleColList
;
private
final
List
<
Column
>
itemColList
;
private
final
List
<
String
>
rowList
;
private
final
Map
<
String
,
Object
>
dataMap
;
private
final
Map
<
Keys
,
String
>
headContentMap
;
private
final
Map
<
Keys
,
String
>
comparisonContentMap
;
private
final
Set
set
;
public
ComparisonTable
(
Composite
parent
,
ComparisonData
comparisonData
)
{
super
(
parent
,
SWTX
.
AUTO_SCROLL
|
SWT
.
FULL_SELECTION
|
SWTX
.
EDIT_ON_KEY
|
SWTX
.
FILL_WITH_LASTCOL
);
...
...
@@ -52,17 +55,41 @@ public class ComparisonTable extends KTable {
this
.
titleColList
=
comparisonData
.
getTitleColList
();
this
.
itemColList
=
comparisonData
.
getItemColList
();
this
.
rowList
=
comparisonData
.
getRowList
();
this
.
dataMap
=
comparisonData
.
getDataMap
();
this
.
headContentMap
=
comparisonData
.
getHeadContentMap
();
this
.
comparisonContentMap
=
comparisonData
.
getComparisonContentMap
();
this
.
set
=
(
Set
)
dataMap
.
get
(
"hasFixTableRow"
);
this
.
model
=
new
CommonKtableCModel
(
this
,
HEAD_ROW
,
headColList
.
size
(),
this
.
rowList
.
size
(),
titleColList
.
size
()
*
itemColList
.
size
());
this
.
setModel
(
model
);
// this.model.setColumnWidth(sortCol, 40);
// this.model.setColumnMaxWidth(sortCol, 80);
if
(
null
!=
set
&&
set
.
size
()
>
0
)
{
this
.
model
=
new
CommonKtableCModel
(
this
,
HEAD_ROW
,
headColList
.
size
(),
this
.
rowList
.
size
(),(
titleColList
.
size
()
-
set
.
size
())
*
itemColList
.
size
()
+
set
.
size
());
this
.
setModel
(
model
);
IntStream
.
range
(
0
,
set
.
size
()).
forEach
(
i
->
model
.
addRowSpan
(
0
,
i
,
HEAD_ROW
));
// for(int index = set.size() ; index < titleColList.size(); index ++) {
int
colIndex
=
0
;
for
(
Column
Column
:
titleColList
)
{
if
(
colIndex
>=
set
.
size
())
{
// System.out.println("合并列数据:" + colIndex + " : " + itemColList.size());
model
.
addColSpan
(
0
,
colIndex
,
itemColList
.
size
());
}
colIndex
+=
itemColList
.
size
();
}
////
//
//// index += itemColList.size();
// }
// IntStream.range(set.size(), titleColList.size()).map(i -> i * itemColList.size()).map(i -> i + headColList.size()).forEach(i -> model.addColSpan(0, i, itemColList.size()));
}
else
{
this
.
model
=
new
CommonKtableCModel
(
this
,
HEAD_ROW
,
headColList
.
size
(),
this
.
rowList
.
size
(),
titleColList
.
size
()
*
itemColList
.
size
());
this
.
setModel
(
model
);
IntStream
.
range
(
0
,
headColList
.
size
()).
forEach
(
i
->
model
.
addRowSpan
(
0
,
i
,
HEAD_ROW
));
IntStream
.
range
(
0
,
titleColList
.
size
()).
map
(
i
->
i
*
itemColList
.
size
()).
map
(
i
->
i
+
headColList
.
size
()).
forEach
(
i
->
model
.
addColSpan
(
0
,
i
,
itemColList
.
size
()));
}
IntStream
.
range
(
0
,
titleColList
.
size
()
*
itemColList
.
size
(
)+
headColList
.
size
()).
forEach
(
i
->
{
model
.
setColumnWidth
(
i
,
100
);
model
.
setColumnMaxWidth
(
i
,
200
);
...
...
@@ -84,11 +111,35 @@ public class ComparisonTable extends KTable {
* @return
*/
private
String
receiveContent
(
int
row
,
int
col
)
{
if
(
col
<
headColList
.
size
())
{
if
(
row
==
0
)
return
Optional
.
of
(
headColList
.
get
(
col
)).
map
(
Column:
:
getName
).
orElse
(
""
);
if
(
null
!=
set
&&
set
.
size
()
>
0
)
{
if
(
col
<
set
.
size
())
{
if
(
row
==
0
)
{
return
Optional
.
of
(
titleColList
.
get
(
col
)).
map
(
Column:
:
getName
).
orElse
(
""
);
}
if
(
row
==
1
)
return
""
;
return
Optional
.
of
(
Keys
.
of
(
rowList
.
get
(
row
-
2
),
headColList
.
get
(
col
).
getId
())).
map
(
headContentMap:
:
get
).
orElse
(
""
);
// System.out.println( Keys.of(rowList.get(row - 2), "",titleColList.get(col).getId()));
return
Optional
.
of
(
Keys
.
of
(
rowList
.
get
(
row
-
2
),
""
,
titleColList
.
get
(
col
).
getId
())).
map
(
comparisonContentMap:
:
get
).
orElse
(
""
);
}
else
{
// System.out.println("col:" + col);
col
-=
set
.
size
();
int
itemSize
=
itemColList
.
size
();
if
(
row
==
0
)
{
// System.out.println("列数据输出"+ col );
return
Optional
.
of
(
titleColList
.
get
(
col
/
itemSize
+
set
.
size
())).
map
(
Column:
:
getName
).
orElse
(
""
);
}
if
(
row
==
1
)
return
Optional
.
of
(
itemColList
.
get
(
col
%
itemSize
)).
map
(
Column:
:
getName
).
orElse
(
""
);
try
{
// System.out.println( "get keys:" +rowList.get(row - 2) +","+ titleColList.get(col / itemSize).getId()+","+itemColList.get(col % itemSize).getId() + " value :" + comparisonContentMap.get(Keys.of(rowList.get(row - 2), titleColList.get(col / itemSize).getId(), itemColList.get(col % itemSize).getId())) + "\r\n");
// System.out.println(Keys.of(rowList.get(row - 2), titleColList.get(col / itemSize).getId(), itemColList.get(col % itemSize).getId()));
// System.ou t.println(comparisonContentMap.get(Keys.of(rowList.get(row - 2), titleColList.get(col / itemSize).getId(), itemColList.get(col % itemSize).getId())));
return
Optional
.
of
(
Keys
.
of
(
rowList
.
get
(
row
-
2
),
titleColList
.
get
(
col
/
itemSize
+
set
.
size
()).
getId
(),
itemColList
.
get
(
col
%
itemSize
).
getId
())).
map
(
comparisonContentMap:
:
get
).
orElse
(
""
);
}
catch
(
Exception
e
)
{
return
""
;
}
}
}
else
{
col
-=
headColList
.
size
();
int
itemSize
=
itemColList
.
size
();
if
(
row
==
0
)
return
Optional
.
of
(
titleColList
.
get
(
col
/
itemSize
)).
map
(
Column:
:
getName
).
orElse
(
""
);
...
...
@@ -102,6 +153,8 @@ public class ComparisonTable extends KTable {
return
""
;
}
}
// return "";
}
/**
* @Description: 加载渲染器
...
...
com.gx.obe.struct/META-INF/MANIFEST.MF
View file @
d45e3f29
...
...
@@ -21,14 +21,13 @@ Require-Bundle: org.eclipse.ui,
com.gx.obe.component;bundle-version="1.0.0",
com.gx.obe.common.widget,
com.gx.obe.httputil;bundle-version="1.0.0",
com.gx.obe.components.messages
com.gx.obe.components.messages
;bundle-version="1.0.0"
Export-Package: com.gx.obe.evaluation.struct.enumeration,
com.gx.obe.struct,
com.gx.obe.struct.beans,
com.gx.obe.struct.composite,
com.gx.obe.struct.dialog,
com.gx.obe.struct.enums,
com.gx.obe.struct.factory,
com.gx.obe.struct.handler,
com.gx.obe.struct.inters,
com.gx.obe.struct.listener,
...
...
com.gx.obe.struct/build.properties
View file @
d45e3f29
...
...
@@ -2,3 +2,4 @@ source.. = src/
output..
=
bin/
bin.includes
=
META-INF/,
\
.
javacDefaultEncoding..
=
UTF-8
com.gx.obe.struct/src/com/gx/obe/struct/beans/Finance.java
deleted
100644 → 0
View file @
c37b8c75
package
com
.
gx
.
obe
.
struct
.
beans
;
import
java.math.BigDecimal
;
/**
* @Description: 财务报表
* @author chenxw
*/
public
class
Finance
{
/**
* 主键
*/
private
String
id
;
/**
* 项目ID
*/
private
String
tenderId
;
/**
* 模型数据ID
*/
private
String
modelDataId
;
/**
* 年度
*/
private
String
annual
;
/**
* 注册资本
*/
// private BigDecimal registeredCapital;
/**
* 总资产(万元)
*/
private
BigDecimal
total
;
/**
* 利润总额(万元)
*/
private
BigDecimal
profitLossProfit
;
/**
* 营业收入(万元)
*/
private
BigDecimal
operatingIncome
;
/**
* 资产负债率(%)
*/
private
BigDecimal
liabilitiesRate
;
/**
* 流动资产(万元)
*/
private
BigDecimal
currentAssets
;
/**
* 流动负债(万元)
*/
private
BigDecimal
currentLiabilities
;
/**
* 流动比率(%)
*/
private
BigDecimal
currentRate
;
/**
* 净利率(%)
*/
private
BigDecimal
profitRatio
;
/**
* 主营业务利润率(%)
*/
private
BigDecimal
operatingMargin
;
/**
* 净利润(万元)
*/
private
BigDecimal
retainedProfits
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 净资产(万元)
*/
private
BigDecimal
netWorth
;
/**
* 固定资产(万元)
*/
// private BigDecimal fixedAssets;
/**
* 现金流量净额(万元)
*/
// private BigDecimal netCashFlow;
/**
* 净资产收益率(%)
*/
// private BigDecimal returnOnEquity;
/**
* 总资产报酬率(%)
*/
// private BigDecimal returnOnTotalAsset;
/**
* 速动比率(%)
*/
private
BigDecimal
quickRatio
;
/**
* 负债合计(万元)
*/
private
BigDecimal
totalliabilities
;
/**
* 成本费用总额(万元)
*/
private
BigDecimal
totalcost
;
/**
* 速动资产(万元)
*/
private
BigDecimal
quickassets
;
/**
* 主营业务利润(万元)
*/
private
BigDecimal
mainIncomeProfits
;
/**
* 主营业务收入(万元)
*/
private
BigDecimal
primeOperatingRevenue
;
/**
* 资产负债表
*/
// private BalanceSheet balanceSheet;
/**
* 损益表
*/
// private ProfitlossSheet profitlossSheet;
/**
* 现金流量表
*/
// private CashSheet cashSheet;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getTenderId
()
{
return
tenderId
;
}
public
void
setTenderId
(
String
tenderId
)
{
this
.
tenderId
=
tenderId
;
}
public
String
getModelDataId
()
{
return
modelDataId
;
}
public
void
setModelDataId
(
String
modelDataId
)
{
this
.
modelDataId
=
modelDataId
;
}
public
String
getAnnual
()
{
return
annual
;
}
public
void
setAnnual
(
String
annual
)
{
this
.
annual
=
annual
;
}
public
BigDecimal
getTotal
()
{
return
total
;
}
public
void
setTotal
(
BigDecimal
total
)
{
this
.
total
=
total
;
}
public
BigDecimal
getOperatingIncome
()
{
return
operatingIncome
;
}
public
void
setOperatingIncome
(
BigDecimal
operatingIncome
)
{
this
.
operatingIncome
=
operatingIncome
;
}
public
BigDecimal
getLiabilitiesRate
()
{
return
liabilitiesRate
;
}
public
void
setLiabilitiesRate
(
BigDecimal
liabilitiesRate
)
{
this
.
liabilitiesRate
=
liabilitiesRate
;
}
public
BigDecimal
getCurrentAssets
()
{
return
currentAssets
;
}
public
void
setCurrentAssets
(
BigDecimal
currentAssets
)
{
this
.
currentAssets
=
currentAssets
;
}
public
BigDecimal
getCurrentLiabilities
()
{
return
currentLiabilities
;
}
public
void
setCurrentLiabilities
(
BigDecimal
currentLiabilities
)
{
this
.
currentLiabilities
=
currentLiabilities
;
}
public
BigDecimal
getCurrentRate
()
{
return
currentRate
;
}
public
void
setCurrentRate
(
BigDecimal
currentRate
)
{
this
.
currentRate
=
currentRate
;
}
public
BigDecimal
getOperatingMargin
()
{
return
operatingMargin
;
}
public
void
setOperatingMargin
(
BigDecimal
operatingMargin
)
{
this
.
operatingMargin
=
operatingMargin
;
}
public
BigDecimal
getRetainedProfits
()
{
return
retainedProfits
;
}
public
void
setRetainedProfits
(
BigDecimal
retainedProfits
)
{
this
.
retainedProfits
=
retainedProfits
;
}
public
String
getCompanyName
()
{
return
companyName
;
}
public
void
setCompanyName
(
String
companyName
)
{
this
.
companyName
=
companyName
;
}
public
BigDecimal
getNetWorth
()
{
return
netWorth
;
}
public
void
setNetWorth
(
BigDecimal
netWorth
)
{
this
.
netWorth
=
netWorth
;
}
// public BigDecimal getFixedAssets() {
// return fixedAssets;
// }
//
// public void setFixedAssets(BigDecimal fixedAssets) {
// this.fixedAssets = fixedAssets;
// }
//
// public BigDecimal getNetCashFlow() {
// return netCashFlow;
// }
//
// public void setNetCashFlow(BigDecimal netCashFlow) {
// this.netCashFlow = netCashFlow;
// }
//
// public BigDecimal getReturnOnEquity() {
// return returnOnEquity;
// }
//
// public void setReturnOnEquity(BigDecimal returnOnEquity) {
// this.returnOnEquity = returnOnEquity;
// }
//
// public BigDecimal getReturnOnTotalAsset() {
// return returnOnTotalAsset;
// }
//
// public void setReturnOnTotalAsset(BigDecimal returnOnTotalAsset) {
// this.returnOnTotalAsset = returnOnTotalAsset;
// }
public
BigDecimal
getQuickRatio
()
{
return
quickRatio
;
}
public
void
setQuickRatio
(
BigDecimal
quickRatio
)
{
this
.
quickRatio
=
quickRatio
;
}
public
BigDecimal
getTotalliabilities
()
{
return
totalliabilities
;
}
public
void
setTotalliabilities
(
BigDecimal
totalliabilities
)
{
this
.
totalliabilities
=
totalliabilities
;
}
// public BalanceSheet getBalanceSheet() {
// return balanceSheet;
// }
//
// public void setBalanceSheet(BalanceSheet balanceSheet) {
// this.balanceSheet = balanceSheet;
// }
//
// public ProfitlossSheet getProfitlossSheet() {
// return profitlossSheet;
// }
//
// public void setProfitlossSheet(ProfitlossSheet profitlossSheet) {
// this.profitlossSheet = profitlossSheet;
// }
//
// public CashSheet getCashSheet() {
// return cashSheet;
// }
//
// public void setCashSheet(CashSheet cashSheet) {
// this.cashSheet = cashSheet;
// }
// public BigDecimal getRegisteredCapital() {
// return registeredCapital;
// }
//
// public void setRegisteredCapital(BigDecimal registeredCapital) {
// this.registeredCapital = registeredCapital;
// }
public
BigDecimal
getTotalcost
()
{
return
totalcost
;
}
public
void
setTotalcost
(
BigDecimal
totalcost
)
{
this
.
totalcost
=
totalcost
;
}
public
BigDecimal
getQuickassets
()
{
return
quickassets
;
}
public
void
setQuickassets
(
BigDecimal
quickassets
)
{
this
.
quickassets
=
quickassets
;
}
public
BigDecimal
getMainIncomeProfits
()
{
return
mainIncomeProfits
;
}
public
void
setMainIncomeProfits
(
BigDecimal
mainIncomeProfits
)
{
this
.
mainIncomeProfits
=
mainIncomeProfits
;
}
public
BigDecimal
getPrimeOperatingRevenue
()
{
return
primeOperatingRevenue
;
}
public
void
setPrimeOperatingRevenue
(
BigDecimal
primeOperatingRevenue
)
{
this
.
primeOperatingRevenue
=
primeOperatingRevenue
;
}
public
BigDecimal
getProfitLossProfit
()
{
return
profitLossProfit
;
}
public
void
setProfitLossProfit
(
BigDecimal
profitLossProfit
)
{
this
.
profitLossProfit
=
profitLossProfit
;
}
public
BigDecimal
getProfitRatio
()
{
return
profitRatio
;
}
public
void
setProfitRatio
(
BigDecimal
profitRatio
)
{
this
.
profitRatio
=
profitRatio
;
}
}
\ No newline at end of file
com.gx.obe.struct/src/com/gx/obe/struct/beans/StructDateInfo.java
View file @
d45e3f29
...
...
@@ -3,6 +3,8 @@ package com.gx.obe.struct.beans;
import
java.util.List
;
import
java.util.concurrent.CopyOnWriteArrayList
;
import
com.gx.obe.components.core.vo.Finance
;
public
class
StructDateInfo
{
private
final
List
<
TemplateDataItem
>
templateDataItemList
=
new
CopyOnWriteArrayList
<>();
...
...
com.gx.obe.struct/src/com/gx/obe/struct/beans/Td.java
View file @
d45e3f29
...
...
@@ -5,7 +5,7 @@ public class Td {
private
String
colType
;
private
String
content
;
private
int
width
;
private
boolean
n
eedFill
;
private
boolean
isN
eedFill
;
public
String
getColType
()
{
return
colType
;
...
...
@@ -32,11 +32,11 @@ public class Td {
}
public
boolean
isNeedFill
()
{
return
n
eedFill
;
return
isN
eedFill
;
}
public
void
set
NeedFill
(
boolean
n
eedFill
)
{
this
.
needFill
=
n
eedFill
;
public
void
set
IsNeedFill
(
boolean
isN
eedFill
)
{
this
.
isNeedFill
=
isN
eedFill
;
}
}
\ No newline at end of file
com.gx.obe.struct/src/com/gx/obe/struct/composite/ClearBidReviewEntryComposite.java
deleted
100644 → 0
View file @
c37b8c75
package
com
.
gx
.
obe
.
struct
.
composite
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.MessageDialog
;
import
org.eclipse.swt.core.widgets.ELink
;
import
org.eclipse.swt.core.widgets.ESepator
;
import
org.eclipse.swt.core.widgets.ImageButton
;
import
org.eclipse.swt.events.ModifyEvent
;
import
org.eclipse.swt.events.ModifyListener
;
import
org.eclipse.swt.events.MouseAdapter
;
import
org.eclipse.swt.events.MouseEvent
;
import
org.eclipse.swt.events.MouseListener
;
import
org.eclipse.swt.graphics.Rectangle
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Label
;
import
org.eclipse.swt.widgets.Text
;
import
com.gx.obe.ColorConstants
;
import
com.gx.obe.bind.prop.Prop
;
import
com.gx.obe.business.entity.SupplierEvaluationFactor
;
import
com.gx.obe.common.icons.IconsActivator
;
import
com.gx.obe.common.widget.button.EvaluationButton
;
import
com.gx.obe.common.widget.text.EvalFactorText
;
import
com.gx.obe.struct.dialog.EditOpinionShell
;
import
com.gx.obe.struct.enums.EvaluationFactorTypeEnum
;
import
com.gx.obe.struct.listener.EditOpinionListener
;
import
com.gx.obe.struct.listener.ReturnListener
;
import
com.gx.obe.util.utils.ObjectUtils
;
import
com.gx.obe.util.utils.StringUtils
;
import
com.gx.obe.util.utils.UuidUtils
;
import
com.gx.obe.web.entity.evaluation.EvaluationFactor
;
import
com.gx.obe.web.service.SupplierEvaluationFactorService
;
import
com.swtdesigner.ResourceManager
;
import
com.swtdesigner.SWTResourceManager
;
public
class
ClearBidReviewEntryComposite
extends
Composite
{
private
final
SupplierEvaluationFactorService
supplierEvaluationFactorService
=
new
SupplierEvaluationFactorService
();
private
final
Prop
<
EvaluationFactor
>
evaluationFactorProp
=
new
Prop
<>();
private
final
Prop
<
EvaluationContentData
>
evaluationContentData
=
new
Prop
<>();
private
final
List
<
ReturnListener
>
returnListenerList
=
new
ArrayList
<>();
private
class
EvaluationContentData
{
private
String
supplierId
;
private
String
factorCode
;
private
EvaluationFactorTypeEnum
factorTypeEnum
;
}
private
EvaluationFactor
curFactor
;
private
SupplierEvaluationFactor
supplierEvaluationFactor
;
private
Composite
factorOpinionComposite
;
private
Text
opinionText
;
private
Text
supplierOpinionText
;
private
ImageButton
opinionBtn
;
private
ImageButton
supplierOpinionBtn
;
private
EvaluationButton
saveBtn
;
private
Label
wordCountLabel
;
private
ELink
editOpinionLink
;
private
EvaluationButton
backBtn
;
public
ClearBidReviewEntryComposite
(
Composite
parent
,
String
tenderId
)
{
super
(
parent
,
SWT
.
NONE
);
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
GridLayout
gridLayout
=
new
GridLayout
(
3
,
false
);
gridLayout
.
horizontalSpacing
=
0
;
gridLayout
.
marginHeight
=
0
;
gridLayout
.
marginWidth
=
0
;
setLayout
(
gridLayout
);
EvaluationContentComposite
composite
=
new
EvaluationContentComposite
(
this
,
tenderId
);
GridData
gd_composite
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_composite
.
widthHint
=
600
;
composite
.
setLayoutData
(
gd_composite
);
evaluationContentData
.
bind
(
t
->
composite
.
refresh
(
t
.
supplierId
,
t
.
factorCode
,
t
.
factorTypeEnum
));
ESepator
label
=
new
ESepator
(
this
,
SWT
.
VERTICAL
);
label
.
setLayoutData
(
new
GridData
(
SWT
.
LEFT
,
SWT
.
FILL
,
false
,
true
,
1
,
1
));
label
.
setBackground
(
ColorConstants
.
BORDER_LINE_COLOR
);
Composite
composite_1
=
new
Composite
(
this
,
SWT
.
NONE
);
composite_1
.
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WIDGET_LIGHT_SHADOW
));
GridLayout
gl_composite_1
=
new
GridLayout
(
1
,
false
);
gl_composite_1
.
verticalSpacing
=
1
;
gl_composite_1
.
marginHeight
=
0
;
gl_composite_1
.
marginWidth
=
0
;
composite_1
.
setLayout
(
gl_composite_1
);
GridData
gd_composite_1
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_composite_1
.
widthHint
=
400
;
composite_1
.
setLayoutData
(
gd_composite_1
);
Composite
composite_2
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
composite_2
.
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
composite_2
.
setLayout
(
new
GridLayout
(
1
,
false
));
GridData
gd_composite_2
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_composite_2
.
heightHint
=
260
;
composite_2
.
setLayoutData
(
gd_composite_2
);
EvalFactorText
text
=
new
EvalFactorText
(
composite_2
);
text
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
));
evaluationFactorProp
.
bind
(
text:
:
refresh
);
Composite
selfOpinionComposite
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
selfOpinionComposite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
false
,
1
,
1
));
GridLayout
gl_selfOpinion
=
new
GridLayout
(
1
,
false
);
gl_selfOpinion
.
marginWidth
=
0
;
gl_selfOpinion
.
marginHeight
=
0
;
selfOpinionComposite
.
setLayout
(
gl_selfOpinion
);
selfOpinionComposite
.
setBackground
(
SWTResourceManager
.
getColor
(
240
,
240
,
240
));
selfOpinionComposite
.
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
supplierOpinionBtn
=
new
ImageButton
(
selfOpinionComposite
,
SWT
.
NONE
);
supplierOpinionBtn
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
));
supplierOpinionBtn
.
setLeftMargin
(
20
);
supplierOpinionBtn
.
setRightMargin
(
20
);
supplierOpinionBtn
.
setFont
(
SWTResourceManager
.
getFont
(
"微软雅黑"
,
10
,
SWT
.
NORMAL
));
supplierOpinionBtn
.
setText
(
"自评意见"
);
setanswerBtnCss
(
supplierOpinionBtn
);
Composite
selfOpinionTextComposite
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
selfOpinionTextComposite
.
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
selfOpinionTextComposite
.
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
GridData
gd_selfOpinionTextComposite
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_selfOpinionTextComposite
.
heightHint
=
150
;
selfOpinionTextComposite
.
setLayoutData
(
gd_selfOpinionTextComposite
);
selfOpinionTextComposite
.
setLayout
(
new
GridLayout
(
1
,
false
));
supplierOpinionText
=
new
Text
(
selfOpinionTextComposite
,
SWT
.
WRAP
|
SWT
.
V_SCROLL
|
SWT
.
H_SCROLL
);
supplierOpinionText
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
));
supplierOpinionText
.
setEditable
(
false
);
Composite
opinionComposite
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
opinionComposite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
false
,
1
,
1
));
GridLayout
gl_opinion
=
new
GridLayout
(
1
,
false
);
gl_opinion
.
marginWidth
=
0
;
gl_opinion
.
marginHeight
=
0
;
opinionComposite
.
setLayout
(
gl_opinion
);
opinionComposite
.
setBackground
(
SWTResourceManager
.
getColor
(
240
,
240
,
240
));
opinionComposite
.
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
opinionBtn
=
new
ImageButton
(
opinionComposite
,
SWT
.
NONE
);
opinionBtn
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
false
,
false
,
1
,
1
));
opinionBtn
.
setFont
(
SWTResourceManager
.
getFont
(
"微软雅黑"
,
10
,
SWT
.
NORMAL
));
opinionBtn
.
setText
(
"评议意见"
);
setanswerBtnCss
(
opinionBtn
);
factorOpinionComposite
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
factorOpinionComposite
.
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
factorOpinionComposite
.
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
GridLayout
gl_factorOpinionComposite
=
new
GridLayout
(
2
,
false
);
gl_factorOpinionComposite
.
marginHeight
=
0
;
gl_factorOpinionComposite
.
marginWidth
=
0
;
factorOpinionComposite
.
setLayout
(
gl_factorOpinionComposite
);
GridData
gd_factorOpinionComposite
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_factorOpinionComposite
.
heightHint
=
180
;
factorOpinionComposite
.
setLayoutData
(
gd_factorOpinionComposite
);;
opinionText
=
new
Text
(
factorOpinionComposite
,
SWT
.
WRAP
|
SWT
.
V_SCROLL
);
opinionText
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
2
,
1
));;
opinionText
.
addModifyListener
(
new
ModifyListener
()
{
public
void
modifyText
(
ModifyEvent
arg0
)
{
wordCountLabel
.
setText
(
opinionText
.
getText
().
length
()
+
"/2000"
);
}
});
opinionText
.
setTextLimit
(
2000
);
opinionText
.
setEditable
(
false
);
wordCountLabel
=
new
Label
(
factorOpinionComposite
,
SWT
.
NONE
);
wordCountLabel
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
false
,
1
,
1
));;
wordCountLabel
.
setText
(
"0/2000"
);
editOpinionLink
=
new
ELink
(
factorOpinionComposite
,
SWT
.
NONE
);
editOpinionLink
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
false
,
false
,
1
,
1
));;
editOpinionLink
.
setText
(
"修改"
);
editOpinionLink
.
setImage
(
ResourceManager
.
getPluginImage
(
IconsActivator
.
PLUGIN_ID
,
"icons/btn/blue/edit.png"
));
editOpinionLink
.
addMouseListener
(
new
MouseAdapter
()
{
public
void
mouseUp
(
MouseEvent
e
)
{
editOpinionAction
();
}
});
Composite
buttonComposite
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
buttonComposite
.
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
buttonComposite
.
setLayout
(
new
GridLayout
(
2
,
false
));
buttonComposite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
saveBtn
=
new
EvaluationButton
(
buttonComposite
,
SWT
.
NONE
);
saveBtn
.
addMouseListener
(
MouseListener
.
mouseUpAdapter
(
$
->
saveAction
()));
saveBtn
.
setLayoutData
(
new
GridData
(
SWT
.
RIGHT
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
saveBtn
.
setText
(
"保存"
);
backBtn
=
new
EvaluationButton
(
buttonComposite
,
SWT
.
NONE
);
backBtn
.
addMouseListener
(
MouseListener
.
mouseUpAdapter
(
$
->
returnAction
()));
backBtn
.
setLayoutData
(
new
GridData
(
SWT
.
LEFT
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
backBtn
.
setText
(
"返回"
);
}
public
void
refresh
(
EvaluationFactor
evaluationFactor
,
SupplierEvaluationFactor
supplierEvaluationFactor
,
EvaluationFactorTypeEnum
factorTypeEnum
)
{
this
.
supplierEvaluationFactor
=
supplierEvaluationFactor
;
this
.
evaluationFactorProp
.
set
(
evaluationFactor
);
this
.
curFactor
=
evaluationFactor
;
EvaluationContentData
data
=
new
EvaluationContentData
();
data
.
supplierId
=
supplierEvaluationFactor
.
getSupplierId
();
data
.
factorCode
=
supplierEvaluationFactor
.
getFactorCode
();
data
.
factorTypeEnum
=
factorTypeEnum
;
this
.
evaluationContentData
.
set
(
data
);
saveBtn
.
setEnabled
(
false
);
opinionText
.
setText
(
ObjectUtils
.
getObjString
(
supplierEvaluationFactor
.
getOpinion
()));
opinionText
.
setToolTipText
(
supplierEvaluationFactor
.
getModifyReason
());
supplierOpinionText
.
setText
(
ObjectUtils
.
getObjString
(
supplierEvaluationFactor
.
getFactorResponse
()));
}
/**
* @Description: 设置指标分类的按钮
* @author wangxiang
* @param imageBtn
*/
private
void
setanswerBtnCss
(
ImageButton
imageBtn
)
{
imageBtn
.
setRightMargin
(
10
);
imageBtn
.
setLeftMargin
(
10
);
imageBtn
.
setTopMargin
(
5
);
imageBtn
.
setBottomMargin
(
5
);
imageBtn
.
setRightMargin
(
20
);
imageBtn
.
setLeftMargin
(
20
);
imageBtn
.
setTopMargin
(
5
);
imageBtn
.
setBottomMargin
(
5
);
imageBtn
.
setRightMargin
(
10
);
imageBtn
.
setFont
(
SWTResourceManager
.
getFont
(
"微软雅黑"
,
10
,
SWT
.
NORMAL
));
imageBtn
.
setForeground
(
ColorConstants
.
SKIN_SELECTOIN_FOREGROUND
);
imageBtn
.
setBackgroundColor
(
ColorConstants
.
SKIN_BG
);
}
public
void
addReturnListener
(
ReturnListener
returnListener
)
{
this
.
returnListenerList
.
add
(
returnListener
);
}
/**
* 修改评审意见
*/
private
void
editOpinionAction
()
{
if
(
null
!=
supplierEvaluationFactor
)
{
opinionText
.
setText
(
ObjectUtils
.
getObjString
(
supplierEvaluationFactor
.
getOpinion
()));
final
boolean
saveBtnIsEnabled
=
saveBtn
.
getEnabled
();
saveBtn
.
setEnabled
(
false
);
EditOpinionShell
editOpinionShell
=
new
EditOpinionShell
(
getShell
(),
curFactor
,
supplierEvaluationFactor
,
new
EditOpinionListener
()
{
@Override
public
void
editOpinion
(
String
opinion
,
String
modifyReason
)
{
saveBtn
.
setEnabled
(
true
);
opinionText
.
setText
(
ObjectUtils
.
getObjString
(
opinion
));
opinionText
.
setToolTipText
(
modifyReason
);
supplierEvaluationFactor
.
setModifyReason
(
modifyReason
);
}
@Override
public
void
cancle
()
{
saveBtn
.
setEnabled
(
saveBtnIsEnabled
);
}
});
if
(
null
!=
editOpinionShell
&&
!
editOpinionShell
.
isDisposed
())
{
// 设置界面位置
editOpinionShell
.
setLocation
(
factorOpinionComposite
.
toDisplay
(
0
,
0
));
Rectangle
rectangle
=
factorOpinionComposite
.
getBounds
();
// 设置界面大小
editOpinionShell
.
setSize
(
rectangle
.
width
,
rectangle
.
height
);
editOpinionShell
.
open
();
}
}
}
private
void
saveAction
()
{
if
(!
saveBtn
.
getEnabled
())
return
;
if
(
opinionText
.
getText
().
trim
().
length
()
==
0
)
{
MessageDialog
.
openShortMessage
(
"评议意见不能为空!"
);
return
;
}
saveBtn
.
setEnabled
(
false
);
backBtn
.
setEnabled
(
false
);
supplierEvaluationFactor
.
setOpinion
(
opinionText
.
getText
());
boolean
saveFlag
=
false
;
if
(
StringUtils
.
isEmpty
(
supplierEvaluationFactor
.
getId
()))
{
supplierEvaluationFactor
.
setId
(
UuidUtils
.
getUUID
());
saveFlag
=
supplierEvaluationFactorService
.
insert
(
supplierEvaluationFactor
);
}
else
{
// TODO 这里需要保存修改原因
saveFlag
=
supplierEvaluationFactorService
.
updateAssignProperty
(
supplierEvaluationFactor
,
new
String
[]
{
"opinion"
,
"factorResponse"
,
"modifyReason"
,
"paramValues"
});
// saveFlag = supplierEvaluationFactorService.updateAssignProperty(supplierEvaluationFactor, new String[] { "opinion", "factorResponse" ,"paramValues"});
}
if
(
saveFlag
)
{
MessageDialog
.
openShortMessage
(
"保存成功!"
);
}
else
{
MessageDialog
.
openWarning
(
getShell
(),
"保存失败!"
);
saveBtn
.
setEnabled
(
true
);
}
backBtn
.
setEnabled
(
true
);
}
private
void
returnAction
()
{
returnListenerList
.
forEach
(
l
->
l
.
returnAction
());
}
@Override
protected
void
checkSubclass
()
{}
}
com.gx.obe.struct/src/com/gx/obe/struct/composite/EvaluationContentComposite.java
deleted
100644 → 0
View file @
c37b8c75
package
com
.
gx
.
obe
.
struct
.
composite
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.function.Consumer
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.widgets.ELink
;
import
org.eclipse.swt.core.widgets.ESepator
;
import
org.eclipse.swt.custom.StackLayout
;
import
org.eclipse.swt.events.MouseListener
;
import
org.eclipse.swt.layout.FillLayout
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.layout.RowLayout
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Label
;
import
com.gx.obe.ColorConstants
;
import
com.gx.obe.bind.prop.Prop
;
import
com.gx.obe.common.widget.button.RectangleRadioButton
;
import
com.gx.obe.component.handler.TabHandler
;
import
com.gx.obe.component.rx.RxSwt
;
import
com.gx.obe.components.core.Constants
;
import
com.gx.obe.components.core.global.Global
;
import
com.gx.obe.components.core.inter.PdfFileView
;
import
com.gx.obe.struct.beans.ModelData
;
import
com.gx.obe.struct.enums.DataCategoryEnum
;
import
com.gx.obe.struct.enums.EvaluationFactorTypeEnum
;
import
com.gx.obe.struct.enums.ModelDataTypeEnum
;
import
com.gx.obe.struct.handler.RelChapterTypeHandler
;
import
com.gx.obe.struct.parse.BidFileIndexTreeXmlParse
;
import
com.gx.obe.struct.service.EvaluationContentService
;
import
com.gx.obe.struct.service.ModelDataService
;
import
com.gx.obe.util.utils.CollectionUtils
;
import
com.gx.obe.web.entity.evaluation.EvaluationContent
;
import
com.swtdesigner.SWTResourceManager
;
public
class
EvaluationContentComposite
extends
Composite
{
private
final
EvaluationContentService
evaluationContentService
=
new
EvaluationContentService
();
private
final
ModelDataService
modelDataService
=
new
ModelDataService
();
private
final
String
tenderId
;
private
final
Prop
<
EvaluationContentData
>
evaluationContentData
=
new
Prop
<>();
private
final
Prop
<
PdfFileData
>
pdfFileData
=
new
Prop
<>();
private
final
Prop
<
String
>
tips
=
new
Prop
<>();
private
final
Prop
<
Boolean
>
showFile
=
new
Prop
<>();
private
final
Prop
<
Boolean
>
showSwitch
=
new
Prop
<>(
false
);
private
class
RootNodeChapterData
{
private
String
name
;
private
String
type
;
}
private
class
EvaluationContentData
{
private
String
supplierId
;
private
EvaluationFactorTypeEnum
factorTypeEnum
;
private
List
<
EvaluationContent
>
evaluationContentList
;
}
private
class
PdfFileData
{
private
String
url
;
private
int
pageNum
;
}
public
EvaluationContentComposite
(
Composite
parent
,
String
tenderId
)
{
super
(
parent
,
SWT
.
NONE
);
this
.
tenderId
=
tenderId
;
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
GridLayout
gridLayout
=
new
GridLayout
(
1
,
false
);
gridLayout
.
verticalSpacing
=
0
;
gridLayout
.
marginHeight
=
0
;
gridLayout
.
marginWidth
=
0
;
setLayout
(
gridLayout
);
Composite
composite_5
=
new
Composite
(
this
,
SWT
.
NONE
);
composite_5
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
false
,
false
,
1
,
1
));
GridLayout
gl_composite_5
=
new
GridLayout
(
2
,
false
);
gl_composite_5
.
marginHeight
=
0
;
gl_composite_5
.
marginWidth
=
0
;
composite_5
.
setLayout
(
gl_composite_5
);
Composite
composite
=
new
Composite
(
composite_5
,
SWT
.
NONE
);
composite
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
BOTTOM
,
true
,
true
,
1
,
1
));
RowLayout
rl_composite
=
new
RowLayout
(
SWT
.
HORIZONTAL
);
rl_composite
.
marginBottom
=
0
;
rl_composite
.
marginTop
=
0
;
composite
.
setLayout
(
rl_composite
);
TabHandler
<
RectangleRadioButton
>
handler
=
new
TabHandler
<>(
composite
,
t
->
new
RectangleRadioButton
(
t
,
SWT
.
NONE
));
Composite
composite_6
=
new
Composite
(
composite_5
,
SWT
.
NONE
);
GridLayout
gl_composite_6
=
new
GridLayout
(
1
,
false
);
gl_composite_6
.
marginHeight
=
4
;
composite_6
.
setLayout
(
gl_composite_6
);
ELink
link
=
new
ELink
(
composite_6
,
SWT
.
NONE
);
link
.
addMouseListener
(
MouseListener
.
mouseUpAdapter
(
$
->
showFile
.
replace
(
t
->
!
t
)));
link
.
setText
(
"切换视图"
);
showSwitch
.
bind
(
link:
:
setVisible
);
ESepator
label_1
=
new
ESepator
(
this
,
SWT
.
HORIZONTAL
);
label_1
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
label_1
.
setBackground
(
ColorConstants
.
SKIN_BG
);
StackLayout
stackLayout
=
new
StackLayout
();
Composite
composite_1
=
new
Composite
(
this
,
SWT
.
NONE
);
composite_1
.
setLayout
(
stackLayout
);
composite_1
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
));
Consumer
<
Composite
>
topControl
=
t
->
{
stackLayout
.
topControl
=
t
;
composite_1
.
layout
();
};
ModelDataComposite
composite_2
=
new
ModelDataComposite
(
composite_1
,
tenderId
);
Composite
composite_3
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
composite_3
.
setLayout
(
new
FillLayout
(
SWT
.
HORIZONTAL
));
PdfFileView
load
=
Global
.
PDF_FILE_VIEW
.
load
(
composite_3
,
SWT
.
NONE
);
load
.
setFileNotExistMessage
(
"文件不存在,请检查是否已下载投标文件!"
);
pdfFileData
.
bind
(
t
->
load
.
openFile
(
t
.
url
,
t
.
pageNum
));
Composite
composite_4
=
new
Composite
(
composite_1
,
SWT
.
NONE
);
composite_4
.
setLayout
(
new
GridLayout
(
1
,
false
));
Label
label
=
new
Label
(
composite_4
,
SWT
.
WRAP
);
label
.
setForeground
(
SWTResourceManager
.
getColor
(
200
,
200
,
200
));
label
.
setFont
(
SWTResourceManager
.
getFont
(
"宋体"
,
20
,
SWT
.
BOLD
));
label
.
setLayoutData
(
new
GridData
(
SWT
.
CENTER
,
SWT
.
CENTER
,
true
,
true
,
1
,
1
));
tips
.
bind
(
t
->
{
label
.
setText
(
t
);
label
.
getParent
().
layout
();
});
showFile
.
bind
(
t
->
{
if
(
t
)
topControl
.
accept
(
composite_3
);
else
topControl
.
accept
(
composite_2
);
});
evaluationContentData
.
bind
(
d
->
{
showSwitch
.
set
(
false
);
handler
.
start
();
if
(
CollectionUtils
.
isNull
(
d
.
evaluationContentList
))
{
rootNodeChapter
(
handler
,
d
.
factorTypeEnum
,
t
->
{
showFile
.
set
(
true
);
RxSwt
.
run
(()
->
getFilePath
(
d
.
supplierId
,
t
.
type
)).
checkWidget
(
this
).
exe
(
pdfFileData:
:
set
);
});
}
else
{
handler
.
listHand
(
d
.
evaluationContentList
,
EvaluationContent:
:
getEvalPointName
,
t
->
{
showSwitch
.
set
(
false
);
switch
(
DataCategoryEnum
.
MAP
.
getOrDefault
(
t
.
getDataCategory
(),
DataCategoryEnum
.
NULL
))
{
case
MD:
getModelData
(
t
.
getRelChapterType
(),
d
.
supplierId
,
md
->
{
if
(
md
==
null
)
{
topControl
.
accept
(
composite_4
);
tips
.
set
(
"当前供应商未检测到"
+
t
.
getEvalPointName
()
+
",请检查是否已解析结构化数据!"
);
}
else
{
if
(
ModelDataTypeEnum
.
EQ_ProjectLeader
.
getKey
().
equals
(
md
.
getRelChapterType
()))
{
showSwitch
.
set
(
true
);
showFile
.
set
(
false
);
composite_2
.
refresh
(
t
,
md
);
RxSwt
.
run
(()
->
getFilePath
(
d
.
supplierId
,
"EnterpriseQualification_technology"
)).
checkWidget
(
this
).
exe
(
pdfFileData:
:
set
);
}
else
{
showFile
.
set
(
false
);
composite_2
.
refresh
(
t
,
md
);
}
}
});
break
;
case
TDI:
case
TT:
case
NULL:
showFile
.
set
(
true
);
RxSwt
.
run
(()
->
getFilePath
(
d
.
supplierId
,
t
.
getRelChapterType
())).
checkWidget
(
this
).
exe
(
pdfFileData:
:
set
);
break
;
}
});
}
handler
.
end
();
});
}
private
void
rootNodeChapter
(
TabHandler
<
RectangleRadioButton
>
handler
,
EvaluationFactorTypeEnum
factorTypeEnum
,
Consumer
<
RootNodeChapterData
>
callback
)
{
handler
.
listHand
(
initRootNodeChapterList
(
factorTypeEnum
).
map
(
t
->
{
String
[]
split
=
t
.
split
(
"-"
,
2
);
RootNodeChapterData
chapterData
=
new
RootNodeChapterData
();
chapterData
.
type
=
split
[
0
];
chapterData
.
name
=
split
[
1
];
return
chapterData
;
}).
collect
(
Collectors
.
toList
()),
t
->
t
.
name
,
callback
);
}
private
void
getModelData
(
String
_relChapterType
,
String
supplierId
,
Consumer
<
ModelData
>
consumer
)
{
RelChapterTypeHandler
typeHandler
=
new
RelChapterTypeHandler
(
_relChapterType
);
Optional
<
ModelDataTypeEnum
>
modelDataTypeEnum
=
Optional
.
of
(
typeHandler
.
getRelChapterType
()).
map
(
ModelDataTypeEnum
.
MAP
::
get
);
String
relChapterType
=
modelDataTypeEnum
.
map
(
ModelDataTypeEnum
.
EQ_ProjectLeader
::
equals
).
orElse
(
false
)
?
typeHandler
.
getRelChapterType
()
:
_relChapterType
;
RxSwt
.
run
(()
->
modelDataService
.
getModelData
(
tenderId
,
supplierId
,
relChapterType
,
relChapterType
)).
checkWidget
(
this
).
exe
(
consumer
);
}
private
Stream
<
String
>
initRootNodeChapterList
(
EvaluationFactorTypeEnum
factorTypeEnum
)
{
if
(
EvaluationFactorTypeEnum
.
BUSINESS
==
factorTypeEnum
)
{
return
Stream
.
of
(
"Business-商务标"
);
}
if
(
EvaluationFactorTypeEnum
.
TECHNOLOGY
==
factorTypeEnum
)
{
return
Stream
.
of
(
"Technology-技术标"
);
}
return
Stream
.
of
(
"Business-商务标"
,
"Technology-技术标"
,
"Price-报价"
);
}
public
void
refresh
(
String
supplierId
,
String
factorCode
,
EvaluationFactorTypeEnum
factorTypeEnum
)
{
RxSwt
.
run
(()
->
{
EvaluationContentData
evaluationContentData
=
new
EvaluationContentData
();
evaluationContentData
.
supplierId
=
supplierId
;
evaluationContentData
.
factorTypeEnum
=
factorTypeEnum
;
evaluationContentData
.
evaluationContentList
=
evaluationContentService
.
getEvaluationContentListByFactorCode
(
tenderId
,
factorCode
);
return
evaluationContentData
;
}).
checkWidget
(
this
).
exe
(
evaluationContentData:
:
set
);
}
private
PdfFileData
getFilePath
(
String
supplierId
,
String
relChapterType
)
{
BidFileIndexTreeXmlParse
bidFileIndexTreeXmlParse
=
new
BidFileIndexTreeXmlParse
(
Constants
.
getBidFilePath
(
tenderId
,
supplierId
),
relChapterType
);
PdfFileData
pdfFileData
=
new
PdfFileData
();
pdfFileData
.
url
=
bidFileIndexTreeXmlParse
.
getRootNodeFilePath
();
pdfFileData
.
pageNum
=
bidFileIndexTreeXmlParse
.
getPageNumInGenerateFile
();
return
pdfFileData
;
}
@Override
protected
void
checkSubclass
()
{}
}
com.gx.obe.struct/src/com/gx/obe/struct/composite/ModelDataComposite.java
deleted
100644 → 0
View file @
c37b8c75
package
com
.
gx
.
obe
.
struct
.
composite
;
import
java.util.Optional
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.listener.RoundBorderLineListener
;
import
org.eclipse.swt.layout.FillLayout
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Label
;
import
com.gx.obe.ColorConstants
;
import
com.gx.obe.bind.call.Call
;
import
com.gx.obe.bind.prop.Prop
;
import
com.gx.obe.struct.beans.ModelData
;
import
com.gx.obe.struct.enums.ModelDataTypeEnum
;
import
com.gx.obe.struct.factory.ModelDataFactory
;
import
com.gx.obe.struct.handler.RelChapterTypeHandler
;
import
com.gx.obe.struct.inters.IModelData
;
import
com.gx.obe.struct.inters.IModelDataDetail
;
import
com.gx.obe.web.entity.evaluation.EvaluationContent
;
import
com.swtdesigner.SWTResourceManager
;
public
class
ModelDataComposite
extends
Composite
{
private
final
Prop
<
String
>
title
=
new
Prop
<>();
private
final
Prop
<
Integer
>
count
=
new
Prop
<>();
private
final
Prop
<
ModelDataTypeEnum
>
modelDataTypeEnum
=
new
Prop
<>();
private
final
Prop
<
ModelData
>
modelData
=
new
Prop
<>();
private
final
Call
call
=
new
Call
();
public
ModelDataComposite
(
Composite
parent
,
String
tenderId
)
{
super
(
parent
,
SWT
.
NONE
);
setBackground
(
SWTResourceManager
.
getColor
(
SWT
.
COLOR_WHITE
));
setBackgroundMode
(
SWT
.
INHERIT_FORCE
);
GridLayout
gridLayout
=
new
GridLayout
(
1
,
false
);
gridLayout
.
verticalSpacing
=
0
;
gridLayout
.
marginHeight
=
0
;
gridLayout
.
marginWidth
=
0
;
setLayout
(
gridLayout
);
Composite
composite
=
new
Composite
(
this
,
SWT
.
NONE
);
GridLayout
gl_composite
=
new
GridLayout
(
1
,
false
);
gl_composite
.
marginTop
=
5
;
gl_composite
.
marginHeight
=
0
;
gl_composite
.
marginWidth
=
0
;
composite
.
setLayout
(
gl_composite
);
GridData
gd_composite
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_composite
.
heightHint
=
400
;
composite
.
setLayoutData
(
gd_composite
);
Composite
composite_2
=
new
Composite
(
composite
,
SWT
.
NONE
);
GridLayout
gl_composite_2
=
new
GridLayout
(
2
,
false
);
gl_composite_2
.
marginWidth
=
0
;
composite_2
.
setLayout
(
gl_composite_2
);
composite_2
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
Label
lblNewLabel
=
new
Label
(
composite_2
,
SWT
.
NONE
);
lblNewLabel
.
setFont
(
SWTResourceManager
.
getFont
(
"Microsoft YaHei UI"
,
10
,
SWT
.
BOLD
));
title
.
bind
(
t
->
{
lblNewLabel
.
setText
(
t
);
composite_2
.
layout
();
});
Composite
composite_4
=
new
Composite
(
composite_2
,
SWT
.
NONE
);
composite_4
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
CENTER
,
true
,
false
,
1
,
1
));
GridLayout
gl_composite_4
=
new
GridLayout
(
3
,
false
);
gl_composite_4
.
marginHeight
=
0
;
composite_4
.
setLayout
(
gl_composite_4
);
Label
lblNewLabel_1
=
new
Label
(
composite_4
,
SWT
.
NONE
);
lblNewLabel_1
.
setLayoutData
(
new
GridData
(
SWT
.
LEFT
,
SWT
.
BOTTOM
,
false
,
false
,
1
,
1
));
lblNewLabel_1
.
setText
(
"共有"
);
Label
lblNewLabel_2
=
new
Label
(
composite_4
,
SWT
.
NONE
);
lblNewLabel_2
.
setForeground
(
SWTResourceManager
.
getColor
(
255
,
93
,
0
));
lblNewLabel_2
.
setFont
(
SWTResourceManager
.
getFont
(
"Microsoft YaHei UI"
,
10
,
SWT
.
BOLD
));
count
.
bind
(
t
->
{
lblNewLabel_2
.
setText
(
String
.
valueOf
(
t
));
composite_4
.
layout
();
});
Label
lblNewLabel_3
=
new
Label
(
composite_4
,
SWT
.
NONE
);
lblNewLabel_3
.
setLayoutData
(
new
GridData
(
SWT
.
LEFT
,
SWT
.
BOTTOM
,
false
,
false
,
1
,
1
));
title
.
bind
(
t
->
{
lblNewLabel_3
.
setText
(
"条"
+
t
+
"信息"
);
composite_4
.
layout
();
});
Composite
composite_3
=
new
Composite
(
composite
,
SWT
.
NONE
);
FillLayout
fl_composite_3
=
new
FillLayout
(
SWT
.
HORIZONTAL
);
fl_composite_3
.
marginHeight
=
1
;
fl_composite_3
.
marginWidth
=
1
;
composite_3
.
setLayout
(
fl_composite_3
);
composite_3
.
setLayoutData
(
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
));
composite_3
.
addPaintListener
(
new
RoundBorderLineListener
(
ColorConstants
.
BORDER_LINE_COLOR
));
ModelDataDetailComposite
composite_1
=
new
ModelDataDetailComposite
(
this
,
tenderId
);
composite_1
.
setLayout
(
new
GridLayout
(
1
,
false
));
GridData
gd_composite_1
=
new
GridData
(
SWT
.
FILL
,
SWT
.
FILL
,
true
,
true
,
1
,
1
);
gd_composite_1
.
heightHint
=
500
;
composite_1
.
setLayoutData
(
gd_composite_1
);
IModelDataDetail
modelDataDetail
=
composite_1
.
getModelDataDetail
();
call
.
bind
(()
->
modelDataDetail
.
refreshTitle
(
""
));
modelDataTypeEnum
.
bind
(
t
->
{
IModelData
iModelData
=
ModelDataFactory
.
create
(
composite_3
,
modelDataDetail
,
t
);
iModelData
.
setCountWrite
(
count:
:
set
);
modelData
.
bind
(
iModelData:
:
refresh
);
});
}
public
void
refresh
(
EvaluationContent
evaluationContent
,
ModelData
modelData
)
{
Optional
.
of
(
evaluationContent
).
map
(
EvaluationContent:
:
getEvalPointName
).
ifPresent
(
title:
:
set
);
Optional
.
of
(
evaluationContent
).
map
(
t
->
{
return
new
RelChapterTypeHandler
(
t
.
getRelChapterType
()).
getRelChapterType
();
}).
map
(
ModelDataTypeEnum
.
MAP
::
get
).
ifPresent
(
modelDataTypeEnum:
:
set
);
this
.
modelData
.
set
(
modelData
);
this
.
call
.
exe
();
}
@Override
protected
void
checkSubclass
()
{}
}
com.gx.obe.struct/src/com/gx/obe/struct/composite/TemplateTableComparisonComposite.java
View file @
d45e3f29
...
...
@@ -3,8 +3,10 @@ package com.gx.obe.struct.composite;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
...
...
@@ -24,13 +26,13 @@ import com.gx.obe.component.rx.RxSwt;
import
com.gx.obe.component.utils.CompositeUtils
;
import
com.gx.obe.components.core.Constants
;
import
com.gx.obe.components.core.enumeration.CommonEnum
;
import
com.gx.obe.components.core.vo.Finance
;
//import com.gx.obe.components.core.vo.TableXML;
//import com.gx.obe.components.core.vo.TableXML.Tr;
//import com.gx.obe.components.core.vo.TableXML.Tr.Td;
import
com.gx.obe.http.json.JsonUtil
;
import
com.gx.obe.message.Messages
;
import
com.gx.obe.struct.beans.BidderBasicInfo
;
import
com.gx.obe.struct.beans.Finance
;
import
com.gx.obe.struct.beans.ModelData
;
import
com.gx.obe.struct.beans.Performance
;
import
com.gx.obe.struct.beans.TableXML2
;
...
...
@@ -62,7 +64,7 @@ public class TemplateTableComparisonComposite extends Composite {
private
final
Prop
<
ComparisonData
>
comparisonData
=
new
Prop
<>();
private
KTableDataSource
kTableDataSource
=
null
;
private
List
<
Map
<
String
,
String
>>
rowList
;
// private Set<Integer> indexSet = new HashSet<Integer>();// 判断索引是否为固定列,如果固定列在供应商列表不展示该列,作为公共列
public
TemplateTableComparisonComposite
(
Composite
parent
,
int
style
)
{
super
(
parent
,
style
);
setLayout
(
new
FillLayout
(
SWT
.
HORIZONTAL
));
...
...
@@ -127,6 +129,7 @@ public class TemplateTableComparisonComposite extends Composite {
//获取供应商行数最多作为展示表格的行数
Map
<
String
,
TemplateTable
>
templateTableMap
=
templateTableList
.
stream
().
collect
(
Collectors
.
toMap
(
TemplateTable:
:
getSupplierId
,
Function
.
identity
()));
for
(
TemplateTable
templateTable
:
templateTableList
)
{
// System.out.println(templateTable.getTableInfo());
TableXML2
tableXML
=
JsonUtil
.
jsonToBean
(
templateTable
.
getTableInfo
(),
TableXML2
.
class
);
if
(
rowCount
<
tableXML
.
getBodyList
().
size
())
{
rowCount
=
tableXML
.
getBodyList
().
size
();
...
...
@@ -153,25 +156,58 @@ public class TemplateTableComparisonComposite extends Composite {
// comparisonData.addRow(getContent(tr, indexCol.getAsInt()));
// }
for
(
int
index
=
0
;
index
<
rowCount
;
index
++)
{
comparisonData
.
addRow
(
(
index
+
1
)
+
""
);
comparisonData
.
addRow
(
index
+
""
);
}
//表头列
int
colIndex
=
0
;
Set
<
Integer
>
indexSet
=
new
HashSet
<
Integer
>();
if
(
null
!=
head
&&
null
!=
head
.
getTds
()
&&
head
.
getTds
().
length
>
0
)
{
for
(
int
index
=
0
;
index
<
head
.
getTds
().
length
;
index
++
)
{
Td
td
=
head
.
getTds
()[
index
];
if
(!
td
.
isNeedFill
())
{
comparisonData
.
addTitleCol
(
new
Column
(
colIndex
+
""
,
td
.
getContent
()));
List
<
Tr
>
bodyList
=
tableXML
.
getBodyList
();
for
(
int
bodyRowIndex
=
0
;
bodyRowIndex
<
bodyList
.
size
();
bodyRowIndex
++
)
{
Tr
bodyTr
=
bodyList
.
get
(
bodyRowIndex
);
Td
bodyTd
=
bodyTr
.
getTds
()[
index
];
comparisonData
.
putComparisonContent
(
bodyRowIndex
+
""
,
""
,
index
+
""
,
bodyTd
.
getContent
());
}
indexSet
.
add
(
index
);
colIndex
++;
}
}
}
comparisonData
.
setDataMap
(
"hasFixTableRow"
,
indexSet
);
for
(
Supplier
supplier
:
supplierList
)
{
comparisonData
.
addTitleCol
(
new
Column
(
supplier
.
getId
(),
supplier
.
getSupplierName
()));
}
//供应商数据插入
for
(
int
index
=
0
;
index
<
head
.
getTds
().
length
;
index
++)
{
comparisonDataInit
(
templateTableMap
,
tableXML
,
head
,
index
,
supplierList
,
comparisonData
);
// 固定列数据在公共区域展示,供应商处忽略
if
(
indexSet
.
add
(
index
))
{
indexSet
.
remove
(
index
);
comparisonDataInit
(
templateTableMap
,
tableXML
,
head
,
index
,
supplierList
,
comparisonData
,
indexSet
);
}
}
return
comparisonData
;
}
private
void
comparisonDataInit
(
Map
<
String
,
TemplateTable
>
templateTableMap
,
TableXML2
tableXML
,
Tr
head
,
int
col
,
List
<
Supplier
>
supplierList
,
ComparisonData
comparisonData
)
{
private
void
comparisonDataInit
(
Map
<
String
,
TemplateTable
>
templateTableMap
,
TableXML2
tableXML
,
Tr
head
,
int
col
,
List
<
Supplier
>
supplierList
,
ComparisonData
comparisonData
,
Set
<
Integer
>
indexSet
)
{
Td
td
=
head
.
getTds
()[
col
];
for
(
Supplier
supplier
:
supplierList
)
{
supplierComparisonDataInit
(
templateTableMap
,
col
,
supplier
,
comparisonData
);
}
if
(
indexSet
.
add
(
col
))
{
indexSet
.
remove
(
col
);
comparisonData
.
addItemCol
(
new
Column
(
col
+
""
,
td
.
getContent
()));
}
}
...
...
@@ -186,7 +222,7 @@ public class TemplateTableComparisonComposite extends Composite {
return
;
}
//
int
trIndex
=
1
;
int
trIndex
=
0
;
for
(
Tr
tr:
supplierTableXML
.
getBodyList
())
{
int
tdIndex
=
0
;
for
(
Td
td
:
tr
.
getTds
())
{
...
...
@@ -223,28 +259,60 @@ public class TemplateTableComparisonComposite extends Composite {
Map
<
String
,
List
<
Map
<
String
,
String
>>>
typeMap
=
GetTypeUtils
.
resolverPerformance
(
tenderId
,
templateFile
.
getAbsolutePath
());
rowList
=
typeMap
.
get
(
tenderProjectRuleEntity
.
getParamByKey
(
"professionalCode"
));
// titleList.add(Messages.LoginDialog_label_2_text);
if
(
null
==
rowList
)
{
System
.
out
.
println
();
}
for
(
Map
<
String
,
String
>
map
:
rowList
)
{
titleList
.
add
(
map
.
get
(
"name"
));
}
}
else
if
(
relChapterType
.
equals
(
"EQ_FinancialReport"
))
{
//财务指标
titleList
.
add
(
Messages
.
LoginDialog_label_15_text
);
titleList
.
add
(
Messages
.
LoginDialog_label_16_text
);
titleList
.
add
(
Messages
.
LoginDialog_label_17_text
);
titleList
.
add
(
Messages
.
LoginDialog_label_18_text
);
titleList
.
add
(
Messages
.
LoginDialog_label_19_text
);
titleList
.
add
(
Messages
.
LoginDialog_label_20_text
);
titleList
.
add
(
Messages
.
LoginDialog_label_21_text
);
titleList
.
add
(
"企业名称"
);
titleList
.
add
(
"年度"
);
titleList
.
add
(
"营业收入(万元)"
);
titleList
.
add
(
"流动资产(万元)"
);
titleList
.
add
(
"流动负债(万元)"
);
titleList
.
add
(
"流动比率(%)"
);
titleList
.
add
(
"净利润(万元)"
);
titleList
.
add
(
"股东权益(万元)"
);
titleList
.
add
(
"净资产收益率(%)"
);
titleList
.
add
(
"负债总额(万元)"
);
titleList
.
add
(
"资产总额(万元)"
);
titleList
.
add
(
"资产负债率(%)"
);
// titleList.add(Messages.LoginDialog_label_15_text);
// titleList.add(Messages.LoginDialog_label_16_text);
// titleList.add(Messages.LoginDialog_label_17_text);
// titleList.add(Messages.LoginDialog_label_18_text);
// titleList.add(Messages.LoginDialog_label_19_text);
// titleList.add(Messages.LoginDialog_label_20_text);
// titleList.add(Messages.LoginDialog_label_21_text);
}
else
if
(
relChapterType
.
contains
(
"EQ_Performance_"
))
{
File
templateFile
=
FileConstants
.
getResourceFile
(
Constants
.
TYPE_YEJI
);
Map
<
String
,
List
<
Map
<
String
,
String
>>>
typeMap
=
GetTypeUtils
.
resolverPerformance
(
tenderId
,
templateFile
.
getAbsolutePath
());
rowList
=
typeMap
.
get
(
tenderProjectRuleEntity
.
getParamByKey
(
"professionalCode"
));
String
statue
=
relChapterType
.
substring
(
relChapterType
.
length
()
-
2
,
relChapterType
.
length
());
String
professionalCode
=
tenderProjectRuleEntity
.
getParamByKey
(
"professionalCode"
);
rowList
=
typeMap
.
get
(
professionalCode
);
// titleList.add(Messages.LoginDialog_label_2_text);
for
(
Map
<
String
,
String
>
map
:
rowList
)
{
if
(
statue
.
equals
(
CommonEnum
.
NO
))
{
if
(
professionalCode
.
contains
(
"C"
))
{
if
(
map
.
get
(
"code"
).
equals
(
"endTime"
)
)
{
continue
;
}
}
else
if
(
professionalCode
.
contains
(
"B"
))
{
if
(
map
.
get
(
"code"
).
equals
(
"startTime"
)
)
{
continue
;
}
}
}
// if(map.get("code").equals("startTime") ) {
// if(statue.equals("01")) {
// titleList.add(map.get("name"));
// }
// }else {
// }
titleList
.
add
(
map
.
get
(
"name"
));
}
}
...
...
@@ -261,7 +329,7 @@ public class TemplateTableComparisonComposite extends Composite {
// supplierMessage.add(supplier.getSupplierName());
Map
<
String
,
String
>
bidderBasicInfoMap
=
Bean2MapUtils
.
createMap
(
bidderBasicInfo
);
for
(
Map
<
String
,
String
>
map
:
rowList
)
{
System
.
out
.
println
(
""
+
map
.
get
(
"code"
)
+
""
+
bidderBasicInfoMap
.
get
(
map
.
get
(
"code"
)));
supplierMessage
.
add
(
ObjectUtils
.
getObjString
(
bidderBasicInfoMap
.
get
(
map
.
get
(
"code"
))));
}
kTableDataSource
.
addRowList
(
supplierMessage
);
...
...
@@ -277,12 +345,18 @@ public class TemplateTableComparisonComposite extends Composite {
supplierMessage
.
add
(
rowIndex
);
supplierMessage
.
add
(
supplier
.
getSupplierName
());
supplierMessage
.
add
(
finance
.
getAnnual
());
supplierMessage
.
add
(
finance
.
getTotal
());
supplierMessage
.
add
(
finance
.
getOperatingIncome
());
supplierMessage
.
add
(
finance
.
getCurrentAssets
());
supplierMessage
.
add
(
finance
.
getCurrentLiabilities
());
supplierMessage
.
add
(
finance
.
getCurrentRate
());
supplierMessage
.
add
(
finance
.
getRetainedProfits
());
supplierMessage
.
add
(
finance
.
getStockholdersEquity
());
supplierMessage
.
add
(
finance
.
getReturnOnEquity
());
supplierMessage
.
add
(
finance
.
getTotalliabilities
());
supplierMessage
.
add
(
finance
.
getTotal
());
supplierMessage
.
add
(
finance
.
getLiabilitiesRate
());
supplierMessage
.
add
(
finance
.
getPrimeOperatingRevenue
());
supplierMessage
.
add
(
finance
.
getRetainedProfits
());
supplierMessage
.
add
(
finance
.
getProfitRatio
());
kTableDataSource
.
addRowList
(
supplierMessage
);
rowIndex
++;
}
...
...
@@ -294,8 +368,26 @@ public class TemplateTableComparisonComposite extends Composite {
supplierMessage
.
add
(
rowIndex
);
// supplierMessage.add(supplier.getSupplierName());
Map
<
String
,
String
>
bidderBasicInfoMap
=
Bean2MapUtils
.
createMap
(
performance
);
String
yejiStatue
=
relChapterType
.
substring
(
relChapterType
.
length
()
-
2
,
relChapterType
.
length
());
String
professionalCode
=
tenderProjectRuleEntity
.
getParamByKey
(
"professionalCode"
);
//
for
(
Map
<
String
,
String
>
map
:
rowList
)
{
String
code
=
map
.
get
(
"code"
);
if
(
yejiStatue
.
equals
(
CommonEnum
.
NO
))
{
if
(
professionalCode
.
contains
(
"C"
))
{
if
(
map
.
get
(
"code"
).
equals
(
"endTime"
)
)
{
continue
;
}
}
else
if
(
professionalCode
.
contains
(
"B"
))
{
if
(
map
.
get
(
"code"
).
equals
(
"startTime"
)
)
{
continue
;
}
}
}
if
(
null
!=
code
&&
code
.
equals
(
"status"
)
)
{
if
(
null
!=
performance
.
getStatus
()
&&
CommonEnum
.
YES
.
equals
(
performance
.
getStatus
()))
{
supplierMessage
.
add
(
"已完成"
);
...
...
@@ -303,7 +395,6 @@ public class TemplateTableComparisonComposite extends Composite {
supplierMessage
.
add
(
"未完成"
);
}
}
else
{
// supplierMessage.add(bidderBasicInfoMap.get(map.get("code")));
supplierMessage
.
add
(
ObjectUtils
.
getObjString
(
bidderBasicInfoMap
.
get
(
map
.
get
(
"code"
))));
}
}
...
...
com.gx.obe.struct/src/com/gx/obe/struct/composite/TemplateTableListComposite.java
View file @
d45e3f29
...
...
@@ -68,7 +68,7 @@ public class TemplateTableListComposite extends Composite {
label
.
setForeground
(
SWTResourceManager
.
getColor
(
200
,
200
,
200
));
label
.
setFont
(
SWTResourceManager
.
getFont
(
"宋体"
,
20
,
SWT
.
BOLD
));
label
.
setLayoutData
(
new
GridData
(
SWT
.
CENTER
,
SWT
.
CENTER
,
true
,
true
,
1
,
1
));
label
.
setText
(
Messages
.
LoginDialog_label_30_text
);
label
.
setText
(
"当前指标未绑定评审点"
);
Composite
composite
=
new
Composite
(
this
,
SWT
.
NONE
);
GridLayout
gl_composite
=
new
GridLayout
(
1
,
false
);
...
...
com.gx.obe.struct/src/com/gx/obe/struct/factory/ModelDataFactory.java
deleted
100644 → 0
View file @
c37b8c75
package
com
.
gx
.
obe
.
struct
.
factory
;
import
java.io.File
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.function.Function
;
import
java.util.stream.Stream
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.core.MessageDialog
;
import
org.eclipse.swt.widgets.Composite
;
import
com.gx.obe.common.icons.IconsActivator
;
import
com.gx.obe.component.form.FForm
;
import
com.gx.obe.component.rx.RxSwt
;
import
com.gx.obe.component.table.FTable
;
import
com.gx.obe.component.utils.CompositeUtils
;
import
com.gx.obe.components.core.Constants
;
import
com.gx.obe.struct.beans.AttachmentFile
;
import
com.gx.obe.struct.beans.BidderBasicInfo
;
import
com.gx.obe.struct.beans.BusinessLicense
;
import
com.gx.obe.struct.beans.Certificate
;
import
com.gx.obe.struct.beans.Finance
;
import
com.gx.obe.struct.beans.ModelData
;
import
com.gx.obe.struct.beans.Performance
;
import
com.gx.obe.struct.beans.ProjectLeader
;
import
com.gx.obe.struct.beans.Qualification
;
import
com.gx.obe.struct.beans.WorkExperience
;
import
com.gx.obe.struct.enums.ModelDataTypeEnum
;
import
com.gx.obe.struct.enums.PerformanceStatus
;
import
com.gx.obe.struct.inters.IModelData
;
import
com.gx.obe.struct.inters.IModelDataDetail
;
import
com.gx.obe.struct.service.AttachmentFileService
;
import
com.gx.obe.struct.service.BidderInfoService
;
import
com.gx.obe.struct.service.BusinessLicenseService
;
import
com.gx.obe.struct.service.CertificateService
;
import
com.gx.obe.struct.service.FinanceService
;
import
com.gx.obe.struct.service.PerformanceService
;
import
com.gx.obe.struct.service.ProjectLeaderService
;
import
com.gx.obe.struct.service.QualificationService
;
import
com.gx.obe.struct.service.WorkExperienceService
;
import
com.gx.obe.util.utils.NumberFormatUtils
;
import
com.gx.obe.util.utils.RuntimeUtils
;
import
com.swtdesigner.ResourceManager
;
public
class
ModelDataFactory
{
public
static
IModelData
create
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
,
ModelDataTypeEnum
modelDataTypeEnum
)
{
CompositeUtils
.
disposeChildren
(
tableParent
);
switch
(
modelDataTypeEnum
)
{
case
EQ_BidderBasicInfo:
return
initBidderBasicInfo
(
tableParent
,
modelDataDetail
);
case
EQ_BusinessLicense:
return
initBusinessLicense
(
tableParent
,
modelDataDetail
);
// case EQ_Construction:
// return initConstruction(tableParent, modelDataDetail);
// case EQ_FinancialReport:
// return initFinancialReport(tableParent, modelDataDetail);
// case EQ_Procurement:
// return initProcurement(tableParent, modelDataDetail);
// case EQ_Production:
// return initProduction(tableParent, modelDataDetail);
case
EQ_ProjectLeader:
return
initProjectLeader
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification:
return
initQualification
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_GJ_GCJX:
return
initQualification_GJ_GCJX
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_GJ_JX:
return
initQualification_GJ_JX
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_HBTX:
return
initQualification_HBTX
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_JLZZ:
return
initQualification_JLZZ
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_QGGYSCXK:
return
initQualification_QGGYSCXK
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_SCXK:
return
initQualification_SCXK
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_SGZZ:
return
initQualification_SGZZ
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_SJZZ:
return
initQualification_SJZZ
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_SJ_GCJX:
return
initQualification_SJ_GCJX
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_SJ_JX:
return
initQualification_SJ_JX
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_SurveyReport:
return
initQualification_SurveyReport
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_ZLTX:
return
initQualification_ZLTX
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_ZXDJ:
return
initQualification_ZXDJ
(
tableParent
,
modelDataDetail
);
case
EQ_Qualification_ZYJK:
return
initQualification_ZYJK
(
tableParent
,
modelDataDetail
);
// case EQ_Supervision:
// return initSupervision(tableParent, modelDataDetail);
// case EQ_SurveyDesign:
// return initSurveyDesign(tableParent, modelDataDetail);
}
return
null
;
}
/**
* @Description: 投标人基本情况
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initBidderBasicInfo
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
BidderInfoService
bidderInfoService
=
new
BidderInfoService
();
private
FTable
<
BidderBasicInfo
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
BidderBasicInfo
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"投标人名称"
,
BidderBasicInfo:
:
getCompanyName
);
new
ContentColumn
(
"注册地址"
,
BidderBasicInfo:
:
getRegisterLocation
);
new
ContentColumn
(
"联系人"
,
BidderBasicInfo:
:
getLinkMan
);
new
ContentColumn
(
"组织结构"
,
BidderBasicInfo:
:
getOrgStructure
);
new
ContentColumn
(
"法人姓名"
,
BidderBasicInfo:
:
getLegalRepresentativeName
);
new
ContentColumn
(
"技术负责人姓名"
,
BidderBasicInfo:
:
getTechnicalDirectorName
);
new
ContentColumn
(
"成立时间"
,
BidderBasicInfo:
:
getSetupTime
);
new
ContentColumn
(
"企业资质等级"
,
BidderBasicInfo:
:
getCompanyQualificationLevel
);
new
ContentColumn
(
"注册资金(万元)"
,
BidderBasicInfo:
:
getRegisteredCapital
);
new
ContentColumn
(
"营业执照号"
,
BidderBasicInfo:
:
getBussinessLicense
);
new
ContentColumn
(
"开户银行"
,
BidderBasicInfo:
:
getDepositBank
);
new
ContentColumn
(
"银行账号"
,
BidderBasicInfo:
:
getBankAccount
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCompanyName
()
+
"基本情况表"
));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
BidderBasicInfo
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"投标人名称"
,
BidderBasicInfo:
:
getCompanyName
);
t
.
add
(
"注册地址"
,
BidderBasicInfo:
:
getRegisterLocation
);
t
.
add
(
"联系人"
,
BidderBasicInfo:
:
getLinkMan
);
t
.
add
(
"电话"
,
BidderBasicInfo:
:
getLinkManPhone
);
t
.
add
(
"邮政编码"
,
BidderBasicInfo:
:
getPostalCode
);
t
.
add
(
"传真"
,
BidderBasicInfo:
:
getLinkManFax
);
t
.
add
(
"网址"
,
BidderBasicInfo:
:
getLinkManWebsite
);
t
.
add
(
"组织结构"
,
BidderBasicInfo:
:
getOrgStructure
);
t
.
add
(
"法人姓名"
,
BidderBasicInfo:
:
getLegalRepresentativeName
);
t
.
add
(
"技术负责人姓名"
,
BidderBasicInfo:
:
getTechnicalDirectorName
);
t
.
add
(
"法人技术职称"
,
BidderBasicInfo:
:
getLegalRepresentativeTitle
);
t
.
add
(
"技术负责人职称"
,
BidderBasicInfo:
:
getTechnicalDirectorTitle
);
t
.
add
(
"法人电话"
,
BidderBasicInfo:
:
getLegalRepresentativePhone
);
t
.
add
(
"技术负责人电话"
,
BidderBasicInfo:
:
getTechnicalDirectorPhone
);
t
.
add
(
"成立时间"
,
BidderBasicInfo:
:
getSetupTime
);
t
.
add
(
"企业资质等级"
,
BidderBasicInfo:
:
getCompanyQualificationLevel
);
t
.
add
(
"注册资金(万元)"
,
BidderBasicInfo:
:
getRegisteredCapital
);
t
.
add
(
"营业执照号"
,
BidderBasicInfo:
:
getBussinessLicense
);
t
.
add
(
"开户银行"
,
BidderBasicInfo:
:
getDepositBank
);
t
.
add
(
"银行账号"
,
BidderBasicInfo:
:
getBankAccount
);
t
.
add
(
"高级职称人数"
,
BidderBasicInfo:
:
getSeniorProfessionalPostNumber
);
t
.
add
(
"项目经理人数"
,
BidderBasicInfo:
:
getPurchaserNumber
);
t
.
add
(
"中级职称人数"
,
BidderBasicInfo:
:
getMediumProfessionalPostNumber
);
t
.
add
(
"技工人数"
,
BidderBasicInfo:
:
getArtisanNumber
);
t
.
add
(
"初级职称人数"
,
BidderBasicInfo:
:
getPrimaryProfessionalPostNumber
);
t
.
add
(
"员工总人数"
,
BidderBasicInfo:
:
getEmployeeNumber
);
t
.
addLong
(
"企业性质"
,
BidderBasicInfo:
:
getEnterpriseNature
);
t
.
addLong
(
"经营范围"
,
BidderBasicInfo:
:
getBusinessScope
);
t
.
addLong
(
"股权结构"
,
BidderBasicInfo:
:
getEquityStructure
);
t
.
addBig
(
"拟投入项目设备"
,
BidderBasicInfo:
:
getPreInputDevice
);
t
.
addBig
(
"关联企业情况"
,
BidderBasicInfo:
:
getRelatedCompanyInfo
);
t
.
addBig
(
"服务能力"
,
BidderBasicInfo:
:
getServiceAbility
);
t
.
addBig
(
"备注"
,
BidderBasicInfo:
:
getMemo
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
bidderInfoService
.
getBidderBasicInfoList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 营业执照
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initBusinessLicense
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
BusinessLicenseService
businessLicenseService
=
new
BusinessLicenseService
();
private
FTable
<
BusinessLicense
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
BusinessLicense
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"统一社会信用代码"
,
BusinessLicense:
:
getRegisterNumber
);
new
ContentColumn
(
"公司名称"
,
BusinessLicense:
:
getCompanyName
);
new
ContentColumn
(
"住所"
,
BusinessLicense:
:
getCompanyAddress
);
new
ContentColumn
(
"法定代表人"
,
BusinessLicense:
:
getLegalRepresentative
);
new
ContentColumn
(
"注册资本(万元)"
,
BusinessLicense:
:
getRegisterCapital
);
new
ContentColumn
(
"成立日期"
,
BusinessLicense:
:
getEstablishDate
);
new
ContentColumn
(
"营业期限"
,
d
->
d
.
getBusnissTermStartDate
()
+
"至"
+
d
.
getBusnissTermEndtDate
());
new
ContentColumn
(
"登记机关"
,
BusinessLicense:
:
getRegisterInstitution
);
new
ContentColumn
(
"企业类型"
,
BusinessLicense:
:
getCompanyType
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCompanyName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
BusinessLicense
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"统一社会信用代码"
,
BusinessLicense:
:
getRegisterNumber
);
t
.
add
(
"公司名称"
,
BusinessLicense:
:
getCompanyName
);
t
.
add
(
"住所"
,
BusinessLicense:
:
getCompanyAddress
);
t
.
add
(
"法定代表人"
,
BusinessLicense:
:
getLegalRepresentative
);
t
.
add
(
"注册资本(万元)"
,
BusinessLicense:
:
getRegisterCapital
);
t
.
add
(
"成立日期"
,
BusinessLicense:
:
getEstablishDate
);
t
.
add
(
"营业期限"
,
d
->
d
.
getBusnissTermStartDate
()
+
"至"
+
d
.
getBusnissTermEndtDate
());
t
.
add
(
"登记机关"
,
BusinessLicense:
:
getRegisterInstitution
);
t
.
add
(
"企业类型"
,
BusinessLicense:
:
getCompanyType
);
t
.
addBig
(
"经营范围"
,
BusinessLicense:
:
getBusinessScope
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
businessLicenseService
.
getBusinessLicenseList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 施工业绩
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initConstruction
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
PerformanceService
performanceService
=
new
PerformanceService
();
private
FTable
<
Performance
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Performance
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"企业名称"
,
Performance:
:
getSupplierName
);
new
ContentColumn
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
new
ContentColumn
(
"项目名称"
,
Performance:
:
getProjectName
);
new
ContentColumn
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
new
ContentColumn
(
"发包人名称"
,
Performance:
:
getBuyerName
);
new
ContentColumn
(
"合同金额(万元)"
,
Performance:
:
getSingningTotal
);
new
ContentColumn
(
"开工日期"
,
Performance:
:
getStartTime
);
new
ContentColumn
(
"竣工/计划竣工日期"
,
Performance:
:
getEndTime
);
new
ContentColumn
(
"项目经理"
,
Performance:
:
getProjectManager
);
new
ContentColumn
(
"技术负责人"
,
Performance:
:
getTechnicalDirector
);
new
ContentColumn
(
"总监理工程师"
,
Performance:
:
getChiefSupervisionEngineer
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getProjectName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Performance
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Performance:
:
getSupplierName
);
t
.
add
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
t
.
add
(
"项目名称"
,
Performance:
:
getProjectName
);
t
.
add
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
t
.
add
(
"发包人名称"
,
Performance:
:
getBuyerName
);
t
.
add
(
"发包人地址"
,
Performance:
:
getBuyerAddress
);
t
.
add
(
"发包人电话"
,
Performance:
:
getBuyerPhoneNumber
);
t
.
add
(
"合同金额(万元)"
,
Performance:
:
getSingningTotal
);
t
.
add
(
"开工日期"
,
Performance:
:
getStartTime
);
t
.
add
(
"竣工/计划竣工日期"
,
Performance:
:
getEndTime
);
t
.
addLong
(
"承担的工作"
,
Performance:
:
getWorkUndertaken
);
t
.
addLong
(
"项目质量"
,
Performance:
:
getProjectQuantity
);
t
.
add
(
"项目经理"
,
Performance:
:
getProjectManager
);
t
.
add
(
"技术负责人"
,
Performance:
:
getTechnicalDirector
);
t
.
add
(
"总监理工程师"
,
Performance:
:
getChiefSupervisionEngineer
);
t
.
add
(
"总监理工程师电话"
,
Performance:
:
getCsePhoneNumber
);
t
.
addBig
(
"项目描述"
,
Performance:
:
getProjectDesc
);
t
.
addLong
(
"备注"
,
Performance:
:
getMemo
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
String
statue
=
modelData
.
getDataCode
().
substring
(
modelData
.
getDataCode
().
length
()
-
2
,
modelData
.
getDataCode
().
length
());
RxSwt
.
run
(()
->
performanceService
.
getPerformanceList
(
modelData
.
getTenderId
(),
modelData
.
getId
(),
statue
)).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 财务报告
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initFinancialReport
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
FinanceService
financeService
=
new
FinanceService
();
private
FTable
<
Finance
>
fTable
;
protected
void
init
()
{
final
Function
<
BigDecimal
,
String
>
toString
=
t
->
Optional
.
ofNullable
(
t
).
map
(
NumberFormatUtils:
:
format
).
orElse
(
null
);
fTable
=
new
FTable
<
Finance
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"企业名称"
,
Finance:
:
getCompanyName
);
new
ContentColumn
(
"财务报告年度"
,
Finance:
:
getAnnual
);
new
ContentColumn
(
"资产总额(万元)"
,
toString
.
compose
(
Finance:
:
getTotal
));
new
ContentColumn
(
"负债总额(万元)"
,
toString
.
compose
(
Finance:
:
getTotalliabilities
));
new
ContentColumn
(
"资产负债率(%)"
,
toString
.
compose
(
Finance:
:
getLiabilitiesRate
));
new
ContentColumn
(
"主营业务收入(万元)"
,
toString
.
compose
(
Finance:
:
getPrimeOperatingRevenue
));
new
ContentColumn
(
"净利润(万元)"
,
toString
.
compose
(
Finance:
:
getRetainedProfits
));
new
ContentColumn
(
"净利率(%)"
,
toString
.
compose
(
Finance:
:
getProfitRatio
));
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getAnnual
()
+
"年度财务报告"
));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Finance
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Finance:
:
getCompanyName
);
t
.
add
(
"财务报告年度"
,
Finance:
:
getAnnual
);
t
.
add
(
"资产总额(万元)"
,
toString
.
compose
(
Finance:
:
getTotal
));
t
.
add
(
"主营业务收入(万元)"
,
toString
.
compose
(
Finance:
:
getPrimeOperatingRevenue
));
t
.
add
(
"负债总额(万元)"
,
toString
.
compose
(
Finance:
:
getTotalliabilities
));
t
.
add
(
"净利润(万元)"
,
toString
.
compose
(
Finance:
:
getRetainedProfits
));
t
.
add
(
"资产负债率(%)"
,
toString
.
compose
(
Finance:
:
getLiabilitiesRate
));
t
.
add
(
"净利率(%)"
,
toString
.
compose
(
Finance:
:
getProfitRatio
));
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
financeService
.
getFinanceList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 采购业绩
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initProcurement
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
PerformanceService
performanceService
=
new
PerformanceService
();
private
FTable
<
Performance
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Performance
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"企业名称"
,
Performance:
:
getSupplierName
);
new
ContentColumn
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
new
ContentColumn
(
"设备名称"
,
Performance:
:
getDeviceName
);
new
ContentColumn
(
"规格和型号"
,
Performance:
:
getDevicetypeSpecification
);
new
ContentColumn
(
"项目名称"
,
Performance:
:
getProjectName
);
new
ContentColumn
(
"总容量"
,
Performance:
:
getTotalCapacity
);
new
ContentColumn
(
"台数"
,
Performance:
:
getNumber
);
new
ContentColumn
(
"买方名称"
,
Performance:
:
getBuyerName
);
new
ContentColumn
(
"联系人"
,
Performance:
:
getBuyerLinkman
);
new
ContentColumn
(
"联系方式"
,
Performance:
:
getBuyerPhoneNumber
);
new
ContentColumn
(
"合同时间"
,
Performance:
:
getContractTime
);
new
ContentColumn
(
"签约合同价(万元)"
,
Performance:
:
getSingningTotal
);
new
ContentColumn
(
"投运/计划投运日期"
,
Performance:
:
getCommissioningTime
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getSupplierName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Performance
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Performance:
:
getSupplierName
);
t
.
add
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
t
.
add
(
"设备名称"
,
Performance:
:
getDeviceName
);
t
.
add
(
"规格和型号"
,
Performance:
:
getDevicetypeSpecification
);
t
.
add
(
"项目名称"
,
Performance:
:
getProjectName
);
t
.
add
(
"总容量"
,
Performance:
:
getTotalCapacity
);
t
.
add
(
"台数"
,
Performance:
:
getNumber
);
t
.
add
(
"买方名称"
,
Performance:
:
getBuyerName
);
t
.
add
(
"联系人"
,
Performance:
:
getBuyerLinkman
);
t
.
add
(
"联系方式"
,
Performance:
:
getBuyerPhoneNumber
);
t
.
add
(
"合同时间"
,
Performance:
:
getContractTime
);
t
.
add
(
"签约合同价(万元)"
,
Performance:
:
getSingningTotal
);
t
.
add
(
"投运/计划投运日期"
,
Performance:
:
getCommissioningTime
);
t
.
addNull
();
t
.
addBig
(
"备注"
,
Performance:
:
getMemo
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
String
statue
=
modelData
.
getDataCode
().
substring
(
modelData
.
getDataCode
().
length
()
-
2
,
modelData
.
getDataCode
().
length
());
RxSwt
.
run
(()
->
performanceService
.
getPerformanceList
(
modelData
.
getTenderId
(),
modelData
.
getId
(),
statue
)).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 生产业绩
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initProduction
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
PerformanceService
performanceService
=
new
PerformanceService
();
private
FTable
<
Performance
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Performance
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"企业名称"
,
Performance:
:
getSupplierName
);
new
ContentColumn
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
new
ContentColumn
(
"项目名称"
,
Performance:
:
getProjectName
);
new
ContentColumn
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
new
ContentColumn
(
"发包人名称"
,
Performance:
:
getBuyerName
);
new
ContentColumn
(
"签约价格(万元)"
,
Performance:
:
getSingningTotal
);
new
ContentColumn
(
"开工日期"
,
Performance:
:
getStartTime
);
new
ContentColumn
(
"竣工/计划竣工日期"
,
Performance:
:
getEndTime
);
new
ContentColumn
(
"项目经理"
,
Performance:
:
getProjectManager
);
new
ContentColumn
(
"技术负责人"
,
Performance:
:
getTechnicalDirector
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getProjectName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Performance
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Performance:
:
getSupplierName
);
t
.
add
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
t
.
add
(
"项目名称"
,
Performance:
:
getProjectName
);
t
.
add
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
t
.
add
(
"发包人名称"
,
Performance:
:
getBuyerName
);
t
.
add
(
"发包人地址"
,
Performance:
:
getBuyerAddress
);
t
.
add
(
"发包人电话"
,
Performance:
:
getBuyerPhoneNumber
);
t
.
add
(
"签约价格(万元)"
,
Performance:
:
getSingningTotal
);
t
.
add
(
"开工日期"
,
Performance:
:
getStartTime
);
t
.
add
(
"竣工/计划竣工日期"
,
Performance:
:
getEndTime
);
t
.
addLong
(
"承担的工作"
,
Performance:
:
getWorkUndertaken
);
t
.
addLong
(
"项目质量"
,
Performance:
:
getProjectQuantity
);
t
.
add
(
"项目经理"
,
Performance:
:
getProjectManager
);
t
.
add
(
"技术负责人"
,
Performance:
:
getTechnicalDirector
);
t
.
addBig
(
"项目描述"
,
Performance:
:
getProjectDesc
);
t
.
addLong
(
"备注"
,
Performance:
:
getMemo
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
String
statue
=
modelData
.
getDataCode
().
substring
(
modelData
.
getDataCode
().
length
()
-
2
,
modelData
.
getDataCode
().
length
());
RxSwt
.
run
(()
->
performanceService
.
getPerformanceList
(
modelData
.
getTenderId
(),
modelData
.
getId
(),
statue
)).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 项目负责人
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initProjectLeader
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
ProjectLeaderService
projectLeaderService
=
new
ProjectLeaderService
();
private
final
CertificateService
certificateService
=
new
CertificateService
();
private
final
WorkExperienceService
workExperienceService
=
new
WorkExperienceService
();
private
FTable
<
ProjectLeader
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
ProjectLeader
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"姓名"
,
ProjectLeader:
:
getLeaderName
);
new
ContentColumn
(
"身份证号"
,
ProjectLeader:
:
getIdnumber
);
new
ContentColumn
(
"年龄"
,
ProjectLeader:
:
getAge
);
new
ContentColumn
(
"职务"
,
ProjectLeader:
:
getJobTitle
);
new
ContentColumn
(
"职称"
,
ProjectLeader:
:
getProfessionalTitle
);
new
ContentColumn
(
"学历"
,
ProjectLeader:
:
getEducation
);
new
ContentColumn
(
"毕业学校"
,
ProjectLeader:
:
getGraduateSchool
);
new
ContentColumn
(
"专业"
,
ProjectLeader:
:
getGraduateMajor
);
new
ContentColumn
(
"工作经验(年)"
,
ProjectLeader:
:
getWorkExperience
);
new
ContentColumn
(
"公司名称"
,
ProjectLeader:
:
getCompanyName
);
new
ContentColumn
(
"本专业工作经验(年)"
,
ProjectLeader:
:
getCurrentMajorExperience
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCompanyName
()
+
"基本情况表"
));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
ProjectLeader
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"姓名"
,
ProjectLeader:
:
getLeaderName
);
t
.
add
(
"身份证号"
,
ProjectLeader:
:
getIdnumber
);
t
.
add
(
"年龄"
,
ProjectLeader:
:
getAge
);
t
.
add
(
"职务"
,
ProjectLeader:
:
getJobTitle
);
t
.
add
(
"职称"
,
ProjectLeader:
:
getProfessionalTitle
);
t
.
add
(
"学历"
,
ProjectLeader:
:
getEducation
);
t
.
add
(
"毕业学校"
,
ProjectLeader:
:
getGraduateSchool
);
t
.
add
(
"专业"
,
ProjectLeader:
:
getGraduateMajor
);
t
.
add
(
"工作经验(年)"
,
ProjectLeader:
:
getWorkExperience
);
t
.
add
(
"公司名称"
,
ProjectLeader:
:
getCompanyName
);
t
.
add
(
"本专业工作经验(年)"
,
ProjectLeader:
:
getCurrentMajorExperience
);
t
.
addNull
();
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addSubpage
(
"证书列表"
,
p
->
{
FTable
<
Certificate
>
table
=
new
FTable
<
Certificate
>(
p
,
SWT
.
NONE
)
{
private
final
AttachmentFileService
attachmentFileService
=
new
AttachmentFileService
();
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书编号"
,
Certificate:
:
getCertificateNo
);
new
ContentColumn
(
"证书名称"
,
Certificate:
:
getCertificateName
);
new
ContentColumn
(
"证书等级"
,
Certificate:
:
getCertificateLevel
);
new
LinkContentColumn
(
"查看"
,
"查看"
,
ResourceManager
.
getPluginImage
(
IconsActivator
.
PLUGIN_ID
,
"icons/btn/blue/view.png"
),
t
->
{
String
bidFilePath
=
Constants
.
getBidFilePath
(
t
.
getTenderId
(),
supplierId
.
get
());
RxSwt
.
run
(()
->
attachmentFileService
.
getAttachmentFileList
(
t
.
getId
())).
checkWidget
(
this
).
exe
(
attachmentFileList
->
{
Optional
<
File
>
fileOptional
=
Optional
.
ofNullable
(
attachmentFileList
).
map
(
List:
:
stream
).
flatMap
(
Stream:
:
findFirst
).
map
(
AttachmentFile:
:
getFileUrl
).
map
(
bidFilePath:
:
concat
).
map
(
File:
:
new
).
filter
(
File:
:
exists
);
if
(
fileOptional
.
isPresent
())
{
RuntimeUtils
.
openFIle
(
fileOptional
.
get
());
}
else
{
MessageDialog
.
openShortMessage
(
"文件不存在!"
);
}
});
});
}
};
fTable
.
addSelectionListener
(
t
->
RxSwt
.
run
(()
->
certificateService
.
getCertificateList
(
t
.
getId
())).
checkWidget
(
table
).
exe
(
table:
:
refresh
));
return
table
;
});
modelDataDetail
.
addSubpage
(
"个人经历"
,
p
->
{
FTable
<
WorkExperience
>
table
=
new
FTable
<
WorkExperience
>(
p
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"投运时间/竣工时间"
,
WorkExperience:
:
getTime
);
new
ContentColumn
(
"项目名称"
,
WorkExperience:
:
getProjectName
);
new
ContentColumn
(
"容量(MW)"
,
WorkExperience:
:
getCapacity
);
new
ContentColumn
(
"担任职务"
,
WorkExperience:
:
getJobTitle
);
new
ContentColumn
(
"承担的工作(简述)"
,
WorkExperience:
:
getBearWork
);
new
ContentColumn
(
"发包人及联系电话"
,
WorkExperience:
:
getContractInfo
);
}
};
fTable
.
addSelectionListener
(
t
->
RxSwt
.
run
(()
->
workExperienceService
.
getWorkExperienceList
(
t
.
getId
())).
checkWidget
(
table
).
exe
(
table:
:
refresh
));
return
table
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
projectLeaderService
.
getProjectLeaderList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 企业资质
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 所建工程国家级奖励
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_GJ_GCJX
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"获奖工程名称"
,
Qualification:
:
getAwardProjectName
);
new
ContentColumn
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"获奖工程名称"
,
Qualification:
:
getAwardProjectName
);
t
.
add
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 国家级奖项
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_GJ_JX
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 环境管理体系认证证书
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_HBTX
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"认证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
new
ContentColumn
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
t
.
add
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 监理资质
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_JLZZ
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 全国工业生产许可证
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_QGGYSCXK
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"认证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
new
ContentColumn
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"认证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
t
.
add
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 施工资质
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_SGZZ
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 设计资质
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_SJZZ
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 安全生产许可证
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_SCXK
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"认证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
new
ContentColumn
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"认证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
t
.
add
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 所建工程省部级级奖励
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_SJ_GCJX
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"获奖工程名称"
,
Qualification:
:
getAwardProjectName
);
new
ContentColumn
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"获奖工程名称"
,
Qualification:
:
getAwardProjectName
);
t
.
add
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 省部级奖励
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_SJ_JX
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发奖单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"获奖年份"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 检验报告
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_SurveyReport
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 质量体系认证证书
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_ZLTX
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"认证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
new
ContentColumn
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
t
.
add
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 资信等级
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_ZXDJ
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
new
ContentColumn
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"证书等级"
,
Qualification:
:
getAwardLevel
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
t
.
add
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 职业健康安全管理体系
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initQualification_ZYJK
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
QualificationService
qualificationService
=
new
QualificationService
();
private
FTable
<
Qualification
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Qualification
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"证书名称"
,
Qualification:
:
getCertificateName
);
new
ContentColumn
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
new
ContentColumn
(
"企业名称"
,
Qualification:
:
getCompanyName
);
new
ContentColumn
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
new
ContentColumn
(
"发证日期"
,
Qualification:
:
getIssueDate
);
new
ContentColumn
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getCertificateName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Qualification
>
fform
=
new
FForm
<>(
p
,
1
);
fform
.
init
(
t
->
{
t
.
add
(
"证书编号"
,
Qualification:
:
getCertificateNumber
);
t
.
add
(
"企业名称"
,
Qualification:
:
getCompanyName
);
t
.
add
(
"发证单位"
,
Qualification:
:
getIssueAuthority
);
t
.
add
(
"发证日期"
,
Qualification:
:
getIssueDate
);
t
.
add
(
"有效期至"
,
Qualification:
:
getPeriodValidity
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
RxSwt
.
run
(()
->
qualificationService
.
getQualificationList
(
modelData
.
getTenderId
(),
modelData
.
getId
())).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 监理业绩
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initSupervision
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
PerformanceService
performanceService
=
new
PerformanceService
();
private
FTable
<
Performance
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Performance
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"企业名称"
,
Performance:
:
getSupplierName
);
new
ContentColumn
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
new
ContentColumn
(
"项目名称"
,
Performance:
:
getProjectName
);
new
ContentColumn
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
new
ContentColumn
(
"签约合同价(万元)"
,
Performance:
:
getSingningTotal
);
new
ContentColumn
(
"委托人名称"
,
Performance:
:
getBuyerName
);
new
ContentColumn
(
"委托人地址"
,
Performance:
:
getBuyerAddress
);
new
ContentColumn
(
"委托人电话"
,
Performance:
:
getBuyerPhoneNumber
);
new
ContentColumn
(
"总监理工程师"
,
Performance:
:
getChiefSupervisionEngineer
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getProjectName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Performance
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Performance:
:
getSupplierName
);
t
.
add
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
t
.
add
(
"项目名称"
,
Performance:
:
getProjectName
);
t
.
add
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
t
.
add
(
"委托人名称"
,
Performance:
:
getBuyerName
);
t
.
add
(
"委托人地址"
,
Performance:
:
getBuyerAddress
);
t
.
add
(
"签约合同价(万元)"
,
Performance:
:
getSingningTotal
);
t
.
add
(
"委托人电话"
,
Performance:
:
getBuyerPhoneNumber
);
t
.
add
(
"总监理工程师"
,
Performance:
:
getChiefSupervisionEngineer
);
t
.
addNull
();
t
.
addLong
(
"监理服务期限"
,
Performance:
:
getServiceDesc
);
t
.
addLong
(
"监理内容"
,
Performance:
:
getSupervisionCcontent
);
t
.
addBig
(
"项目描述"
,
Performance:
:
getProjectDesc
);
t
.
addBig
(
"备注"
,
Performance:
:
getMemo
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
String
statue
=
modelData
.
getDataCode
().
substring
(
modelData
.
getDataCode
().
length
()
-
2
,
modelData
.
getDataCode
().
length
());
RxSwt
.
run
(()
->
performanceService
.
getPerformanceList
(
modelData
.
getTenderId
(),
modelData
.
getId
(),
statue
)).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
/**
* @Description: 勘察设计
* @author chenxw
* @param tableParent
* @param modelDataDetail
* @return
*/
private
static
IModelData
initSurveyDesign
(
Composite
tableParent
,
IModelDataDetail
modelDataDetail
)
{
return
new
IModelData
()
{
private
final
PerformanceService
performanceService
=
new
PerformanceService
();
private
FTable
<
Performance
>
fTable
;
protected
void
init
()
{
fTable
=
new
FTable
<
Performance
>(
tableParent
,
SWT
.
NONE
)
{
protected
void
init
()
{
new
IndexColumn
(
"序号"
);
new
ContentColumn
(
"企业名称"
,
Performance:
:
getSupplierName
);
new
ContentColumn
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
new
ContentColumn
(
"项目名称"
,
Performance:
:
getProjectName
);
new
ContentColumn
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
new
ContentColumn
(
"发包人名称"
,
Performance:
:
getBuyerName
);
new
ContentColumn
(
"合同价格(万元)"
,
Performance:
:
getSingningTotal
);
new
ContentColumn
(
"勘察设计服务期限"
,
Performance:
:
getServiceDesc
);
new
ContentColumn
(
"勘察设计内容"
,
Performance:
:
getDesignRange
);
new
ContentColumn
(
"负责人/总工程师"
,
Performance:
:
getChiefSupervisionEngineer
);
}
};
fTable
.
addSelectionListener
(
t
->
modelDataDetail
.
refreshTitle
(
t
.
getProjectName
()));
modelDataDetail
.
addBasicSubpage
(
p
->
{
FForm
<
Performance
>
fform
=
new
FForm
<>(
p
,
2
);
fform
.
init
(
t
->
{
t
.
add
(
"企业名称"
,
Performance:
:
getSupplierName
);
t
.
add
(
"业绩状态"
,
PerformanceStatus
.
keyToValueFun
.
compose
(
Performance:
:
getStatus
));
t
.
add
(
"项目名称"
,
Performance:
:
getProjectName
);
t
.
add
(
"项目所在地"
,
Performance:
:
getProjectAddress
);
t
.
add
(
"发包人名称"
,
Performance:
:
getBuyerName
);
t
.
add
(
"发包人地址"
,
Performance:
:
getBuyerAddress
);
t
.
add
(
"发包人电话"
,
Performance:
:
getBuyerPhoneNumber
);
t
.
add
(
"合同价格(万元)"
,
Performance:
:
getSingningTotal
);
t
.
add
(
"勘察设计服务期限"
,
Performance:
:
getServiceDesc
);
t
.
add
(
"勘察设计内容"
,
Performance:
:
getDesignRange
);
t
.
add
(
"负责人/总工程师"
,
Performance:
:
getChiefSupervisionEngineer
);
t
.
addNull
();
t
.
addBig
(
"项目描述"
,
Performance:
:
getProjectDesc
);
t
.
addBig
(
"备注"
,
Performance:
:
getMemo
);
});
fTable
.
addSelectionListener
(
fform:
:
refresh
);
return
fform
;
});
modelDataDetail
.
addAttachmentSubpage
(
c
->
fTable
.
addSelectionListener
(
t
->
c
.
accept
(
supplierId
.
get
(),
t
.
getId
())));
}
public
void
refresh
(
ModelData
modelData
)
{
supplierId
.
set
(
modelData
.
getSupplierId
());
String
statue
=
modelData
.
getDataCode
().
substring
(
modelData
.
getDataCode
().
length
()
-
2
,
modelData
.
getDataCode
().
length
());
RxSwt
.
run
(()
->
performanceService
.
getPerformanceList
(
modelData
.
getTenderId
(),
modelData
.
getId
(),
statue
)).
checkWidget
(
fTable
).
exe
(
l
->
{
count
.
set
(
l
.
size
());
fTable
.
refresh
(
l
);
});
}
};
}
}
com.gx.obe.struct/src/com/gx/obe/struct/service/FinanceService.java
View file @
d45e3f29
...
...
@@ -4,7 +4,7 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
com.gx.obe.
struct.beans
.Finance
;
import
com.gx.obe.
components.core.vo
.Finance
;
import
com.gx.obe.web.utils.ObeHttpUtils
;
public
class
FinanceService
{
...
...
com.gx.obe.struct/src/com/gx/obe/struct/thread/ParsingStructThread.java
View file @
d45e3f29
package
com
.
gx
.
obe
.
struct
.
thread
;
import
java.io.File
;
import
java.nio.charset.Charset
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
...
...
@@ -14,9 +12,7 @@ import org.dom4j.Document;
import
org.dom4j.Element
;
import
com.gx.obe.common.file.enumeration.FileConstants
;
import
com.gx.obe.common.file.thread.NewDownloadBiddingFileThread
;
import
com.gx.obe.common.file.utils.BidFileUtils
;
import
com.gx.obe.common.widget.listener.ProgressMessageAdapter
;
import
com.gx.obe.common.widget.listener.ProgressMessageListener
;
import
com.gx.obe.components.core.Constants
;
import
com.gx.obe.message.Messages
;
...
...
@@ -169,7 +165,6 @@ public class ParsingStructThread implements Runnable {
}
catch
(
Exception
e
)
{
messageProgress
.
message
(
Messages
.
FileDownloadShell2_label_6_text
,
-
1
);
LOG
.
error
(
Messages
.
FileDownloadShell2_label_6_text
);
// System.out.println(e.getMessage());
return
;
}
messageProgress
.
message
(
Messages
.
FileDownloadShell2_label_7_text
,
1
);
...
...
@@ -216,7 +211,6 @@ public class ParsingStructThread implements Runnable {
private
void
parsingSupplierBidFileStruct
(
Supplier
supplier
,
Map
<
String
,
Set
<
String
>>
relChapterTypeSetMap
,
String
bidFilePath
)
{
//获取BidFileIndexTree.xml中fileItem列表
// System.out.println(supplier.getSupplierName());
System
.
out
.
println
(
relChapterTypeSetMap
);
ParsingStructXmlUtils
.
resolverBidFileIndexTree
(
bidFilePath
).
filter
(
t
->
!
t
.
isEmpty
()).
ifPresent
(
el
->
{
//解析小范本表单数据
Optional
.
ofNullable
(
relChapterTypeSetMap
.
get
(
DataCategoryEnum
.
TDI
.
getKey
())).
ifPresent
(
l
->
structDateInfo
.
getTemplateDataItemList
().
addAll
(
l
.
stream
().
map
(
t
->
{
...
...
@@ -244,7 +238,6 @@ public class ParsingStructThread implements Runnable {
private
void
parsingModelData
(
String
relChapterType
,
Supplier
supplier
,
List
<
Element
>
fileItemElementList
,
String
bidFilePath
)
{
//获取结构化数据xml文件地址
RelChapterTypeHandler
handler
=
new
RelChapterTypeHandler
(
relChapterType
);
System
.
out
.
println
(
"relChapterType :"
+
relChapterType
);
Optional
<
ModelDataTypeEnum
>
modelDataTypeEnum
;
if
(
relChapterType
.
contains
(
"EQ_Performance"
))
{
modelDataTypeEnum
=
Optional
.
of
(
ModelDataTypeEnum
.
MAP
.
get
(
relChapterType
));
...
...
@@ -293,7 +286,6 @@ public class ParsingStructThread implements Runnable {
private
void
parsingModelDataDetail
(
ModelDataClassEnum
modelDataEnum
,
String
modelDataId
,
String
xmlFilePath
,
String
mark
)
{
// System.out.println("parsingModelDataDetail");
Consumer
<
ParsingStructXmlUtils
.
AttachmentFileOperation
>
consumer
=
t
->
ParsingStructXmlUtils
.
resolverAttachmentFile
(
t
).
ifPresent
(
structDateInfo
.
getAttachmentFileList
()::
addAll
);
System
.
out
.
println
();
switch
(
modelDataEnum
)
{
// case BusinessLicense://经营许可证
//// System.out.println("BusinessLicense");
...
...
com.gx.obe.struct/src/com/gx/obe/struct/utils/ParsingStructXmlUtils.java
View file @
d45e3f29
...
...
@@ -13,12 +13,12 @@ import org.dom4j.Element;
import
com.gx.obe.bind.recursion.Recursions
;
import
com.gx.obe.common.file.utils.ParsingXmlUtils
;
import
com.gx.obe.components.core.Constants
;
import
com.gx.obe.components.core.vo.Finance
;
import
com.gx.obe.http.json.JsonUtil
;
import
com.gx.obe.struct.beans.AttachmentFile
;
import
com.gx.obe.struct.beans.BidderBasicInfo
;
import
com.gx.obe.struct.beans.BusinessLicense
;
import
com.gx.obe.struct.beans.Certificate
;
import
com.gx.obe.struct.beans.Finance
;
import
com.gx.obe.struct.beans.Performance
;
import
com.gx.obe.struct.beans.ProjectLeader
;
import
com.gx.obe.struct.beans.Qualification
;
...
...
@@ -324,27 +324,45 @@ public class ParsingStructXmlUtils {
finance
.
setAnnual
(
financeElement
.
elementTextTrim
(
"annual"
));
// finance.setRegisteredCapital(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("registeredCapital")));
finance
.
setTotal
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"total"
)));
finance
.
setProfitLossProfit
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"profitLossprofit"
)));
//
finance.setProfitLossProfit(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("profitLossprofit")));
finance
.
setOperatingIncome
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"operatingIncome"
)));
finance
.
setLiabilitiesRate
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"liabilitiesRate"
)));
finance
.
setCurrentAssets
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"currentAssets"
)));
finance
.
setCurrentLiabilities
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"currentLiabilities"
)));
finance
.
setCurrentRate
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"currentRate"
)));
finance
.
setProfitRatio
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"profitRatio"
)));
//
finance.setProfitRatio(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("profitRatio")));
finance
.
setOperatingMargin
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"operatingMargin"
)));
finance
.
setRetainedProfits
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"retainedProfits"
)));
finance
.
setCompanyName
(
financeElement
.
elementTextTrim
(
"companyName"
));
finance
.
setNetWorth
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"netWorth"
)));
//
finance.setCompanyName(financeElement.elementTextTrim("companyName"));
//
finance.setNetWorth(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("netWorth")));
// finance.setFixedAssets(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("fixedAssets")));
// finance.setNetCashFlow(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("netCashFlow")));
// finance.setReturnOnEquity(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("returnOnEquity")));
// finance.setReturnOnTotalAsset(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("returnOnTotalAsset")));
finance
.
setQuickRatio
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"quickRatio"
)));
//
finance.setQuickRatio(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("quickRatio")));
finance
.
setTotalliabilities
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"totalliabilities"
)));
finance
.
setTotalcost
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"totalcost"
)));
finance
.
setQuickassets
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"quickassets"
)));
//
finance.setTotalcost(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("totalcost")));
//
finance.setQuickassets(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("quickassets")));
finance
.
setMainIncomeProfits
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"mainIncomeProfits"
)));
finance
.
setPrimeOperatingRevenue
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"primeOperatingRevenue"
)));
finance
.
setLiabilities
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"liabilities"
)));
finance
.
setIncome
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"income"
)));
finance
.
setMainIncome
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"mainIncome"
)));
finance
.
setProfit
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"profit"
)));
finance
.
setLiabilitiesRate
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"liabilitiesRate"
)));
finance
.
setCurrentAssets
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"currentAssets"
)));
finance
.
setCurrentLiabilities
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"currentLiabilities"
)));
finance
.
setCurrentRate
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"currentRate"
)));
finance
.
setOperatingMargin
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"operatingMargin"
)));
finance
.
setPaidUpCapital
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"paidUpCapital"
)));
finance
.
setRetainedProfits
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"retainedProfits"
)));
finance
.
setMainIncomeProfits
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"mainIncomeProfits"
)));
finance
.
setOperatingIncome
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"operatingIncome"
)));
finance
.
setCompanyName
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"companyName"
)));
finance
.
setStockholdersEquity
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"stockholdersEquity"
)));
finance
.
setReturnOnEquity
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"returnOnEquity"
)));
finance
.
setTotalliabilities
(
ObjectUtils
.
getObjBigDecimal
(
financeElement
.
elementTextTrim
(
"totalliabilities"
)));
// finance.setPrimeOperatingRevenue(ObjectUtils.getObjBigDecimal(financeElement.elementTextTrim("primeOperatingRevenue")));
// finance.setBalanceSheet(initBalanceSheet(financeElement.element("BalanceSheet")));
// finance.setProfitlossSheet(initProfitlossSheet(financeElement.element("ProfitLossSheet")));
// finance.setCashSheet(initCashSheet(financeElement.element("CashSheet")));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment