1.附件自动分目录拷贝功能(初版)

This commit is contained in:
zhangbb 2019-04-24 14:56:33 +08:00
parent bf20be8272
commit f76f5502f8
2 changed files with 108 additions and 5 deletions

View File

@ -26,6 +26,7 @@
{"true","","Button","excel导入","excel导入","importExcel()","","","","btn_icon_import"},
{"true","","Button","模版下载","模版下载","DiscountDownload()","","","","btn_icon_down",""},
{"true","All","Button","生成租金计划","生成租金计划","createPlan()","","","","btn_icon_generate"},
{"true","All","Button","测试拷贝","测试拷贝","copyPath()","","","","btn_icon_generate"},
};
%>
<%/*~END~*/%>
@ -42,13 +43,26 @@
<%/*~BEGIN~可编辑区~[Editable=false;CodeAreaID=List06;Describe=定义按钮事件;]~*/%>
<script type="text/javascript">
/*~[Describe=新增记录;InputParam=无;OutPutParam=无;]~*/
function copyPath(){
//正式采用代码
/* var contractNoArray=getItemValueArray(0,"CONTRACT_NO");
var contractNos = contractNoArray.join("@"); */
//本地测试数据
var contractNos="BQAP(AH)201904230002";
var sparam = "contractNos="+contractNos;
var result=RunJavaMethod("com.tenwa.reckon.copydata.FileCopyToOtherPath","copyFile",sparam);
if(result=="SUCCESS"){
alert("拷贝成功!!");
}else{
alert(result);
}
}
//生成数据
function createPlan(){
debugger;
var Id=getItemValueArray(0,"ID");
var CONTRACT_NO=getItemValueArray(0,"CONTRACT_NO");
var Id = getItemValueArray(0,"ID");
var CONTRACT_NO = getItemValueArray(0,"CONTRACT_NO");
var number = 0;
var faile_no="";
if(typeof(Id)=="undefined"||Id==null||Id==""){alert("请选择数据");return;}
for(var i=0;i<Id.length;i++){
var param={};
@ -76,6 +90,8 @@
if(result=="success"){
number++;
}else{
faile_no+=CONTRACT_NO[i]+";";
}
}
@ -87,7 +103,7 @@
}else if(number==Id.length){
alert("生成成功!!!");
}else{
alert("部分生成成功!!!");
alert("部分生成成功!!!"+faile_no+"生成失败!!!");
}
reloadSelf();
}

View File

@ -0,0 +1,87 @@
package com.tenwa.reckon.copydata;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.io.FileUtils;
import com.amarsoft.awe.Configure;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
public class FileCopyToOtherPath {
private String contractNos;
public String getContractNo() {
return contractNos;
}
public void setContractNos(String contractNos) {
this.contractNos = contractNos;
}
public String doCopy(String contractNo){
Transaction Sqlca = Transaction.createTransaction("als");
//原路径
String srcPath ;
//目标相对路径
String destPath ;
//目标根目录
String rootPath;
try {
Configure config = Configure.getInstance();
rootPath = config.getConfigure("FileCopyPath");
String sql = "SELECT O.FULLPATH AS FULLPATH, CONCAT(LCI.CONTRACT_NO, '/', LDL.ONE_CLASSIFY, '/' , LDL.DOC_NAME, '/', O.FILENAME) AS TARGET_FILE_PATH FROM LB_DOCATTRIBUTE O"
+" LEFT JOIN LB_DOCLIBRARY LDL ON LDL.ID = O.LIBRARY_ID"
+" LEFT JOIN LB_DOCRELATIVE LDR ON LDL.RELATIVE_ID = LDR.ID"
+" LEFT JOIN LB_CONTRACT_INFO LCI ON LDR.CONTRACT_ID = LCI.ID"
+" WHERE LCI.CONTRACT_NO ='"+contractNo+"'";
Map<String,String> params=new HashMap<String,String>();
List<Map<String, String>> pathList = DataOperatorUtil.getDataBySql(Sqlca,sql,params);
if(pathList.size()>0){
for(Map<String, String> path:pathList){
srcPath = path.get("FULLPATH");
destPath =rootPath+"/"+path.get("TARGET_FILE_PATH");
System.out.println("srcPath="+srcPath);
System.out.println("destPath="+destPath);
File srcFile = new File(srcPath);
File destFile = new File(destPath);
try {
//文件拷贝true为最后修改时间不变fail为当前时间.
//拷贝时如果目标文件已存在则会从新覆盖
FileUtils.copyFile(srcFile, destFile, true);
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("合同"+contractNo+"一共有"+pathList.size()+"条数据!!");
} catch (Exception e) {
e.printStackTrace();
return contractNo;
}
return "Y";
}
public String copyFile(){
String failNo="";
List<String> cns = Arrays.asList(contractNos.split("@"));
for(String contractNo:cns){
if("".equals(contractNo)||contractNo==null){
continue;
}
String result = doCopy(contractNo);
if(!"Y".equals(result)){
failNo+=contractNo+";";
}
}
if("".equals(failNo)){
return "SUCCESS";
}
return failNo;
}
}