Commit d45e3f29 authored by 黄重's avatar 黄重

提交结构话修改代码

parent c37b8c75
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);
}
......@@ -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.MeetingRoomOpenShell;
import com.gx.obe.evaluation.step.shell.ShowAiProcessShell;
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() {}
......
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);
}
}
......@@ -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);
......
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

394 KB | W: | H:

BID-EVALUATION/splash.bmp

394 KB | W: | H:

BID-EVALUATION/splash.bmp
BID-EVALUATION/splash.bmp
BID-EVALUATION/splash.bmp
BID-EVALUATION/splash.bmp
  • 2-up
  • Swipe
  • Onion skin
BID-OPENING/splash.bmp

394 KB | W: | H:

BID-OPENING/splash.bmp

394 KB | W: | H:

BID-OPENING/splash.bmp
BID-OPENING/splash.bmp
BID-OPENING/splash.bmp
BID-OPENING/splash.bmp
  • 2-up
  • Swipe
  • Onion skin
......@@ -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

9.73 KB | W: | H:

OBE-COMMON-ICONS/icons/login/logo.png

13.8 KB | W: | H:

OBE-COMMON-ICONS/icons/login/logo.png
OBE-COMMON-ICONS/icons/login/logo.png
OBE-COMMON-ICONS/icons/login/logo.png
OBE-COMMON-ICONS/icons/login/logo.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -774,27 +774,27 @@
<userMassage>
<name>投标人名称</name>
<code>companyname</code>
<code>companyName</code>
</userMassage>
<userMassage>
<name>注册地址</name>
<code>registerlocation</code>
<code>registerLocation</code>
</userMassage>
<userMassage>
<name>邮政编码</name>
<code>postalcode</code>
<code>postalCode</code>
</userMassage>
<userMassage>
<name>联系人</name>
<code>linkman</code>
<code>linkMan</code>
</userMassage>
<userMassage>
<name>电话</name>
<code>linkmanphone</code>
<code>linkManPhone</code>
</userMassage>
<userMassage>
<name>传真</name>
<code>linkmanfax</code>
<code>linkManFax</code>
</userMassage>
<userMassage>
<name>网址</name>
......@@ -802,83 +802,83 @@
</userMassage>
<userMassage>
<name>法人姓名(单位负责人)</name>
<code>legalrepresentativename</code>
<code>legalRepresentativeName</code>
</userMassage>
<userMassage>
<name>法人技术职称</name>
<code>legalrepresentativetitle</code>
<code>legalRepresentativeTitle</code>
</userMassage>
<userMassage>
<name>法人电话</name>
<code>legalrepresentativephone</code>
<code>legalRepresentativePhone</code>
</userMassage>
<userMassage>
<name>技术负责人姓名</name>
<code>technicaldirectorname</code>
<code>technicalDirectorName</code>
</userMassage>
<userMassage>
<name>技术负责人技术职称</name>
<code>technicaldirectortitle</code>
<code>technicalDirectorTitle</code>
</userMassage>
<userMassage>
<name>技术负责人电话</name>
<code>technicaldirectorphone</code>
<code>technicalDirectorPhone</code>
</userMassage>
<userMassage>
<name>成立时间</name>
<code>setuptime</code>
<code>setupTime</code>
</userMassage>
<userMassage>
<name>企业资质等级</name>
<code>companyqualificationlevel</code>
<code>companyQualificationLevel</code>
</userMassage>
<userMassage>
<name>营业执照号</name>
<code>bussinesslicense</code>
<code>bussinessLicense</code>
</userMassage>
<userMassage>
<name>注册资金(万元)</name>
<code>registeredcapital</code>
<code>registeredCapital</code>
</userMassage>
<userMassage>
<name>开户银行</name>
<code>depositbank</code>
<code>depositBank</code>
</userMassage>
<userMassage>
<name>开户银行账号</name>
<code>bankaccount</code>
<code>bankAccount</code>
</userMassage>
<userMassage>
<name>员工总人数</name>
<code>employeenumber</code>
<code>employeeNumber</code>
</userMassage>
<userMassage>
<name>项目经理数</name>
<code>purchasernumber</code>
<code>purchaserNumber</code>
</userMassage>
<userMassage>
<name>高级职称人员数</name>
<code>seniorprofessionalpostnumber</code>
<code>seniorProfessionalPostNumber</code>
</userMassage>
<userMassage>
<name>中级职称人员数</name>
<code>mediumprofessionalpostnumber</code>
<code>mediumProfessionalPostNumber</code>
</userMassage>
<userMassage>
<name>初级职称人员数</name>
<code>primaryprofessionalpostnumber</code>
<code>primaryProfessionalPostNumber</code>
</userMassage>
<userMassage>
<name>技工数</name>
<code>artisannumber</code>
<code>artisanNumber</code>
</userMassage>
<userMassage>
<name>组织结构</name>
<code>orgstructure</code>
<code>orgStructure</code>
</userMassage>
<userMassage>
<name>经营范围</name>
<code>businessscope</code>
<code>businessScope</code>
</userMassage>
<userMassage>
<name>备注</name>
......
......@@ -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;
}
}
......@@ -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) {
......
#Eclipse modern messages class
#Tue Jan 23 11:29:02 CST 2024
#Tue Apr 16 13:51:53 CST 2024
About=\u5173\u4E8E
AboutAttachment=\u76F8\u5173\u9644\u4EF6
AboveDifferenceCondition=\u9AD8\u4E8E\u5DEE\u989D\u6761\u4EF6
......@@ -118,7 +118,7 @@ Button_appllyForBack=\u7533\u8BF7\u9000\u56DE
Button_appllyForBackFormat=\u7533\u8BF7\u9000\u56DE{0}
Button_applySignature=\u7533\u8BF7\u7B7E\u540D
Button_applyToOthers=\u590D\u5236\u5230\u5176\u4ED6{0}
Button_approval=\u5BA1\u6838
Button_approval=\u5BA1\u67E5
Button_approvalFormat=\u5BA1\u6838{0}
Button_assignEvalGroup=\u5206\u914D\u8BC4\u5BA1\u8981\u7D20\u5355\u5143
Button_assignWorker=\u5206\u914D\u6E05\u6807\u4EBA\u5458
......@@ -786,34 +786,6 @@ LoginDialog_connectionFail=\u670D\u52A1\u5668\u8FDE\u63A5\u5931\u8D25\uFF01
LoginDialog_editConfig=\u4FEE\u6539\u914D\u7F6E
LoginDialog_environment=\u73AF\u5883\u68C0\u6D4B
LoginDialog_installCaDriverTips=\u82E5\u60A8\u7684\u7535\u8111\u5C1A\u672A\u5B89\u88C5USBKey\u9A71\u52A8\u7A0B\u5E8F\uFF0C\u8BF7\u5148\u5B89\u88C5\u3002
LoginDialog_label_10_text=\u4F01\u4E1A\u8D44\u8D28\u7B49\u7EA7
LoginDialog_label_11_text=\u6CE8\u518C\u8D44\u91D1(\u4E07\u5143 )
LoginDialog_label_12_text=\u8425\u4E1A\u6267\u7167\u53F7
LoginDialog_label_13_text=\u5F00\u6237\u94F6\u884C
LoginDialog_label_14_text=\u94F6\u884C\u8D26\u53F7
LoginDialog_label_15_text=\u8D22\u52A1\u5E74\u5EA6\u62A5\u544A
LoginDialog_label_16_text=\u8D44\u4EA7\u603B\u989D(\u4E07\u5143)
LoginDialog_label_17_text=\u8D1F\u503A\u989D(\u4E07\u5143)
LoginDialog_label_18_text=\u8D44\u4EA7\u8D1F\u503A\u7387(%)
LoginDialog_label_19_text=\u4E3B\u8425\u4E1A\u52A1\u6536\u5165(\u4E07\u5143)
LoginDialog_label_1_text=\u4F9B\u5E94\u5546\u540D\u79F0
LoginDialog_label_20_text=\u51C0\u5229\u6DA6(\u4E07\u5143)
LoginDialog_label_21_text=\u51C0\u5229\u7387(%)
LoginDialog_label_22_text=\u9879\u76EE\u540D\u79F0
LoginDialog_label_23_text=\u9879\u76EE\u6240\u5728\u5730
LoginDialog_label_24_text=\u53D1\u5305\u4EBA\u540D\u79F0
LoginDialog_label_25_text=\u53D1\u5305\u4EBA\u5730\u5740
LoginDialog_label_26_text=\u53D1\u5305\u4EBA\u7535\u8BDD
LoginDialog_label_27_text=\u5408\u540C\u4EF7\u683C(\u4E07\u5143)
LoginDialog_label_28_text=\u5F00\u5DE5\u65E5\u671F
LoginDialog_label_29_text=\u8BA1\u5212\u7AE3\u5DE5\u65E5\u671F
LoginDialog_label_2_text=\u6CE8\u518C\u5730\u5740
LoginDialog_label_30_text=\u5F53\u524D\u6307\u6807\u672A\u7ED1\u5B9A\u8BC4\u5BA1\u70B9
LoginDialog_label_3_text=\u8054\u7CFB\u4EBA
LoginDialog_label_5_text=\u7EC4\u7EC7\u673A\u6784
LoginDialog_label_6_text=\u6CD5\u4EBA\u540D\u79F0
LoginDialog_label_7_text=\u6280\u672F\u8D1F\u8D23\u4EBA\u540D\u79F0
LoginDialog_label_8_text=\u6210\u7ACB\u65F6\u95F4
LoginDialog_login=\u767B \u5F55
LoginDialog_logoIco=icons/login/logo.png
LoginDialog_machineCode=\u673A\u4F4D\u6807\u8BC6\u7801
......@@ -1068,8 +1040,10 @@ Setup_noFormat=\u672A\u8BBE\u7F6E{0}
Setup_yes=\u5DF2\u8BBE\u7F6E
Setup_yesFormat=\u5DF2\u8BBE\u7F6E{0}
ShortlistedRules=\u5165\u56F4\u89C4\u5219
ShowAiProcessShell_lblNewLabel_4_text=New Label
ShowBidPrice=\u663E\u793A\u6295\u6807\u62A5\u4EF7
ShowLimitPrice=\u663E\u793A\u9650\u4EF7
ShowViewAiProcessDialog_lblNewLabel_text=\u5F53\u524D\u8FDB\u5EA6\uFF1A
SignFile=\u7B7E\u5230\u6587\u4EF6
SignInStatus_avoid=\u5DF2\u56DE\u907F
SignInStatus_no=\u672A\u7B7E\u5230
......
......@@ -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 {
......
#Eclipse modern messages class
#Tue Jan 23 11:29:02 CST 2024
#Tue Apr 16 13:51:53 CST 2024
About=\u5173\u4E8E
AboutAttachment=\u76F8\u5173\u9644\u4EF6
AboveDifferenceCondition=\u9AD8\u4E8E\u5DEE\u989D\u6761\u4EF6
......@@ -118,7 +118,7 @@ Button_appllyForBack=\u7533\u8BF7\u9000\u56DE
Button_appllyForBackFormat=\u7533\u8BF7\u9000\u56DE{0}
Button_applySignature=\u7533\u8BF7\u7B7E\u540D
Button_applyToOthers=\u590D\u5236\u5230\u5176\u4ED6{0}
Button_approval=\u5BA1\u6838
Button_approval=\u5BA1\u67E5
Button_approvalFormat=\u5BA1\u6838{0}
Button_assignEvalGroup=\u5206\u914D\u8BC4\u5BA1\u8981\u7D20\u5355\u5143
Button_assignWorker=\u5206\u914D\u6E05\u6807\u4EBA\u5458
......@@ -786,34 +786,6 @@ LoginDialog_connectionFail=\u670D\u52A1\u5668\u8FDE\u63A5\u5931\u8D25\uFF01
LoginDialog_editConfig=\u4FEE\u6539\u914D\u7F6E
LoginDialog_environment=\u73AF\u5883\u68C0\u6D4B
LoginDialog_installCaDriverTips=\u82E5\u60A8\u7684\u7535\u8111\u5C1A\u672A\u5B89\u88C5USBKey\u9A71\u52A8\u7A0B\u5E8F\uFF0C\u8BF7\u5148\u5B89\u88C5\u3002
LoginDialog_label_10_text=\u4F01\u4E1A\u8D44\u8D28\u7B49\u7EA7
LoginDialog_label_11_text=\u6CE8\u518C\u8D44\u91D1(\u4E07\u5143 )
LoginDialog_label_12_text=\u8425\u4E1A\u6267\u7167\u53F7
LoginDialog_label_13_text=\u5F00\u6237\u94F6\u884C
LoginDialog_label_14_text=\u94F6\u884C\u8D26\u53F7
LoginDialog_label_15_text=\u8D22\u52A1\u5E74\u5EA6\u62A5\u544A
LoginDialog_label_16_text=\u8D44\u4EA7\u603B\u989D(\u4E07\u5143)
LoginDialog_label_17_text=\u8D1F\u503A\u989D(\u4E07\u5143)
LoginDialog_label_18_text=\u8D44\u4EA7\u8D1F\u503A\u7387(%)
LoginDialog_label_19_text=\u4E3B\u8425\u4E1A\u52A1\u6536\u5165(\u4E07\u5143)
LoginDialog_label_1_text=\u4F9B\u5E94\u5546\u540D\u79F0
LoginDialog_label_20_text=\u51C0\u5229\u6DA6(\u4E07\u5143)
LoginDialog_label_21_text=\u51C0\u5229\u7387(%)
LoginDialog_label_22_text=\u9879\u76EE\u540D\u79F0
LoginDialog_label_23_text=\u9879\u76EE\u6240\u5728\u5730
LoginDialog_label_24_text=\u53D1\u5305\u4EBA\u540D\u79F0
LoginDialog_label_25_text=\u53D1\u5305\u4EBA\u5730\u5740
LoginDialog_label_26_text=\u53D1\u5305\u4EBA\u7535\u8BDD
LoginDialog_label_27_text=\u5408\u540C\u4EF7\u683C(\u4E07\u5143)
LoginDialog_label_28_text=\u5F00\u5DE5\u65E5\u671F
LoginDialog_label_29_text=\u8BA1\u5212\u7AE3\u5DE5\u65E5\u671F
LoginDialog_label_2_text=\u6CE8\u518C\u5730\u5740
LoginDialog_label_30_text=\u5F53\u524D\u6307\u6807\u672A\u7ED1\u5B9A\u8BC4\u5BA1\u70B9
LoginDialog_label_3_text=\u8054\u7CFB\u4EBA
LoginDialog_label_5_text=\u7EC4\u7EC7\u673A\u6784
LoginDialog_label_6_text=\u6CD5\u4EBA\u540D\u79F0
LoginDialog_label_7_text=\u6280\u672F\u8D1F\u8D23\u4EBA\u540D\u79F0
LoginDialog_label_8_text=\u6210\u7ACB\u65F6\u95F4
LoginDialog_login=\u767B \u5F55
LoginDialog_logoIco=icons/login/logo.png
LoginDialog_machineCode=\u673A\u4F4D\u6807\u8BC6\u7801
......@@ -1068,8 +1040,10 @@ Setup_noFormat=\u672A\u8BBE\u7F6E{0}
Setup_yes=\u5DF2\u8BBE\u7F6E
Setup_yesFormat=\u5DF2\u8BBE\u7F6E{0}
ShortlistedRules=\u5165\u56F4\u89C4\u5219
ShowAiProcessShell_lblNewLabel_4_text=New Label
ShowBidPrice=\u663E\u793A\u6295\u6807\u62A5\u4EF7
ShowLimitPrice=\u663E\u793A\u9650\u4EF7
ShowViewAiProcessDialog_lblNewLabel_text=\u5F53\u524D\u8FDB\u5EA6\uFF1A
SignFile=\u7B7E\u5230\u6587\u4EF6
SignInStatus_avoid=\u5DF2\u56DE\u907F
SignInStatus_no=\u672A\u7B7E\u5230
......
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());
}
}
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;
}
}
......@@ -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
......@@ -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);
......
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;
}
}
......@@ -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;
}
......
......@@ -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);
}
}
......@@ -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: 加载渲染器
......
......@@ -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,
......
......@@ -2,3 +2,4 @@ source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
javacDefaultEncoding.. = UTF-8
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
......@@ -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<>();
......
......@@ -5,7 +5,7 @@ public class Td {
private String colType;
private String content;
private int width;
private boolean needFill;
private boolean isNeedFill;
public String getColType() {
return colType;
......@@ -32,11 +32,11 @@ public class Td {
}
public boolean isNeedFill() {
return needFill;
return isNeedFill;
}
public void setNeedFill(boolean needFill) {
this.needFill = needFill;
public void setIsNeedFill(boolean isNeedFill) {
this.isNeedFill = isNeedFill;
}
}
\ No newline at end of file
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() {}
}
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() {}
}
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() {}
}
......@@ -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"))));
}
}
......
......@@ -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);
......
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);
});
}
};
}
}
......@@ -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 {
......
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");
......
......@@ -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")));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment