|
|
@@ -0,0 +1,75 @@
|
|
|
+package com.malk.siku.service.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.malk.server.aliwork.YDConf;
|
|
|
+import com.malk.server.aliwork.YDParam;
|
|
|
+import com.malk.server.common.McR;
|
|
|
+import com.malk.service.aliwork.YDClient;
|
|
|
+import com.malk.siku.service.SikuService;
|
|
|
+import com.malk.siku.utils.MkUtil;
|
|
|
+import com.malk.utils.UtilHttp;
|
|
|
+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.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class SikuServiceImpl implements SikuService {
|
|
|
+ @Autowired
|
|
|
+ private YDClient ydClient;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public McR saveTradingPartner(Map map) {
|
|
|
+ String formInstId = UtilMap.getString(map, "formInstId");
|
|
|
+
|
|
|
+ String type = UtilMap.getString(map, "type");
|
|
|
+
|
|
|
+ Map formData = ydClient.queryData(YDParam.builder()
|
|
|
+ .formInstanceId(formInstId)
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
+
|
|
|
+ Map partner = new HashMap();
|
|
|
+
|
|
|
+ if ("客户".equals(type)){
|
|
|
+ //客户
|
|
|
+ partner.put("partnerName", "客户");//所属分类名称
|
|
|
+ partner.put("name", UtilMap.getString(formData,"textField_mkddjwy3"));//往来单位中文名
|
|
|
+ partner.put("partnerType", "客户");//往来关系,可选值为:"供应商"、"客户"、"供应商,客户"(既是供应商又是客户的情况下以中文逗号分隔(供应商在前))
|
|
|
+ partner.put("partnerProperty", "公司");//往来性质,可选值为:"公司"、"个体工商户"
|
|
|
+ partner.put("businessCode", UtilMap.getString(formData,"serialNumberField_mkddjwy2"));//往来单位编码,不超过50个字符
|
|
|
+ partner.put("taxNumber", UtilMap.getString(formData,"textField_mkddjwys"));//税务登记号,不超过200个字符
|
|
|
+ partner.put("readOnly", false);//是否只读,默认false。如果为true,那么在每刻系统中往来单位的所有信息(如权限范围、收款账户等)均无法修改。(接口更新操作不受限制)
|
|
|
+ partner.put("reMark", "");//往来单位备注
|
|
|
+ partner.put("enabled", true);//是否启用(true:启用;false:禁用)。若该参数为空,新增则默认为true,更新则保持系统内状态。
|
|
|
+
|
|
|
+
|
|
|
+ }else {
|
|
|
+ //供应商、
|
|
|
+ String hzlx = UtilMap.getString(formData, "radioField_mketkvw7");
|
|
|
+
|
|
|
+ partner.put("partnerName", "供应商");//所属分类名称
|
|
|
+ partner.put("name", "Free".equals(hzlx) ? UtilMap.getString(formData,"textField_mkkixdd6") : UtilMap.getString(formData,"textField_mketkvv0"));//往来单位中文名
|
|
|
+ partner.put("partnerType", "供应商");//往来关系,可选值为:"供应商"、"客户"、"供应商,客户"(既是供应商又是客户的情况下以中文逗号分隔(供应商在前))
|
|
|
+ partner.put("partnerProperty", "Free".equals(hzlx) ? "个体工商户" : "公司");//往来性质,可选值为:"公司"、"个体工商户"
|
|
|
+ partner.put("businessCode", UtilMap.getString(formData,"serialNumberField_mkddjwy2"));//往来单位编码,不超过50个字符
|
|
|
+ partner.put("taxNumber", "Free".equals(hzlx) ? "" : UtilMap.getString(formData,"textField_mketkvxo"));//税务登记号,不超过200个字符
|
|
|
+ partner.put("readOnly", false);//是否只读,默认false。如果为true,那么在每刻系统中往来单位的所有信息(如权限范围、收款账户等)均无法修改。(接口更新操作不受限制)
|
|
|
+ partner.put("reMark", "");//往来单位备注
|
|
|
+ partner.put("enabled", UtilMap.getBoolean(formData,"radioField_mketkvw8"));//是否启用(true:启用;false:禁用)。若该参数为空,新增则默认为true,更新则保持系统内状态。
|
|
|
+ }
|
|
|
+
|
|
|
+ Map body = new HashMap();
|
|
|
+ body.put("partnerList", Arrays.asList(partner));
|
|
|
+
|
|
|
+ Map result = (Map) JSONObject.parse(UtilHttp.doPost("https://ng.maycur.com/api/openapi/tradingPartner/batch/save", MkUtil.initTokenHeader(), null, body));
|
|
|
+
|
|
|
+ log.info("Result:",result);
|
|
|
+
|
|
|
+ return McR.success();
|
|
|
+ }
|
|
|
+}
|