|
@@ -18,7 +18,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.google.common.base.Strings;
|
|
|
-import com.malk.core.McProject;
|
|
|
+import com.malk.lingmingguangzi.utils.SkipHttpsUtil;
|
|
|
import com.malk.server.aliwork.YDConf;
|
|
|
import com.malk.server.aliwork.YDParam;
|
|
|
import com.malk.server.common.McR;
|
|
@@ -37,6 +37,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
|
import org.apache.http.HttpEntity;
|
|
|
import org.apache.http.client.HttpClient;
|
|
|
+import org.apache.http.client.methods.HttpGet;
|
|
|
import org.apache.http.client.methods.HttpPost;
|
|
|
import org.apache.http.entity.ContentType;
|
|
|
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
|
@@ -49,8 +50,8 @@ import org.springframework.stereotype.Service;
|
|
|
import java.io.*;
|
|
|
import java.net.HttpURLConnection;
|
|
|
import java.net.URL;
|
|
|
+import java.nio.file.Files;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.ConcurrentHashMap;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@@ -74,17 +75,29 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
@Value(value = "${teambition.TemplateId}")
|
|
|
private String templateId;
|
|
|
|
|
|
- @Value(value = "${erp.url}")
|
|
|
- private String erpUrl;
|
|
|
+ @Value(value = "${erp_sz.url}")
|
|
|
+ private String erpUrlSz;
|
|
|
|
|
|
- @Value(value = "${erp.username}")
|
|
|
- private String userName;
|
|
|
+ @Value(value = "${erp_sz.username}")
|
|
|
+ private String userNameSz;
|
|
|
|
|
|
- @Value(value = "${erp.password}")
|
|
|
- private String password;
|
|
|
+ @Value(value = "${erp_sz.password}")
|
|
|
+ private String passwordSz;
|
|
|
|
|
|
- @Value(value = "${erp.filePath}")
|
|
|
- private String filePath;
|
|
|
+ @Value(value = "${erp_sz.filePath}")
|
|
|
+ private String filePathSz;
|
|
|
+
|
|
|
+ @Value(value = "${erp_xg.url}")
|
|
|
+ private String erpUrlXg;
|
|
|
+
|
|
|
+ @Value(value = "${erp_xg.username}")
|
|
|
+ private String userNameXg;
|
|
|
+
|
|
|
+ @Value(value = "${erp_xg.password}")
|
|
|
+ private String passwordXg;
|
|
|
+
|
|
|
+ @Value(value = "${erp_xg.filePath}")
|
|
|
+ private String filePathXg;
|
|
|
|
|
|
private final Object $lock = new Object[0];
|
|
|
|
|
@@ -209,16 +222,9 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
body.put("customerCode", formData.get("textField_lwpqbm7a").toString());
|
|
|
body.put("customerName", formData.get("textField_lwpqbm7b").toString());
|
|
|
|
|
|
- String recCondition = formData.get("selectField_lwpqbm7r").toString();
|
|
|
- switch (recCondition){
|
|
|
- case "货到收款": body.put("recConditionCode", "SKTJ01_SYS");break;
|
|
|
- case "30天后收款":body.put("recConditionCode", "SKTJ02_SYS");break;
|
|
|
- case "月结30天":body.put("recConditionCode", "SKTJ03_SYS");break;
|
|
|
- case "多到期日(按金额)":body.put("recConditionCode", "SKTJ04_SYS");break;
|
|
|
- }
|
|
|
+ body.put("recConditionCode", formData.get("textField_m3o22635").toString());
|
|
|
|
|
|
- String payCurrencyCode = formData.get("textField_m0yq620t").toString();
|
|
|
- body.put("payCurrencyCode", payCurrencyCode);
|
|
|
+ body.put("payCurrencyCode", formData.get("textField_m0yq620t").toString());
|
|
|
|
|
|
//客户简称
|
|
|
if (Objects.nonNull(formData.get("textField_lwpqbm7c"))){
|
|
@@ -252,8 +258,11 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
if (Objects.nonNull(formData.get("textareaField_lwpqbm7x"))){
|
|
|
body.put("comments", formData.get("textareaField_lwpqbm7x").toString());
|
|
|
}
|
|
|
+ //erp环境
|
|
|
+ String type = formData.get("selectField_m3fgkfz9").toString();
|
|
|
+ String erpUrl = getErpUrl(type);
|
|
|
|
|
|
- Map<String, Object> result = post(erpUrl + "pws/mak/makCustomer/add", null, getHeader(), body);
|
|
|
+ Map<String, Object> result = post(erpUrl + "pws/mak/makCustomer/add", null, getHeader(type), body);
|
|
|
|
|
|
if ((boolean) result.get("success")){
|
|
|
return McR.success();
|
|
@@ -262,6 +271,16 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private String getErpUrl(String type) {
|
|
|
+ String erpUrl = "";
|
|
|
+ if ("深圳".equals(type)){
|
|
|
+ erpUrl = erpUrlSz;
|
|
|
+ }else {
|
|
|
+ erpUrl = erpUrlXg;
|
|
|
+ }
|
|
|
+ return erpUrl;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public McR updateCustomer(Map map) {
|
|
|
if (Objects.isNull(map.get("formInstId"))){
|
|
@@ -288,17 +307,8 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
|
|
|
body.put("customerCode", formData.get("textField_lwpqbm7a").toString());
|
|
|
body.put("customerName", formData.get("textField_lwpqbm7b").toString());
|
|
|
-
|
|
|
- String recCondition = formData.get("selectField_lwpqbm7r").toString();
|
|
|
- switch (recCondition){
|
|
|
- case "货到收款": body.put("recConditionCode", "SKTJ01_SYS");break;
|
|
|
- case "30天后收款":body.put("recConditionCode", "SKTJ02_SYS");break;
|
|
|
- case "月结30天":body.put("recConditionCode", "SKTJ03_SYS");break;
|
|
|
- case "多到期日(按金额)":body.put("recConditionCode", "SKTJ04_SYS");break;
|
|
|
- }
|
|
|
-
|
|
|
- String payCurrencyCode = formData.get("textField_m0yq620t").toString();
|
|
|
- body.put("payCurrencyCode", payCurrencyCode);
|
|
|
+ body.put("recConditionCode", formData.get("textField_m3o22635").toString());
|
|
|
+ body.put("payCurrencyCode", formData.get("textField_m0yq620t").toString());
|
|
|
|
|
|
//客户简称
|
|
|
if (Objects.nonNull(formData.get("textField_lwpqbm7c"))){
|
|
@@ -333,7 +343,10 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
body.put("comments", formData.get("textareaField_lwpqbm7x").toString());
|
|
|
}
|
|
|
|
|
|
- Map<String, Object> result = put(erpUrl + "pws/mak/makCustomer/customEdit", null, getHeader(), body);
|
|
|
+ //erp环境
|
|
|
+ String type = formData.get("selectField_m3fgkfz9").toString();
|
|
|
+
|
|
|
+ Map<String, Object> result = put(getErpUrl(type) + "pws/mak/makCustomer/customEdit", null, getHeader(type), body);
|
|
|
if ((boolean) result.get("success")){
|
|
|
return McR.success();
|
|
|
}else {
|
|
@@ -342,19 +355,19 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public McR getProductDeliveryStatus(String keyword,int pageNo,int pageSize) {
|
|
|
+ public McR getProductDeliveryStatus(String keyword,int pageNo,int pageSize,String type) {
|
|
|
Map<String,Object> param = new HashMap<>();
|
|
|
param.put("pageNo",pageNo);
|
|
|
param.put("pageSize",pageSize);
|
|
|
param.put("saleCode",keyword);
|
|
|
- Map<String,Object> res = get(erpUrl + "pws/pdm/pdmProductForm/list", param, getHeader());
|
|
|
+ Map<String,Object> res = get(getErpUrl(type) + "pws/pdm/pdmProductForm/list", param, getHeader(type));
|
|
|
|
|
|
Map result = (Map) res.get("result");
|
|
|
List<Map> data = (List<Map>) result.get("records");
|
|
|
if (data.isEmpty()){
|
|
|
param.remove("saleCode");
|
|
|
param.put("saleName",keyword);
|
|
|
- res = get(erpUrl + "pws/pdm/pdmProductForm/list", param, getHeader());
|
|
|
+ res = get(getErpUrl(type) + "pws/pdm/pdmProductForm/list", param, getHeader(type));
|
|
|
result = (Map) res.get("result");
|
|
|
data = (List<Map>) result.get("records");
|
|
|
}
|
|
@@ -381,6 +394,9 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
|
|
|
Map formData = ddrNew.getFormData();
|
|
|
|
|
|
+ //erp环境
|
|
|
+ String type = formData.get("selectField_m3fgkfz9").toString();
|
|
|
+
|
|
|
//新增销售订单
|
|
|
Map body = new HashMap();
|
|
|
|
|
@@ -456,15 +472,28 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
List<Map> fileList = (List<Map>) JSONArray.parse(String.valueOf(map1.get("attachmentField_ly8fxusz")));
|
|
|
String ydDownloadUrl = fileList.get(0).get("downloadUrl").toString();
|
|
|
String fileName = fileList.get(0).get("name").toString();
|
|
|
- //将downloadurl下载到本地
|
|
|
- try {
|
|
|
- downloadFile(ydDownloadUrl, filePath + fileName);
|
|
|
- System.out.println("文件下载成功!");
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ if ("深圳".equals(type)){
|
|
|
+ //将downloadurl下载到本地
|
|
|
+ try {
|
|
|
+ downloadFile(ydDownloadUrl, filePathSz + fileName);
|
|
|
+ System.out.println("文件下载成功!");
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ //上传附件
|
|
|
+ detail.put("files",postWithFile(getErpUrl(type) + "pws/sys/common/upload", filePathSz + fileName,type));
|
|
|
+ }else {
|
|
|
+ //将downloadurl下载到本地
|
|
|
+ try {
|
|
|
+ downloadFile(ydDownloadUrl, filePathXg + fileName);
|
|
|
+ System.out.println("文件下载成功!");
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ //上传附件
|
|
|
+ detail.put("files",postWithFile(getErpUrl(type) + "pws/sys/common/upload", filePathXg + fileName,type));
|
|
|
}
|
|
|
- //上传附件
|
|
|
- detail.put("files",postWithFile(erpUrl + "pws/sys/common/upload",filePath + fileName));
|
|
|
+
|
|
|
return detail;
|
|
|
}).collect(Collectors.toList());
|
|
|
body.put("makSoFilesList",makSoFilesList);
|
|
@@ -472,7 +501,12 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
body.put("makSoDetailList",makSoDetailList);
|
|
|
|
|
|
|
|
|
- Map res = post(erpUrl + "pws/mak/makSalesOrder/add", null, getHeader(), body);
|
|
|
+ Map res = post(getErpUrl(type) + "pws/mak/makSalesOrder/add", null, getHeader(type), body);
|
|
|
+
|
|
|
+ if (!(boolean)res.get("success")){
|
|
|
+ return McR.errorUnknown(getString(res.get("message")));
|
|
|
+ }
|
|
|
+
|
|
|
String orderCode = getString(res.get("result"));
|
|
|
//更新宜搭订单编号
|
|
|
ydClient.operateData(YDParam.builder()
|
|
@@ -480,6 +514,26 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
.updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_m0alsjj1",orderCode)))
|
|
|
.build(),YDConf.FORM_OPERATION.update);
|
|
|
|
|
|
+ //如果是变更订单 则更新原订单
|
|
|
+ String orderType = getString(formData.get("selectField_m3ii047l"));
|
|
|
+ if ("变更订单".equals(orderType)){
|
|
|
+ String jsonString = formData.get("associationFormField_m3ii047m_id").toString();
|
|
|
+ String orderJsonString = StringEscapeUtils.unescapeJava(jsonString.substring(1, jsonString.length() - 1));
|
|
|
+ List<Map> order =(List<Map>) JSONArray.parse(orderJsonString);
|
|
|
+
|
|
|
+ String updateFormInstId = order.get(0).get("instanceId").toString();
|
|
|
+
|
|
|
+ order.get(0).put("instanceId",formInstId);
|
|
|
+ order.get(0).put("title",orderCode);
|
|
|
+
|
|
|
+ Map updateMap = new HashMap();
|
|
|
+ updateMap.put("associationFormField_m3ii047n",JSON.toJSONString(order));
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formInstId(updateFormInstId)
|
|
|
+ .updateFormDataJson(JSON.toJSONString(updateMap))
|
|
|
+ .build(),YDConf.FORM_OPERATION.update);
|
|
|
+ }
|
|
|
+
|
|
|
return McR.success();
|
|
|
}
|
|
|
|
|
@@ -516,7 +570,7 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
httpConn.disconnect();
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+/* @Override
|
|
|
public McR updateSaleOrder(Map map) {
|
|
|
if (Objects.isNull(map.get("formInstId"))){
|
|
|
McR.errorParam("formInstId不能为空");
|
|
@@ -527,6 +581,9 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
|
|
|
Map formData = ddrNew.getFormData();
|
|
|
|
|
|
+ //erp环境
|
|
|
+ String type = formData.get("selectField_m3fgkfz9").toString();
|
|
|
+
|
|
|
//更新销售订单
|
|
|
Map body = new HashMap();
|
|
|
|
|
@@ -603,15 +660,27 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
List<Map> fileList = (List<Map>) JSONArray.parse(String.valueOf(map1.get("attachmentField_ly8fxusz")));
|
|
|
String ydDownloadUrl = fileList.get(0).get("downloadUrl").toString();
|
|
|
String fileName = fileList.get(0).get("name").toString();
|
|
|
- //将downloadurl下载到本地
|
|
|
- try {
|
|
|
- downloadFile(ydDownloadUrl, filePath + fileName);
|
|
|
- System.out.println("文件下载成功!");
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ if ("深圳".equals(type)){
|
|
|
+ //将downloadurl下载到本地
|
|
|
+ try {
|
|
|
+ downloadFile(ydDownloadUrl, filePathSz + fileName);
|
|
|
+ System.out.println("文件下载成功!");
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ //上传附件
|
|
|
+ detail.put("files",postWithFile(getErpUrl(type) + "pws/sys/common/upload", filePathSz + fileName,type));
|
|
|
+ }else {
|
|
|
+ //将downloadurl下载到本地
|
|
|
+ try {
|
|
|
+ downloadFile(ydDownloadUrl, filePathXg + fileName);
|
|
|
+ System.out.println("文件下载成功!");
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ //上传附件
|
|
|
+ detail.put("files",postWithFile(getErpUrl(type) + "pws/sys/common/upload", filePathXg + fileName,type));
|
|
|
}
|
|
|
- //上传附件
|
|
|
- detail.put("files",postWithFile(erpUrl + "pws/sys/common/upload",filePath + fileName));
|
|
|
return detail;
|
|
|
}).collect(Collectors.toList());
|
|
|
body.put("makSoFilesList",makSoFilesList);
|
|
@@ -620,17 +689,22 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
body.put("makSoDetailList",makSoDetailList);
|
|
|
|
|
|
|
|
|
- Map res = put(erpUrl + "pws/mak/makSalesOrder/change", null, getHeader(), body);
|
|
|
+ Map res = put(getErpUrl(type) + "pws/mak/makSalesOrder/change", null, getHeader(type), body);
|
|
|
|
|
|
return McR.success();
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
private String getString(Object object){
|
|
|
return (object == null) ? "" : object.toString();
|
|
|
}
|
|
|
|
|
|
- private Map<String,String> getHeader(){
|
|
|
- Map<String, Object> map = post(erpUrl + "pws/sys/mLogin", null, null,UtilMap.map("username, password",userName,password));
|
|
|
+ private Map<String,String> getHeader(String type){
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ if ("深圳".equals(type)){
|
|
|
+ map = post(erpUrlSz + "pws/sys/mLogin", null, null,UtilMap.map("username, password", userNameSz, passwordSz));
|
|
|
+ }else {
|
|
|
+ map = post(erpUrlXg + "pws/sys/mLogin", null, null,UtilMap.map("username, password", userNameXg, passwordXg));
|
|
|
+ }
|
|
|
|
|
|
if (Objects.nonNull(map.get("result"))){
|
|
|
Map<String,Object> result = (Map<String,Object>) map.get("result");
|
|
@@ -734,18 +808,19 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- public String postWithFile(String url, String filePath) {
|
|
|
+ public String postWithFile(String url, String filePath,String type) {
|
|
|
// 文件路径
|
|
|
File file = new File(filePath);
|
|
|
|
|
|
// 创建HttpClient实例
|
|
|
- HttpClient client = HttpClients.createDefault();
|
|
|
+ HttpClient client = SkipHttpsUtil.wrapClient();
|
|
|
+// HttpClient client = HttpClients.createDefault();
|
|
|
|
|
|
// 创建HttpPost实例
|
|
|
HttpPost post = new HttpPost(url);
|
|
|
|
|
|
// 添加请求头
|
|
|
- post.setHeader("X-Access-Token", getHeader().get("X-Access-Token"));
|
|
|
+ post.setHeader("X-Access-Token", getHeader(type).get("X-Access-Token"));
|
|
|
|
|
|
// 使用MultipartEntityBuilder来构建multipart请求
|
|
|
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
|
@@ -757,6 +832,7 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
|
|
|
try {
|
|
|
// 发送请求并获取响应
|
|
|
+
|
|
|
org.apache.http.HttpResponse response = client.execute(post);
|
|
|
|
|
|
// 处理响应
|
|
@@ -784,99 +860,130 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
@Override
|
|
|
public void updateCurrency() {
|
|
|
//获取erp币别列表
|
|
|
- List<Map<String,String>> list = new ArrayList<>();
|
|
|
- int pageNo = 1;
|
|
|
- int pageSize = 50;
|
|
|
- Map result = new HashMap<>();
|
|
|
- do {
|
|
|
- Map param = new HashMap();
|
|
|
- param.put("pageNo",pageNo);
|
|
|
- param.put("pageSize",pageSize);
|
|
|
- Map<String, Object> res = get(erpUrl + "pws/fin/finCurrency/list", param, getHeader());
|
|
|
- result = (Map) res.get("result");
|
|
|
- List<Map> records = (List<Map>) result.get("records");
|
|
|
- list.addAll(records.stream().map(map1 -> {
|
|
|
- Map<String,String> map = new HashMap<>();
|
|
|
- map.put("textField_m054h6gw",map1.get("currencyCode").toString());
|
|
|
- map.put("textField_m054h6gx",map1.get("currencyName").toString());
|
|
|
- map.put("textField_m054h6gy",map1.get("active_dictText").toString());
|
|
|
- return map;
|
|
|
- }).collect(Collectors.toList()));
|
|
|
- pageNo++;
|
|
|
- }while (pageNo * pageSize < (int) result.get("total"));
|
|
|
-
|
|
|
- //更新宜搭币别
|
|
|
- for (Map map : list) {
|
|
|
- ydService.upsertFormData("FORM-01CF3B9C5A364D32A011A6EA8B59B82AIUDI",UtilMap.map("textField_m054h6gw",map.get("textField_m054h6gw")),map,null);
|
|
|
- }
|
|
|
+ String[] ERP_URLS = new String[]{erpUrlSz,erpUrlXg};
|
|
|
+ for (int i = 0; i < ERP_URLS.length; i++) {
|
|
|
+ List<Map<String,String>> list = new ArrayList<>();
|
|
|
+ int pageNo = 1;
|
|
|
+ int pageSize = 50;
|
|
|
+ Map result = new HashMap<>();
|
|
|
+ do {
|
|
|
+ Map param = new HashMap();
|
|
|
+ param.put("pageNo",pageNo);
|
|
|
+ param.put("pageSize",pageSize);
|
|
|
+ Map<String, Object> res = get(ERP_URLS[i] + "pws/fin/finCurrency/list", param, i == 0 ? getHeader("深圳") : getHeader("香港"));
|
|
|
+ result = (Map) res.get("result");
|
|
|
+ List<Map> records = (List<Map>) result.get("records");
|
|
|
+ int finalI = i;
|
|
|
+ list.addAll(records.stream().map(map1 -> {
|
|
|
+ Map<String,String> map = new HashMap<>();
|
|
|
+ map.put("textField_m054h6gw",map1.get("currencyCode").toString());
|
|
|
+ map.put("textField_m054h6gx",map1.get("currencyName").toString());
|
|
|
+ map.put("textField_m054h6gy",map1.get("active_dictText").toString());
|
|
|
+ if (finalI == 0){
|
|
|
+ map.put("selectField_m3fgkfz9","深圳");
|
|
|
+ }else {
|
|
|
+ map.put("selectField_m3fgkfz9","香港");
|
|
|
+ }
|
|
|
+ map.put("textField_m3fiygvb",map.get("selectField_m3fgkfz9") + map.get("textField_m054h6gw"));//唯一标识
|
|
|
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ pageNo++;
|
|
|
+ }while (pageNo * pageSize < (int) result.get("total"));
|
|
|
+
|
|
|
+ //更新宜搭币别
|
|
|
+ for (Map map : list) {
|
|
|
+ ydService.upsertFormData("FORM-01CF3B9C5A364D32A011A6EA8B59B82AIUDI",UtilMap.map("textField_m3fiygvb",map.get("textField_m3fiygvb")),map,null);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void updateTaxRate() {
|
|
|
//获取erp税率列表
|
|
|
- List<Map<String,String>> list = new ArrayList<>();
|
|
|
- int pageNo = 1;
|
|
|
- int pageSize = 50;
|
|
|
- Map result = new HashMap<>();
|
|
|
- do {
|
|
|
- Map param = new HashMap();
|
|
|
- param.put("pageNo",pageNo);
|
|
|
- param.put("pageSize",pageSize);
|
|
|
- Map<String, Object> res = get(erpUrl + "pws/fin/finTax/list", param, getHeader());
|
|
|
- result = (Map) res.get("result");
|
|
|
- List<Map> records = (List<Map>) result.get("records");
|
|
|
- list.addAll(records.stream().map(map1 -> {
|
|
|
- Map<String,String> map = new HashMap<>();
|
|
|
- map.put("textField_m0539uy1",map1.get("id").toString());
|
|
|
- map.put("numberField_m0539uy2",map1.get("taxValue").toString());
|
|
|
- map.put("textField_m0539uy4",map1.get("taxName").toString());
|
|
|
- return map;
|
|
|
- }).collect(Collectors.toList()));
|
|
|
- pageNo++;
|
|
|
- }while (pageNo * pageSize < (int) result.get("total"));
|
|
|
-
|
|
|
- //更新宜搭税率
|
|
|
- for (Map map : list) {
|
|
|
- ydService.upsertFormData("FORM-47A9FC4550574A0488A3F2ECB30FADB0Z67F",UtilMap.map("textField_m0539uy1",map.get("textField_m0539uy1")),map,null);
|
|
|
+ String[] ERP_URLS = new String[]{erpUrlSz,erpUrlXg};
|
|
|
+ for (int i = 0; i < ERP_URLS.length; i++) {
|
|
|
+ List<Map<String,String>> list = new ArrayList<>();
|
|
|
+ int pageNo = 1;
|
|
|
+ int pageSize = 50;
|
|
|
+ Map result = new HashMap<>();
|
|
|
+ do {
|
|
|
+ Map param = new HashMap();
|
|
|
+ param.put("pageNo",pageNo);
|
|
|
+ param.put("pageSize",pageSize);
|
|
|
+ Map<String, Object> res = get(ERP_URLS[i] + "pws/fin/finTax/list", param, i == 0 ? getHeader("深圳") : getHeader("香港"));
|
|
|
+ result = (Map) res.get("result");
|
|
|
+ List<Map> records = (List<Map>) result.get("records");
|
|
|
+ int finalI = i;
|
|
|
+ list.addAll(records.stream().map(map1 -> {
|
|
|
+ Map<String,String> map = new HashMap<>();
|
|
|
+ map.put("textField_m0539uy1",map1.get("id").toString());
|
|
|
+ map.put("numberField_m0539uy2",map1.get("taxValue").toString());
|
|
|
+ map.put("textField_m0539uy4",map1.get("taxName").toString());
|
|
|
+ if (finalI == 0){
|
|
|
+ map.put("selectField_m3fgkfz9","深圳");
|
|
|
+ }else {
|
|
|
+ map.put("selectField_m3fgkfz9","香港");
|
|
|
+ }
|
|
|
+ map.put("textField_m3fiygvb",map.get("selectField_m3fgkfz9") + map.get("textField_m0539uy1"));//唯一标识
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ pageNo++;
|
|
|
+ }while (pageNo * pageSize < (int) result.get("total"));
|
|
|
+
|
|
|
+ //更新宜搭税率
|
|
|
+ for (Map map : list) {
|
|
|
+ ydService.upsertFormData("FORM-47A9FC4550574A0488A3F2ECB30FADB0Z67F",UtilMap.map("textField_m3fiygvb",map.get("textField_m3fiygvb")),map,null);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void updateProcess() {
|
|
|
//获取erp工序列表
|
|
|
- List<Map<String,String>> list = new ArrayList<>();
|
|
|
- int pageNo = 1;
|
|
|
- int pageSize = 50;
|
|
|
- Map result = new HashMap<>();
|
|
|
- do {
|
|
|
- Map param = new HashMap();
|
|
|
- param.put("pageNo",pageNo);
|
|
|
- param.put("pageSize",pageSize);
|
|
|
- Map<String, Object> res = get(erpUrl + "pws/pdm/pdmStation/list", param, getHeader());
|
|
|
- result = (Map) res.get("result");
|
|
|
- List<Map> records = (List<Map>) result.get("records");
|
|
|
- list.addAll(records.stream().map(map1 -> {
|
|
|
- Map<String,String> map = new HashMap<>();
|
|
|
- map.put("textField_m04yhw4p",getString(map1.get("stationCode")));//工序编码
|
|
|
- map.put("textField_m04yhw56",getString(map1.get("stationName")));//工序名称
|
|
|
- map.put("textField_m04yhw57",getString(map1.get("stationClass")));//工序分类
|
|
|
- map.put("textField_m04yhw58",getString(map1.get("productionType_dictText")));//生产类型
|
|
|
- map.put("numberField_m04yhw5b",getString(map1.get("cycleTime")));//生产周期
|
|
|
- map.put("textField_m04yhw5a",getString(map1.get("stockFlag")));//可入库
|
|
|
- map.put("textField_m04yhw5c",getString(map1.get("unitCode_dictText")));//计价方式
|
|
|
- map.put("textField_m04yhw5d",getString(map1.get("stationType_dictText")));//工序类型
|
|
|
- map.put("textField_m04yhw5e",getString(map1.get("comments")));//备注
|
|
|
- map.put("textField_m04yhw5f",getString(map1.get("active_dictText")));//审核状态
|
|
|
-
|
|
|
- return map;
|
|
|
- }).collect(Collectors.toList()));
|
|
|
- pageNo++;
|
|
|
- }while (pageNo * pageSize < (int) result.get("total"));
|
|
|
-
|
|
|
- //更新宜搭工序
|
|
|
- for (Map map : list) {
|
|
|
- ydService.upsertFormData("FORM-2F06B5F437124B3ABA8D5275D1D277E4R9O1",UtilMap.map("textField_m04yhw4p",map.get("textField_m04yhw4p")),map,null);
|
|
|
+ String[] ERP_URLS = new String[]{erpUrlSz,erpUrlXg};
|
|
|
+ for (int i = 0; i < ERP_URLS.length; i++) {
|
|
|
+ List<Map<String,String>> list = new ArrayList<>();
|
|
|
+ int pageNo = 1;
|
|
|
+ int pageSize = 50;
|
|
|
+ Map result = new HashMap<>();
|
|
|
+
|
|
|
+ do {
|
|
|
+ Map param = new HashMap();
|
|
|
+ param.put("pageNo",pageNo);
|
|
|
+ param.put("pageSize",pageSize);
|
|
|
+ Map<String, Object> res = get(ERP_URLS[i] + "pws/pdm/pdmStation/list", param, i == 0 ? getHeader("深圳") : getHeader("香港"));
|
|
|
+ result = (Map) res.get("result");
|
|
|
+ List<Map> records = (List<Map>) result.get("records");
|
|
|
+ int finalI = i;
|
|
|
+ list.addAll(records.stream().map(map1 -> {
|
|
|
+ Map<String,String> map = new HashMap<>();
|
|
|
+ map.put("textField_m04yhw4p",getString(map1.get("stationCode")));//工序编码
|
|
|
+ map.put("textField_m04yhw56",getString(map1.get("stationName")));//工序名称
|
|
|
+ map.put("textField_m04yhw57",getString(map1.get("stationClass")));//工序分类
|
|
|
+ map.put("textField_m04yhw58",getString(map1.get("productionType_dictText")));//生产类型
|
|
|
+ map.put("numberField_m04yhw5b",getString(map1.get("cycleTime")));//生产周期
|
|
|
+ map.put("textField_m04yhw5a",getString(map1.get("stockFlag")));//可入库
|
|
|
+ map.put("textField_m04yhw5c",getString(map1.get("unitCode_dictText")));//计价方式
|
|
|
+ map.put("textField_m04yhw5d",getString(map1.get("stationType_dictText")));//工序类型
|
|
|
+ map.put("textField_m04yhw5e",getString(map1.get("comments")));//备注
|
|
|
+ map.put("textField_m04yhw5f",getString(map1.get("active_dictText")));//审核状态
|
|
|
+ if (finalI == 0){
|
|
|
+ map.put("selectField_m3fgkfz9","深圳");
|
|
|
+ }else {
|
|
|
+ map.put("selectField_m3fgkfz9","香港");
|
|
|
+ }
|
|
|
+ map.put("textField_m3fiygvb",map.get("selectField_m3fgkfz9") + map.get("textField_m04yhw4p"));//唯一标识
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ pageNo++;
|
|
|
+ }while (pageNo * pageSize < (int) result.get("total"));
|
|
|
+
|
|
|
+ //更新宜搭工序
|
|
|
+ for (Map map : list) {
|
|
|
+ ydService.upsertFormData("FORM-2F06B5F437124B3ABA8D5275D1D277E4R9O1",UtilMap.map("textField_m3fiygvb",map.get("textField_m3fiygvb")),map,null);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -896,15 +1003,15 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
if (customerType.equals("意向客户")){
|
|
|
//意向客户
|
|
|
String jsonString = formData.get("associationFormField_lzto0clw_id").toString();
|
|
|
- String customerJsonString = StringEscapeUtils.unescapeJava(jsonString.substring(1, jsonString.length() - 1));//新供应商(关联表单)
|
|
|
- List<Map> supplier =(List<Map>) JSONArray.parse(customerJsonString);
|
|
|
- updateFormInstId = supplier.get(0).get("instanceId").toString();
|
|
|
+ String customerJsonString = StringEscapeUtils.unescapeJava(jsonString.substring(1, jsonString.length() - 1));
|
|
|
+ List<Map> customer =(List<Map>) JSONArray.parse(customerJsonString);
|
|
|
+ updateFormInstId = customer.get(0).get("instanceId").toString();
|
|
|
}else {
|
|
|
//订单客户
|
|
|
String jsonString = formData.get("associationFormField_lzto0clv_id").toString();
|
|
|
String customerJsonString = StringEscapeUtils.unescapeJava(jsonString.substring(1, jsonString.length() - 1));
|
|
|
- List<Map> supplier =(List<Map>) JSONArray.parse(customerJsonString);
|
|
|
- updateFormInstId = supplier.get(0).get("instanceId").toString();
|
|
|
+ List<Map> customer =(List<Map>) JSONArray.parse(customerJsonString);
|
|
|
+ updateFormInstId = customer.get(0).get("instanceId").toString();
|
|
|
|
|
|
String jsonString2 = formData.get("associationFormField_m25llfoy_id").toString();
|
|
|
String customerJsonString2 = StringEscapeUtils.unescapeJava(jsonString2.substring(1, jsonString2.length() - 1));
|
|
@@ -1101,6 +1208,61 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
|
|
|
return McR.success(id);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public McR addContacts(Map map) {
|
|
|
+ if (Objects.isNull(map.get("formInstId"))){
|
|
|
+ return McR.errorParam("formInstId不能为空");
|
|
|
+ }
|
|
|
+ String formInstId = map.get("formInstId").toString();
|
|
|
+ //查询客户信息
|
|
|
+ DDR_New ddrNew = ydClient.queryData(YDParam.builder()
|
|
|
+ .formInstId(formInstId)
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_id);
|
|
|
+
|
|
|
+ Map formData = ddrNew.getFormData();
|
|
|
+
|
|
|
+ String customerName = getString(formData.get("textField_lwpqbm7b"));//客户名称
|
|
|
+ String customerCode = getString(formData.get("textField_lwpqbm7a"));//客户代码
|
|
|
+ String contacts = getString(formData.get("textField_lwpqbm7u"));//联系人
|
|
|
+ String phone = getString(formData.get("textField_lwpqbm7v"));//电话
|
|
|
+
|
|
|
+ if (!contacts.isEmpty()){
|
|
|
+ //新增联系人
|
|
|
+ Map contactFormData = new HashMap();
|
|
|
+
|
|
|
+ List<Map> customer = new ArrayList<>();
|
|
|
+ Map customerMap = new HashMap();
|
|
|
+ customerMap.put("appType",ydConf.getAppType());
|
|
|
+ customerMap.put("formUuid","FORM-C20F12A6BF6145A4A451F35CC2C78AFC7PB8");
|
|
|
+ customerMap.put("formType","receipt");
|
|
|
+ customerMap.put("instanceId",formInstId);
|
|
|
+ customerMap.put("title",customerName);
|
|
|
+ customerMap.put("subTitle","");
|
|
|
+ customer.add(customerMap);
|
|
|
+
|
|
|
+ if (Objects.isNull(formData.get("selectField_m32pszh3"))){
|
|
|
+ contactFormData.put("selectField_lzmh4hf8","意向客户");
|
|
|
+ contactFormData.put("associationFormField_lzto0clw",customer);
|
|
|
+ }else {
|
|
|
+ contactFormData.put("selectField_lzmh4hf8","订单客户");
|
|
|
+ contactFormData.put("associationFormField_lzto0clv",customer);
|
|
|
+ }
|
|
|
+
|
|
|
+ contactFormData.put("textField_lwpquxe4",contacts);
|
|
|
+ contactFormData.put("multiSelectField_m278ty7s",new String[]{"电话"});
|
|
|
+ contactFormData.put("textField_lwpquxe9",phone);
|
|
|
+ contactFormData.put("textField_m0z0e88f",customerName);
|
|
|
+ contactFormData.put("textField_m0z0e88e",customerCode);
|
|
|
+
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formUuid("FORM-98CB0F02BCB14C5CB86A404012879C34GQ5P")
|
|
|
+ .formDataJson(JSON.toJSONString(contactFormData))
|
|
|
+ .build(), YDConf.FORM_OPERATION.create);
|
|
|
+ }
|
|
|
+
|
|
|
+ return McR.success();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public McR getTbStageDetails(String projectName,String projectId,String parentTaskId) {
|
|
|
Map<String,Object> stageDetail = new HashMap<>();
|