1、NC65及NC63 开发实例->附件管理操作(自定义附件)

**

1、NC65及NC63 各类开发实例

  1. 附件管理(自定义附件)

**
> 自定义附件管理按钮实现当前单据附件上传

代码:
package nc.ui.hfet.hfet_fininvoiceandorg.ace.action2;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;

import nc.hr.utils.ResHelper;
import nc.md.data.access.NCObject;
import nc.ui.pub.beans.UIDialog;
import nc.ui.pub.filesystem.FileManageUI;
import nc.ui.pub.print.PictureUploadDLG;
import nc.ui.pubapp.uif2app.model.BillManageModel;
import nc.ui.pubapp.uif2app.view.ShowUpableBillForm;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.model.AbstractAppModel;
import nc.vo.hfet.hfet_fininvoiceandorg.AggHfet_fininvoiceandorg;
import nc.vo.hfet.hfet_fininvoiceandorg.Hfet_fininvoiceandorg;

public class OutputFileAction extends NCAction {

private static final long serialVersionUID = 1L;
private ShowUpableBillForm editor;
//private BillManageModel model;
private PictureUploadDLG pictureUploadDLG;
private BillManageModel model;
protected AbstractAppModel appModel;

public AbstractAppModel getAppModel() {
	return appModel;
}

public void setAppModel(AbstractAppModel appModel) {
	this.appModel = appModel;
}

public OutputFileAction(){
	setCode("printLoagBQuery");
	setBtnName("附件管理");
	//ActionInitializer.initializeAction(this, "File");
}

@Override
public void doAction(ActionEvent e) throws Exception {
	 Object[]  objValue = (Object[]) getModel().getSelectedOperaDatas();                                                                 
    if(objValue==null){
    	throw new Exception("请选择数据后再点上传附件");
    }
    if(objValue.length>1){
    	throw new Exception("只允许选择一条数据进行附件上传");
    }
	//validate(objValue);                                                                                                          
	                                                                                                                             
	//checkDataPermission();                                                                                                       
	                                                                                                                             
	/*if (!beforeDialogOpen())                                                                                                     
	{                                                                                                                            
	  return;                                                                                                                    
	} */ 
    AggHfet_fininvoiceandorg object = (AggHfet_fininvoiceandorg) objValue[0];
    Hfet_fininvoiceandorg parentVO = object.getParentVO();
	FileManageUI fileManageUI = new FileManageUI(parentVO.getPk_hfet_declearinfomt());                                                                                
	fileManageUI.setTreeRootVisible(false);                                                                                      
	fileManageUI.setToolBarVisible(true);                                                                          
	UIDialog fileManageDialog = new UIDialog(getModel().getContext().getEntranceUI(), ResHelper.getString("6001uif2", "06001uif20033"));    
	fileManageDialog.getContentPane().setLayout(new BorderLayout());                                                             
	fileManageDialog.getContentPane().add(fileManageUI, "Center");                                                               
	fileManageDialog.setResizable(true);                                                                                         
	fileManageDialog.setSize(820, 400);                                                                                          
	//initBtnState();                                                                                                              
	                                                                                                                             
	fileManageDialog.showModal();                                                                                                
	//getPictureUploadDLG().setVisible(true);

}
private PictureUploadDLG getPictureUploadDLG() {                                      
	  if (pictureUploadDLG == null) {                                                     
	    pictureUploadDLG = new PictureUploadDLG(getModel().getContext().getEntranceUI()); 
	  }                                                                                   
	  return pictureUploadDLG;                                                            
	}
public ShowUpableBillForm getEditor() {
	return editor;
}

public void setEditor(ShowUpableBillForm editor) {
	this.editor = editor;
}

public BillManageModel getModel() {
	return model;
}

public void setModel(BillManageModel model) {
	this.model = model;
}

}

> 判断当前单据是否有上传附件
代码:
IUAPQueryBS server = NCLocator.getInstance().lookup(IUAPQueryBS.class);
Object[] aggvos = getModel().getSelectedOperaDatas();

			for(int i = 0 ;i < aggvos.length ; i++){
				PriceAuditVO aggvo = (PriceAuditVO) aggvos[i];
				PriceAuditHeaderVO headvo = (PriceAuditHeaderVO)aggvo.getParentVO();
				String pk_priceaudit = headvo.getPk_priceaudit();
				String sql = "select count(pk) from sm_pub_filesystem where filepath like '"+pk_priceaudit+"%' and dr = 0 and isdoc = 'z' and isfolder = 'n'";
				int filecount = 0;
				filecount = (int) server.executeQuery(sql, new ColumnProcessor());
				if(0 == filecount){
					MessageDialog.showErrorDlg(((ShowUpableBillForm)this.editor).getBillCardPanel(), "提交失败", "附件必填,请到辅助功能按钮里的附件管理上传附件!");
					putValue("message_after_action", "提交失败,失败单据号:" + headvo.getVbillcode());
					return;
				}
			}

> 自定义附件管理(自定义路径,自定义大小,是否可删除,是否可以修改。。。。。)
代码:

IUAPQueryBS dao = (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class);
EquipVO aggvo = (EquipVO)getModel().getSelectedData();
EquipHeadVO hvo = aggvo.getParentVO();

	String sql="select pk_checkstandard_equip from qc_standard_equip where wl='"+hvo.getPk_material()+"' and dr=0";
	String pk = (String)dao.executeQuery(sql, new ColumnProcessor());
	
	if(pk==null){
		MessageDialog.showErrorDlg(getModel().getContext().getEntranceUI(),
				"提示", "当前设备卡片中的设备还未进行质检!");
	}else{

		String finalchildpath = "检验单-设备";
		String userCode = WorkbenchEnvironment.getInstance().getLoginUser().getUser_code();

		String funcode = getModel().getContext().getNodeCode();
		String pk_group = getModel().getContext().getPk_group();
		FileManageUI ui = FileManageUIFactory.getFileManagePnl(pk,userCode, funcode, pk_group);

		String fullPath = pk+"/"+ finalchildpath;

//附件服务
IFileSystemService service = (IFileSystemService) NCLocator
.getInstance().lookup(IFileSystemService.class);
if (!(service.isExist(pk))) {
service.createNewFileNode(pk, finalchildpath,
WorkbenchEnvironment.getInstance().getLoginUser().getCuserid());
}
ui = FileManageUIFactory.getFileManagePnl(fullPath, userCode, funcode,pk_group);

		ui.setDeleteNodeEnable(false);//附件是否可以删除
		ui.setUploadFileEnable(false);//附件是否可以上传
		ui.setRenameNodeEnable(false);//文件夹是否可以重命名
		ui.setCreateNewFolderEnable(false);//是否可以添加文件夹
		ui.setEnabled(false);
		ui.setTreeEditable(false);
		ui.setTreeRootVisible(false);

		UIDialog dlg = new UIDialog(getModel().getContext().getEntranceUI(),
				NCLangRes4VoTransl.getNCLangRes().getStrByID("pubapp_0","0pubapp-0129"));

		dlg.getContentPane().setLayout(new BorderLayout());
		dlg.getContentPane().add(ui, "Center");
		dlg.setResizable(true);
		dlg.setSize(600, 400);
		dlg.showModal();
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值