|
|
@@ -0,0 +1,501 @@
|
|
|
+package com.malk.KLNM.server.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.malk.KLNM.server.HXClient;
|
|
|
+import com.malk.server.dingtalk.DDConf;
|
|
|
+import com.malk.service.dingtalk.DDClient;
|
|
|
+import com.malk.service.dingtalk.DDClient_Contacts;
|
|
|
+import com.malk.service.dingtalk.DDClient_Storage;
|
|
|
+import com.malk.service.dingtalk.DDService;
|
|
|
+import com.malk.service.h3yun.CYClient;
|
|
|
+import com.malk.utils.UtilMap;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Slf4j
|
|
|
+public class HXImplClient implements HXClient {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DDClient_Contacts ddClient_contacts;
|
|
|
+ @Autowired
|
|
|
+ private DDClient ddClient;
|
|
|
+ @Autowired
|
|
|
+ private DDConf ddConf;
|
|
|
+ @Autowired
|
|
|
+ private DDClient_Storage ddClient_storage;
|
|
|
+ @Autowired
|
|
|
+ private DDService ddService;
|
|
|
+ @Autowired
|
|
|
+ private CYClient cyClient;
|
|
|
+ @Override
|
|
|
+ public String syncDP(String sAttachments, String sProjectName, String typeName) {
|
|
|
+// if (UtilString.isBlankCompatNull(sAttachments) || StringUtils.isBlank(sProjectName) || StringUtils.isBlank(typeName)) {
|
|
|
+// return "";
|
|
|
+// }
|
|
|
+// // prd: 文件目录:钉盘空间 / 氚云项目附件 + 项目名称/ 日期(年月日)/ 附件名称
|
|
|
+// String spaceId = "2928487153"; // 钉盘空间
|
|
|
+// String parentId = "120089274640"; // 氚云项目附件
|
|
|
+// // 获取用户unionId
|
|
|
+// String unionId = String.valueOf(ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), ddConf.getOperator()).get("unionid"));
|
|
|
+// // 获取项目文件夹 [RETURN_DENTRY_IF_EXISTS: 文件夹名称冲突策略, 返回已存在文件夹, 避免查询文件夹列表]UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS")
|
|
|
+// Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, sProjectName, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+// dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, String.valueOf(dentry.get("id")), typeName, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+// // 获取氚云附件ID, 项目名称
|
|
|
+// List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+// for (Map attachment : attachments) {
|
|
|
+// H3file.getFile(String.valueOf(attachment.get("ObjectId")));
|
|
|
+// String urlFile = cyClient.getTemporaryUrls(ddClient.getAccessToken(), String.valueOf(attachment.get("ObjectId")));
|
|
|
+// // 上传文件
|
|
|
+// ddService.uploadFileFormUrlForDingDrive(ddClient.getAccessToken(), unionId, spaceId, String.valueOf(dentry.get("id")), urlFile, String.valueOf(attachment.get("FileName")));
|
|
|
+// }
|
|
|
+ return "";
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传FN合同(合同附件)、Packing List清单;上传提单样本及盖章保函 到航次文件夹
|
|
|
+ *
|
|
|
+ * @param data
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public String CStoDP(Map<String, String> data) {
|
|
|
+ log.info("data{0}", data);
|
|
|
+ String spaceId = "1818087334";//总文件夹空间ID
|
|
|
+ String parentId = "159568092237";//航次文件夹id
|
|
|
+ String CStype = String.valueOf(data.get("HIH3type"));//CStype01:上传FN合同(合同附件)、Packing List清单;CStype02: 上传提单样本及盖章保函
|
|
|
+ String YiJML = String.valueOf(data.get("YiJML"));
|
|
|
+ String ErJML = String.valueOf(data.get("ErJML"));
|
|
|
+ String SanJML = "提单保函";
|
|
|
+ String SiJML = String.valueOf(data.get("SiJML"));
|
|
|
+ String sAttachments = String.valueOf(data.get("sAttachments"));//附件列表
|
|
|
+ String CreatedById = String.valueOf(data.get("CreatedById"));//创建人 暂时没用到
|
|
|
+ // 获取用户unionId / token
|
|
|
+ String unionId = String.valueOf(ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), ddConf.getOperator()).get("unionid"));
|
|
|
+ String token = ddClient.getAccessToken();
|
|
|
+ //获取全部文件或文件夹
|
|
|
+ Map map_MR = new HashMap();
|
|
|
+ List<Map> map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);
|
|
|
+ String PAR_ID1 = GetParentId(map_ALL, YiJML);//判断一级名称有无存在
|
|
|
+ if (PAR_ID1.equals("")) { //航次文件夹下无所属部门名称 文件夹
|
|
|
+ //创建一级文件夹 所属部门名称
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, YiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第二层 船名+航次编号
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, ErJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ if (CStype.equals("CStype01")) {
|
|
|
+ //新建第三层 FN
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, "FN", UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+
|
|
|
+ // 获取氚云附件ID, 项目名称
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if (CStype.equals("CStype02")) {
|
|
|
+ if (!SiJML.equals("")) {//新建第三层
|
|
|
+ //新建第三层 放单保函
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SanJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ // 新建第四层 租家+合同号
|
|
|
+ if (!SiJML.equals("")) {
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {//航次文件夹下有 所属部门名称 文件夹
|
|
|
+ parentId = PAR_ID1;
|
|
|
+ // 判断第二层 船名+航次编号 有无
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第二层全部文件或文件夹
|
|
|
+ String PAR_ID2 = GetParentId(map_ALL, ErJML);
|
|
|
+ if (PAR_ID2.equals("")) { //// 所属部门名称下无 船名+航次编号文件夹
|
|
|
+ //新建第二层 船名+航次编号
|
|
|
+
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, ErJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ if (CStype.equals("CStype01")) {
|
|
|
+ //新建第三层 FN
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, "FN", UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ // 获取氚云附件ID, 项目名称
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else if (CStype.equals("CStype02")) {
|
|
|
+ if (!SiJML.equals("")) {//新建第三层
|
|
|
+ //新建第三层 放单保函
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SanJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ // 新建第四层 租家+合同号
|
|
|
+ if (!SiJML.equals("")) {
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else { //// 所属部门名称下有 船名+航次编号文件夹
|
|
|
+ parentId = PAR_ID2;
|
|
|
+ if (CStype.equals("CStype01")) {
|
|
|
+ //判断有无放单保函
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第二层全部文件或文件夹
|
|
|
+ String PAR_ID3 = GetParentId(map_ALL, "FN");
|
|
|
+ if (PAR_ID3.equals("")) { //如果FN
|
|
|
+ //新建第三层 FN
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, "FN", UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ // 获取氚云附件ID, 项目名称
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ parentId = PAR_ID3;
|
|
|
+ // 获取氚云附件ID, 项目名称
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if (CStype.equals("CStype02")) {
|
|
|
+ if (!SiJML.equals("")) {//租家+合同号文件数据
|
|
|
+ //判断有无放单保函
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第二层全部文件或文件夹
|
|
|
+ String PAR_ID3 = GetParentId(map_ALL, SanJML);
|
|
|
+ if (PAR_ID3.equals("")) { //如果无放单保函
|
|
|
+ if (!SiJML.equals("")) {//新建第三层
|
|
|
+ //新建第三层 放单保函
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SanJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ // 新建第四层 租家+合同号
|
|
|
+ if (!SiJML.equals("")) {
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else { //有放单保函
|
|
|
+ parentId = PAR_ID3;
|
|
|
+ // 新建第四层 租家+合同号
|
|
|
+ if (!SiJML.equals("")) {
|
|
|
+ //判断有无放单保函
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第放单保函下层全部文件或文件夹
|
|
|
+ String PAR_ID4 = GetParentId(map_ALL, SiJML);
|
|
|
+ if (PAR_ID4.equals("")) { //判断无 租家+合同号文件
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else {////判断有 租家+合同号文件
|
|
|
+ parentId = PAR_ID4;
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ //上传文件
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("上传完成!");
|
|
|
+ return null;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String CWtoDP(Map<String, String> data) {
|
|
|
+ String parentId = "159568150707";//财务文件夹id
|
|
|
+ String spaceId = "1818087334";//总文件夹空间ID
|
|
|
+ String CStype = String.valueOf(data.get("HIH3type"));
|
|
|
+ String YiJML = String.valueOf(data.get("YiJML"));
|
|
|
+ String ErJML = String.valueOf(data.get("ErJML"));
|
|
|
+ String SanJML = String.valueOf(data.get("SanJML"));
|
|
|
+ String SiJML = String.valueOf(data.get("SiJML"));
|
|
|
+ String WuJML = String.valueOf(data.get("WuJML"));
|
|
|
+ String LiuJML = String.valueOf(data.get("LiuJML"));
|
|
|
+ String sAttachments = String.valueOf(data.get("sAttachments"));//附件列表
|
|
|
+ String CreatedById = String.valueOf(data.get("CreatedById"));//创建人 暂时没用到
|
|
|
+ String unionId = String.valueOf(ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), ddConf.getOperator()).get("unionid"));
|
|
|
+ String token = ddClient.getAccessToken();
|
|
|
+ //获取全部文件或文件夹
|
|
|
+ Map map_MR = new HashMap();
|
|
|
+ List<Map> map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);
|
|
|
+ String PAR_ID1 = GetParentId(map_ALL, YiJML);//判断一级名称有无存在
|
|
|
+ if (PAR_ID1.equals("")) {//如果没有一级文件夹
|
|
|
+ //创建一级文件夹 年
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, YiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第二层 账户+币种
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, ErJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第三层 付款/收款
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SanJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第四层 月
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ if (CStype.equals("CW01")) { //如果是付款
|
|
|
+ //新建第五层 天
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, WuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第六层 币种 + 金额
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else if (CStype.equals("CW02")) {
|
|
|
+ //新建第五层 币种+金额+船名+开票抬头
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ } else {
|
|
|
+ parentId = PAR_ID1;
|
|
|
+ // 判断第二层 账户+币种 有无
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第二层全部文件或文件夹
|
|
|
+ String PAR_ID2 = GetParentId(map_ALL, ErJML);
|
|
|
+ if (PAR_ID2.equals("")) { //// 如果无 账户+币种 文件夹
|
|
|
+ //新建第二层 账户+币种
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, ErJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第三层 付款/收款
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SanJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第四层 月
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ if (CStype.equals("CW01")) { //如果是付款
|
|
|
+ //新建第五层 天
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, WuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第六层 币种 + 金额
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else if (CStype.equals("CW02")) {
|
|
|
+ //新建第五层 币种+金额+船名+开票抬头
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ parentId = PAR_ID2;
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第二层全部文件或文件夹
|
|
|
+ String PAR_ID3 = GetParentId(map_ALL, SanJML);
|
|
|
+ if (PAR_ID3.equals("")) {//// 如果无 付款/收款 文件夹
|
|
|
+ //新建第三层 付款/收款
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SanJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第四层 月
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ if (CStype.equals("CW01")) { //如果是付款
|
|
|
+ //新建第五层 天
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, WuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第六层 币种 + 金额
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else if (CStype.equals("CW02")) {
|
|
|
+ //新建第五层 币种+金额+船名+开票抬头
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else { //如果有 付款/收款 文件夹
|
|
|
+ parentId = PAR_ID3;
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第三层全部文件或文件夹
|
|
|
+ String PAR_ID4 = GetParentId(map_ALL, SiJML);
|
|
|
+ if (PAR_ID4.equals("")) {//// 如果无 月 文件夹
|
|
|
+ //新建第四层 月
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, SiJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ if (CStype.equals("CW01")) { //如果是付款
|
|
|
+ //新建第五层 天
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, WuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第六层 币种 + 金额
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ } else if (CStype.equals("CW02")) {
|
|
|
+ //新建第五层 币种+金额+船名+开票抬头
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else { //// 如果有 月 文件夹
|
|
|
+ parentId = PAR_ID4;
|
|
|
+ if (CStype.equals("CW01")) { //如果是付款
|
|
|
+ map_ALL = ddClient_storage.getDentries(token, unionId, "1818087334", parentId, map_MR);//获取第四层全部文件或文件夹
|
|
|
+ String PAR_ID5 = GetParentId(map_ALL, WuJML);
|
|
|
+ if (PAR_ID5.equals("")) {//如果无 天 文件夹
|
|
|
+ //新建第五层 天
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, WuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //新建第六层 币种 + 金额
|
|
|
+ dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ parentId = PAR_ID5;
|
|
|
+
|
|
|
+ //新建第六层 币种 + 金额
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ } else if (CStype.equals("CW02")) {
|
|
|
+ //新建第五层 币种+金额+船名+开票抬头
|
|
|
+ Map dentry = ddClient_storage.addFolders(ddClient.getAccessToken(), unionId, spaceId, parentId, LiuJML, UtilMap.map("conflictStrategy", "RETURN_DENTRY_IF_EXISTS"));
|
|
|
+ parentId = String.valueOf(dentry.get("id"));
|
|
|
+ //循环上传文件
|
|
|
+ List<Map> attachments = (List<Map>) JSON.parse(sAttachments);
|
|
|
+ for (Map attachment : attachments) {
|
|
|
+ String FileMsg = ddService.getFile_new(ddClient.getAccessToken(), unionId, spaceId, parentId, String.valueOf(attachment.get("FileId")), String.valueOf(attachment.get("FileName")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ 根据名称,判断对应的parentId
|
|
|
+ */
|
|
|
+ public String GetParentId(List<Map> map_ALL, String name) {
|
|
|
+ String parentId = "";
|
|
|
+ if (map_ALL != null) {
|
|
|
+ for (Map<String, String> map : map_ALL) {
|
|
|
+ if (map.get("name").equals(name)) {//
|
|
|
+ parentId = map.get("id");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return parentId;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //删除
|
|
|
+// String directoryPath = "D:\\本地下载aaa\\";
|
|
|
+//
|
|
|
+// // 创建File对象表示目录
|
|
|
+// File directory = new File(directoryPath);
|
|
|
+// // 确保目录存在并且是一个目录
|
|
|
+// if (directory.exists() && directory.isDirectory()) {
|
|
|
+// // 获取目录下所有文件和文件夹
|
|
|
+// File[] files = directory.listFiles();
|
|
|
+//
|
|
|
+// if (files != null) { // 确保文件数组不为空
|
|
|
+// for (File file : files) {
|
|
|
+// // 如果是文件,则可以直接删除
|
|
|
+// if (file.isFile()) {
|
|
|
+// file.delete();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// System.out.println("删除成功!");
|
|
|
+// } else {
|
|
|
+// System.out.println("Directory does not exist or is not a directory.");
|
|
|
+// }
|
|
|
+}
|