|
@@ -11,6 +11,7 @@ import com.malk.service.dingtalk.DDClient_Personnel;
|
|
|
import com.malk.siku.service.SikuService;
|
|
import com.malk.siku.service.SikuService;
|
|
|
import com.malk.siku.utils.MkBxUtil;
|
|
import com.malk.siku.utils.MkBxUtil;
|
|
|
import com.malk.siku.utils.MkYpUtil;
|
|
import com.malk.siku.utils.MkYpUtil;
|
|
|
|
|
+import com.malk.siku.utils.QyddUtil;
|
|
|
import com.malk.utils.UtilHttp;
|
|
import com.malk.utils.UtilHttp;
|
|
|
import com.malk.utils.UtilMap;
|
|
import com.malk.utils.UtilMap;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -24,7 +25,9 @@ import java.io.FileOutputStream;
|
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
|
import java.net.HttpURLConnection;
|
|
import java.net.HttpURLConnection;
|
|
|
import java.net.URL;
|
|
import java.net.URL;
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
@@ -41,6 +44,35 @@ public class SikuServiceImpl implements SikuService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DDClient ddClient;
|
|
private DDClient ddClient;
|
|
|
|
|
|
|
|
|
|
+ //每刻报销 测试环境
|
|
|
|
|
+ /*private static String mkbx_empId = "18857526310";//默认 周漂
|
|
|
|
|
+ private static String mkbx_deptId = "DI205228744816739500";//默认 财务部*/
|
|
|
|
|
+
|
|
|
|
|
+ //每刻报销 正式环境
|
|
|
|
|
+ private static String mkbx_empId = "HZ769";//默认 周漂
|
|
|
|
|
+ private static String mkbx_deptId = "DI205228744816739500";//默认 财务部
|
|
|
|
|
+
|
|
|
|
|
+ //每刻云票 测试环境
|
|
|
|
|
+// private static String mkyp_empId = "18857526310";//默认 周漂
|
|
|
|
|
+
|
|
|
|
|
+ //每刻云票 正式环境
|
|
|
|
|
+ private static String mkyp_empId = "HZ769";//默认 周漂
|
|
|
|
|
+
|
|
|
|
|
+ private static final Map<String,String> ddLegalEntity = new HashMap<>();//企业滴滴公司主体
|
|
|
|
|
+ static{
|
|
|
|
|
+ ddLegalEntity.put("91110105MA04B5ND7J","1125994677035472");//思库共创(北京)营销策划有限公司
|
|
|
|
|
+ ddLegalEntity.put("91330110MA2AYPX2X1","1125994676962964");//杭州光映场景科技有限公司
|
|
|
|
|
+ ddLegalEntity.put("91310120MA1JJJL131","1125994676938831");//上海造酷文化科技有限公司
|
|
|
|
|
+ ddLegalEntity.put("913301060793092966","1125994676742442");//杭州思库营销策划有限公司
|
|
|
|
|
+ ddLegalEntity.put("91330105MA27WGAY7W","1125994677125313");//思门(杭州)品牌营销策划有限公司
|
|
|
|
|
+ ddLegalEntity.put("91330105MA2HYCM71D","1125994676919592");//思库文化传播集团有限公司
|
|
|
|
|
+ ddLegalEntity.put("913301065995586166","1125994677114352");//杭州思库文化创意有限公司
|
|
|
|
|
+ ddLegalEntity.put("91510100MADHQM1A62","1125994677036721");//思库(成都)文化传播有限公司
|
|
|
|
|
+ ddLegalEntity.put("91330105MA2KGRJQ3T","1125994676949976");//光格(杭州)文化传播有限公司
|
|
|
|
|
+ ddLegalEntity.put("91330109MA2B2A0E3N","1125994677041739");//杭州东东腔文化创意有限公司
|
|
|
|
|
+ ddLegalEntity.put("","1125994336723042");//思库(浙江)文化传播有限公司
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public McR saveTradingPartner(Map map) {
|
|
public McR saveTradingPartner(Map map) {
|
|
|
String formInstId = UtilMap.getString(map, "formInstId");
|
|
String formInstId = UtilMap.getString(map, "formInstId");
|
|
@@ -55,7 +87,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
|
|
|
|
|
if ("客户".equals(type)){
|
|
if ("客户".equals(type)){
|
|
|
//客户
|
|
//客户
|
|
|
- partner.put("partnerName", "客户");//所属分类名称
|
|
|
|
|
|
|
+// partner.put("parentName", "客户");//所属分类名称
|
|
|
partner.put("name", UtilMap.getString(formData,"textField_mkddjwy3"));//往来单位中文名
|
|
partner.put("name", UtilMap.getString(formData,"textField_mkddjwy3"));//往来单位中文名
|
|
|
partner.put("partnerType", "客户");//往来关系,可选值为:"供应商"、"客户"、"供应商,客户"(既是供应商又是客户的情况下以中文逗号分隔(供应商在前))
|
|
partner.put("partnerType", "客户");//往来关系,可选值为:"供应商"、"客户"、"供应商,客户"(既是供应商又是客户的情况下以中文逗号分隔(供应商在前))
|
|
|
partner.put("partnerProperty", "公司");//往来性质,可选值为:"公司"、"个体工商户"
|
|
partner.put("partnerProperty", "公司");//往来性质,可选值为:"公司"、"个体工商户"
|
|
@@ -69,7 +101,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
String hzlx = UtilMap.getString(formData, "radioField_mketkvw7");
|
|
String hzlx = UtilMap.getString(formData, "radioField_mketkvw7");
|
|
|
String freeType = UtilMap.getString(formData, "radioField_mmyoc59n");//free类别
|
|
String freeType = UtilMap.getString(formData, "radioField_mmyoc59n");//free类别
|
|
|
|
|
|
|
|
- partner.put("parentBizCode", "GYS");//所属分类业务编码
|
|
|
|
|
|
|
+// partner.put("parentBizCode", "GYS");//所属分类业务编码
|
|
|
partner.put("name", "个人".equals(freeType) ? UtilMap.getString(formData,"textField_mkkixdd6") : UtilMap.getString(formData,"textField_mketkvv0"));//往来单位中文名
|
|
partner.put("name", "个人".equals(freeType) ? UtilMap.getString(formData,"textField_mkkixdd6") : UtilMap.getString(formData,"textField_mketkvv0"));//往来单位中文名
|
|
|
partner.put("partnerType", "供应商");//往来关系,可选值为:"供应商"、"客户"、"供应商,客户"(既是供应商又是客户的情况下以中文逗号分隔(供应商在前))
|
|
partner.put("partnerType", "供应商");//往来关系,可选值为:"供应商"、"客户"、"供应商,客户"(既是供应商又是客户的情况下以中文逗号分隔(供应商在前))
|
|
|
partner.put("partnerProperty", "个人".equals(freeType) ? "个体工商户" : "公司");//往来性质,可选值为:"公司"、"个体工商户"
|
|
partner.put("partnerProperty", "个人".equals(freeType) ? "个体工商户" : "公司");//往来性质,可选值为:"公司"、"个体工商户"
|
|
@@ -149,26 +181,23 @@ public class SikuServiceImpl implements SikuService {
|
|
|
application.put("clientBizCode",UtilMap.getString(formData,"textField_mkxpe3fj"));//收票方bizCode(客户的业务编码(云票系统内维护的))与收票方开票信息字段二选一必填
|
|
application.put("clientBizCode",UtilMap.getString(formData,"textField_mkxpe3fj"));//收票方bizCode(客户的业务编码(云票系统内维护的))与收票方开票信息字段二选一必填
|
|
|
application.put("clientLegalEntityBizCode",UtilMap.getString(formData,"textField_mkddjwys"));//收票方抬头code,如果不传默认第一个(云票系统内维护的)
|
|
application.put("clientLegalEntityBizCode",UtilMap.getString(formData,"textField_mkddjwys"));//收票方抬头code,如果不传默认第一个(云票系统内维护的)
|
|
|
|
|
|
|
|
-
|
|
|
|
|
String jobNumber = UtilMap.getString(formData, "textField_mo0x02kw");//申请人工号
|
|
String jobNumber = UtilMap.getString(formData, "textField_mo0x02kw");//申请人工号
|
|
|
|
|
|
|
|
List<Map> allEmployee = MkYpUtil.getAllEmployee();
|
|
List<Map> allEmployee = MkYpUtil.getAllEmployee();
|
|
|
- boolean flag = false;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ String employeeId = mkyp_empId;
|
|
|
|
|
+
|
|
|
for (Map employee : allEmployee) {
|
|
for (Map employee : allEmployee) {
|
|
|
- String employeeId = UtilMap.getString(employee, "employeeId");
|
|
|
|
|
- if (jobNumber.equals(employeeId)){
|
|
|
|
|
- application.put("submitterBizCode",employeeId);//提交人工号,单据状态为审批中时必填
|
|
|
|
|
- application.put("applicantBizCode",employeeId);//开票申请人工号
|
|
|
|
|
|
|
+ String employeeId2 = UtilMap.getString(employee, "employeeId");
|
|
|
|
|
+ if (jobNumber.equals(employeeId2)){
|
|
|
|
|
+ employeeId = employeeId2;
|
|
|
|
|
|
|
|
- flag = true;
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if (!flag){
|
|
|
|
|
- application.put("submitterBizCode","18857526310");//提交人工号,单据状态为审批中时必填 周漂
|
|
|
|
|
- application.put("applicantBizCode","18857526310");//开票申请人工号 周漂
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
+ application.put("submitterBizCode",employeeId);//提交人工号,单据状态为审批中时必填
|
|
|
|
|
+ application.put("applicantBizCode",employeeId);//开票申请人工号
|
|
|
|
|
|
|
|
/*Map clientLegalEntityOaDto = new HashMap();//收票方开票信息(不在云票系统内维护的)与收票方bizCode(客户的业务编码)二选一必填且优先级高于收票方bizCode(客户的业务编码)(也就是当两字段都有值时,忽略客户的业务编码)
|
|
/*Map clientLegalEntityOaDto = new HashMap();//收票方开票信息(不在云票系统内维护的)与收票方bizCode(客户的业务编码)二选一必填且优先级高于收票方bizCode(客户的业务编码)(也就是当两字段都有值时,忽略客户的业务编码)
|
|
|
clientLegalEntityOaDto.put("invoiceTitle",UtilMap.getString(formData,"selectField_mkxmix7e"));//名称
|
|
clientLegalEntityOaDto.put("invoiceTitle",UtilMap.getString(formData,"selectField_mkxmix7e"));//名称
|
|
@@ -220,6 +249,28 @@ public class SikuServiceImpl implements SikuService {
|
|
|
|
|
|
|
|
application.put("items",Arrays.asList(item));
|
|
application.put("items",Arrays.asList(item));
|
|
|
|
|
|
|
|
|
|
+ //若为红冲发票,先作废原蓝字发票应收单
|
|
|
|
|
+ if ("红冲".equals(fplx)){
|
|
|
|
|
+ //原蓝字发票应收单查询
|
|
|
|
|
+ String lzlsh = UtilMap.getString(formData, "textField_mknspz7c");//原蓝字发票流水号
|
|
|
|
|
+ Map body1 = new HashMap();
|
|
|
|
|
+ body1.put("applicationInvoiceBizCodeList",Arrays.asList(lzlsh));
|
|
|
|
|
+ body1.put("pageSize",1);
|
|
|
|
|
+ body1.put("pageNum",1);
|
|
|
|
|
+ List<Map> receivableList = MkYpUtil.searchReceivable(body1);
|
|
|
|
|
+ if (!receivableList.isEmpty()){
|
|
|
|
|
+ Map receivable = receivableList.get(0);
|
|
|
|
|
+
|
|
|
|
|
+ String bizCode = UtilMap.getString(receivable, "bizCode");
|
|
|
|
|
+
|
|
|
|
|
+ //作废原蓝字发票应收单
|
|
|
|
|
+ Map body2 = new HashMap();
|
|
|
|
|
+ body2.put("employeeId",employeeId);
|
|
|
|
|
+ body2.put("bizCodeList",Arrays.asList(bizCode));
|
|
|
|
|
+ MkYpUtil.receivableObsolete(body2);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
Map result = MkYpUtil.application(Arrays.asList(application));
|
|
Map result = MkYpUtil.application(Arrays.asList(application));
|
|
|
|
|
|
|
|
if (!isTrue(result)){
|
|
if (!isTrue(result)){
|
|
@@ -283,8 +334,8 @@ public class SikuServiceImpl implements SikuService {
|
|
|
String serviceType = UtilMap.getString(calloutParams, "serviceType");
|
|
String serviceType = UtilMap.getString(calloutParams, "serviceType");
|
|
|
Map bizData = UtilMap.getMap(calloutParams, "bizData");
|
|
Map bizData = UtilMap.getMap(calloutParams, "bizData");
|
|
|
|
|
|
|
|
- if ("INVOICE_VAT_INVOICED_NOTIFY_AR".equals(serviceType)){
|
|
|
|
|
- //发票开具成功后回调
|
|
|
|
|
|
|
+ if ("INVOICE_VAT_INVOICED_NOTIFY_AR".equals(serviceType)){//开票成功逻辑移到应收单完成回调中
|
|
|
|
|
+ /*//发票开具成功后回调
|
|
|
String bizCode = UtilMap.getString(bizData, "bizCode");//发票号码
|
|
String bizCode = UtilMap.getString(bizData, "bizCode");//发票号码
|
|
|
String invoiceNumber = UtilMap.getString(bizData, "invoiceNumber");//发票号码
|
|
String invoiceNumber = UtilMap.getString(bizData, "invoiceNumber");//发票号码
|
|
|
long issueDate = UtilMap.getLong(bizData, "issueDate");//开票日期
|
|
long issueDate = UtilMap.getLong(bizData, "issueDate");//开票日期
|
|
@@ -330,7 +381,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
ydClient.operateData(YDParam.builder()
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formInstanceId(formInstanceId)
|
|
.formInstanceId(formInstanceId)
|
|
|
.updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
.updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
|
- .build(), YDConf.FORM_OPERATION.update);
|
|
|
|
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);*/
|
|
|
|
|
|
|
|
}else if ("INVOICE_APPLICATION_VAT_FAIL_NOTIFY_AR".equals(serviceType)){
|
|
}else if ("INVOICE_APPLICATION_VAT_FAIL_NOTIFY_AR".equals(serviceType)){
|
|
|
//开票失败后回调
|
|
//开票失败后回调
|
|
@@ -338,7 +389,6 @@ public class SikuServiceImpl implements SikuService {
|
|
|
|
|
|
|
|
String bizCode = UtilMap.getString(bizData, "bizCode");
|
|
String bizCode = UtilMap.getString(bizData, "bizCode");
|
|
|
|
|
|
|
|
-
|
|
|
|
|
Map data = ((List<Map>)ydClient.queryData(YDParam.builder()
|
|
Map data = ((List<Map>)ydClient.queryData(YDParam.builder()
|
|
|
.formInstanceId(bizCode)
|
|
.formInstanceId(bizCode)
|
|
|
.searchCondition(JSONObject.toJSONString(UtilMap.map("serialNumberField_mknspz75",bizCode)))
|
|
.searchCondition(JSONObject.toJSONString(UtilMap.map("serialNumberField_mknspz75",bizCode)))
|
|
@@ -352,7 +402,6 @@ public class SikuServiceImpl implements SikuService {
|
|
|
.updateFormDataJson(JSONObject.toJSONString(UtilMap.map("radioField_mkxripcc, textareaField_mmlzqvn0","开票失败",invoiceErrorMsg)))
|
|
.updateFormDataJson(JSONObject.toJSONString(UtilMap.map("radioField_mkxripcc, textareaField_mmlzqvn0","开票失败",invoiceErrorMsg)))
|
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -372,43 +421,9 @@ public class SikuServiceImpl implements SikuService {
|
|
|
String deptBusinessCode = "";
|
|
String deptBusinessCode = "";
|
|
|
|
|
|
|
|
String ydfqr = UtilMap.getString(formData, "textField_mmwvodde");//宜搭发起人工号
|
|
String ydfqr = UtilMap.getString(formData, "textField_mmwvodde");//宜搭发起人工号
|
|
|
|
|
+ String ztcggh = UtilMap.getString(formData, "textField_mmwvfb97");//中台采购工号
|
|
|
|
|
|
|
|
- if (amt >= 5000){
|
|
|
|
|
- //支付金额>=5000元,每刻发起人为宜搭采购单据发起人;每刻中的【费用承担部门】实际为采购单发起人所在部门,非每刻单据发起人部门
|
|
|
|
|
- Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
- if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
- List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
- deptBusinessCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
-
|
|
|
|
|
- empId = ydfqr;
|
|
|
|
|
- }else {
|
|
|
|
|
- empId = "002";//默认沃洲洋
|
|
|
|
|
- deptBusinessCode = "DI203800035494740082";//默认DI203800035494740082
|
|
|
|
|
- }
|
|
|
|
|
- }else {
|
|
|
|
|
- //支付金额<5000元,每刻发起人为宜搭采购单据中的中台采购;每刻中的【费用承担部门】实际为采购单发起人所在部门,非每刻单据发起人部门
|
|
|
|
|
- Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
- if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
- List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
- deptBusinessCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
- }else {
|
|
|
|
|
- deptBusinessCode = "DI203800035494740082";//默认DI203800035494740082
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- String ztcggh = UtilMap.getString(formData, "textField_mmwvfb97");//中台采购工号
|
|
|
|
|
- Map employeeDetails2 = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ztcggh)));
|
|
|
|
|
-
|
|
|
|
|
- if (Objects.nonNull(employeeDetails2)){
|
|
|
|
|
- empId = ztcggh;
|
|
|
|
|
- }else {
|
|
|
|
|
- empId = "002";//默认沃洲洋
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- String submittedUserEmployeeId = empId;//提单人工号
|
|
|
|
|
String legalEntityBizCode = UtilMap.getString(formData, "textField_mmd6hio7");//公司抬头编码
|
|
String legalEntityBizCode = UtilMap.getString(formData, "textField_mmd6hio7");//公司抬头编码
|
|
|
- String coverUserEmployeeId = empId;//承担人工号
|
|
|
|
|
- String coverDepartmentBizCode = deptBusinessCode;//承担部门编码
|
|
|
|
|
|
|
|
|
|
String xqbh = UtilMap.getString(formData, "serialNumberField_mkkmij3o");//需求编号
|
|
String xqbh = UtilMap.getString(formData, "serialNumberField_mkkmij3o");//需求编号
|
|
|
long ldjssj = UtilMap.getLong(formData, "dateField_mkdf8q8q");//落地结束时间
|
|
long ldjssj = UtilMap.getLong(formData, "dateField_mkdf8q8q");//落地结束时间
|
|
@@ -428,11 +443,27 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Map body = new HashMap();
|
|
Map body = new HashMap();
|
|
|
body.put("formCode",xqbh + "-" + index);//有值时会使用该值作为单据号
|
|
body.put("formCode",xqbh + "-" + index);//有值时会使用该值作为单据号
|
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
|
- body.put("submittedUserEmployeeId",submittedUserEmployeeId);//提单人工号
|
|
|
|
|
|
|
+
|
|
|
|
|
+ String mktdrgh = UtilMap.getString(detail, "textField_mok5mtsh");//每刻提单人工号
|
|
|
|
|
+ body.put("submittedUserEmployeeId",mktdrgh);//提单人工号
|
|
|
|
|
+ body.put("coverUserEmployeeId",mktdrgh);//承担人工号
|
|
|
|
|
+
|
|
|
|
|
+ List<Map> internalTravelPartner = new ArrayList<>();//内部参与人
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ydfqr);}});
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ztcggh);}});
|
|
|
|
|
+ body.put("travelPartnerInfo",new HashMap<String,List<Map>>(){{put("internalTravelPartner",internalTravelPartner);}});//参与人
|
|
|
|
|
+
|
|
|
|
|
+ //查询宜搭发起人部门
|
|
|
|
|
+ Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
+ String coverDepartmentBizCode = mkbx_deptId;
|
|
|
|
|
+ if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
+ List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
+ coverDepartmentBizCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
+ }
|
|
|
|
|
+ body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
|
|
+
|
|
|
body.put("reimburseName",UtilMap.getString(detail,"textareaField_mkkmij5i"));//报销事由
|
|
body.put("reimburseName",UtilMap.getString(detail,"textareaField_mkkmij5i"));//报销事由
|
|
|
body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
|
- body.put("coverUserEmployeeId",coverUserEmployeeId);//承担人工号
|
|
|
|
|
- body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
|
|
body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmbmohrb"));//往来单位编码
|
|
body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmbmohrb"));//往来单位编码
|
|
|
|
|
|
|
|
|
|
|
|
@@ -501,14 +532,29 @@ public class SikuServiceImpl implements SikuService {
|
|
|
index ++;
|
|
index ++;
|
|
|
String uuid = UtilMap.getString(detail, "textField_mmvhqm0s");//子表uuid
|
|
String uuid = UtilMap.getString(detail, "textField_mmvhqm0s");//子表uuid
|
|
|
Map body = new HashMap();
|
|
Map body = new HashMap();
|
|
|
-// body.put("formCode",xqbh + "-" + uuid);//有值时会使用该值作为单据号
|
|
|
|
|
body.put("formCode",xqbh + "-" +index);//有值时会使用该值作为单据号
|
|
body.put("formCode",xqbh + "-" +index);//有值时会使用该值作为单据号
|
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
|
- body.put("submittedUserEmployeeId",submittedUserEmployeeId);//提单人工号
|
|
|
|
|
|
|
+
|
|
|
|
|
+ String mktdrgh = UtilMap.getString(detail, "textField_mok5mtsf");//每刻提单人工号
|
|
|
|
|
+ body.put("submittedUserEmployeeId",mktdrgh);//提单人工号
|
|
|
|
|
+ body.put("coverUserEmployeeId",mktdrgh);//承担人工号
|
|
|
|
|
+
|
|
|
|
|
+ List<Map> internalTravelPartner = new ArrayList<>();//内部参与人
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ydfqr);}});
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ztcggh);}});
|
|
|
|
|
+ body.put("travelPartnerInfo",new HashMap<String,List<Map>>(){{put("internalTravelPartner",internalTravelPartner);}});//参与人
|
|
|
|
|
+
|
|
|
|
|
+ //查询宜搭发起人部门
|
|
|
|
|
+ Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
+ String coverDepartmentBizCode = mkbx_deptId;
|
|
|
|
|
+ if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
+ List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
+ coverDepartmentBizCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
+ }
|
|
|
|
|
+ body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
|
|
+
|
|
|
body.put("reimburseName","FREE-" + UtilMap.getString(detail,"selectField_mkkixdd7"));//报销事由
|
|
body.put("reimburseName","FREE-" + UtilMap.getString(detail,"selectField_mkkixdd7"));//报销事由
|
|
|
body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
|
- body.put("coverUserEmployeeId",coverUserEmployeeId);//承担人工号
|
|
|
|
|
- body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
|
|
body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmekbfa2"));//往来单位编码
|
|
body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmekbfa2"));//往来单位编码
|
|
|
|
|
|
|
|
Map customObject = new HashMap();
|
|
Map customObject = new HashMap();
|
|
@@ -831,6 +877,9 @@ public class SikuServiceImpl implements SikuService {
|
|
|
for (Map expenseValue : expenseValueList) {
|
|
for (Map expenseValue : expenseValueList) {
|
|
|
Map deductionList = UtilMap.getMap(expenseValue, "deductionList");//当前对公费用核销的数据(当前到票核销场景核销了哪些“预付未到票”记录)
|
|
Map deductionList = UtilMap.getMap(expenseValue, "deductionList");//当前对公费用核销的数据(当前到票核销场景核销了哪些“预付未到票”记录)
|
|
|
|
|
|
|
|
|
|
+ Map expenseDeductionTaxAmount = UtilMap.getMap(expenseValue, "expenseDeductionTaxAmount");//费用级抵扣税额(消费币种)
|
|
|
|
|
+ Double sj = UtilMap.getDouble(expenseDeductionTaxAmount, "amount");//每刻实际税金
|
|
|
|
|
+
|
|
|
List<Map> deductionValueList = UtilMap.getList(deductionList, "value");
|
|
List<Map> deductionValueList = UtilMap.getList(deductionList, "value");
|
|
|
|
|
|
|
|
Map deductionValue = deductionValueList.get(0);
|
|
Map deductionValue = deductionValueList.get(0);
|
|
@@ -839,8 +888,8 @@ public class SikuServiceImpl implements SikuService {
|
|
|
String targetFormCode = UtilMap.getString(deductionValue, "targetFormCode");//核销报销单编号
|
|
String targetFormCode = UtilMap.getString(deductionValue, "targetFormCode");//核销报销单编号
|
|
|
|
|
|
|
|
if (targetFormCode.contains("需求") || targetFormCode.contains("采购")){
|
|
if (targetFormCode.contains("需求") || targetFormCode.contains("采购")){
|
|
|
- //更新宜搭核销金额
|
|
|
|
|
- updateYdDeduction(targetFormCode,deductionAmount);
|
|
|
|
|
|
|
+ //更新宜搭核销金额及税金
|
|
|
|
|
+ updateYdDeduction(targetFormCode,deductionAmount,sj);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -866,9 +915,13 @@ public class SikuServiceImpl implements SikuService {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}else {
|
|
}else {
|
|
|
- amt = UtilMap.getDouble(reimburseDetailInfo, "paymentAmount");//应付金额
|
|
|
|
|
|
|
+ Map paymentAmount = UtilMap.getMap(reimburseDetailInfo, "paymentAmount");
|
|
|
|
|
+ amt = UtilMap.getDouble(paymentAmount, "amount");//应付金额
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ long approvedAt = UtilMap.getLong(reimburseDetailInfo, "approvedAt");//审批通过时间
|
|
|
|
|
+
|
|
|
String[] split = formCode.split("-");
|
|
String[] split = formCode.split("-");
|
|
|
|
|
|
|
|
String bh = split[0];//采购需求编号/直接采购单编号
|
|
String bh = split[0];//采购需求编号/直接采购单编号
|
|
@@ -906,6 +959,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
detailMap.put("numberField_mmvqom6l",yfkje + amt);
|
|
detailMap.put("numberField_mmvqom6l",yfkje + amt);
|
|
|
|
|
+ detailMap.put("dateField_mnh6e4zy",approvedAt);
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -927,6 +981,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
detailMap.put("numberField_mmvqs9h6",yfkje + amt);
|
|
detailMap.put("numberField_mmvqs9h6",yfkje + amt);
|
|
|
|
|
+ detailMap.put("dateField_mnh6e4zw",approvedAt);
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -973,6 +1028,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
detailMap.put("numberField_mmvqom6k",yfkje + amt);
|
|
detailMap.put("numberField_mmvqom6k",yfkje + amt);
|
|
|
|
|
+ detailMap.put("dateField_mnh6e4zy",approvedAt);
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -994,6 +1050,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
detailMap.put("numberField_mmvqom6l",yfkje + amt);
|
|
detailMap.put("numberField_mmvqom6l",yfkje + amt);
|
|
|
|
|
+ detailMap.put("dateField_mnh6e4zw",approvedAt);
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -1015,7 +1072,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//更新宜搭采购已核销金额
|
|
//更新宜搭采购已核销金额
|
|
|
- private void updateYdDeduction(String formCode, Double deductionAmount) {
|
|
|
|
|
|
|
+ private void updateYdDeduction(String formCode, Double deductionAmount,Double sj) {
|
|
|
String[] split = formCode.split("-");
|
|
String[] split = formCode.split("-");
|
|
|
String bh = split[0];
|
|
String bh = split[0];
|
|
|
int index = Integer.parseInt(split[1]);
|
|
int index = Integer.parseInt(split[1]);
|
|
@@ -1043,8 +1100,21 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Map detailMap = new HashMap();
|
|
Map detailMap = new HashMap();
|
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxx")){
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxx")){
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
|
|
|
+ Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
|
|
|
+ Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4p");//每刻实际税金
|
|
|
|
|
+ Double ydsj = UtilMap.getDouble(detail, "numberField_mmsvi56x");//税金
|
|
|
|
|
+ Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij5e");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
|
|
|
+ detailMap.put("numberField_mob8gv4p",mksjsj + sj);//每刻实际税金
|
|
|
|
|
+
|
|
|
|
|
+ //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
+ if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
+
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -1056,8 +1126,21 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Map detailMap = new HashMap();
|
|
Map detailMap = new HashMap();
|
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxz")){
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxz")){
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
|
|
|
+ Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
|
|
|
+ Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4q");//每刻实际税金
|
|
|
|
|
+ Double ydsj = UtilMap.getDouble(detail, "numberField_mn3zekbx");//税金
|
|
|
|
|
+ Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij6p");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
|
|
|
+ detailMap.put("numberField_mob8gv4q",mksjsj + sj);//每刻实际税金
|
|
|
|
|
+
|
|
|
|
|
+ //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
+ if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
+
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -1089,8 +1172,21 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Map detailMap = new HashMap();
|
|
Map detailMap = new HashMap();
|
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxx")){
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxx")){
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
|
|
|
+ Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
|
|
|
+ Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4p");//每刻实际税金
|
|
|
|
|
+ Double ydsj = UtilMap.getDouble(detail, "numberField_mmsvi56x");//税金
|
|
|
|
|
+ Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij5e");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
|
|
|
+ detailMap.put("numberField_mob8gv4p",mksjsj + sj);//每刻实际税金
|
|
|
|
|
+
|
|
|
|
|
+ //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
+ if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
+
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -1102,8 +1198,21 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Map detailMap = new HashMap();
|
|
Map detailMap = new HashMap();
|
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxz")){
|
|
if (index == UtilMap.getInt(detail, "numberField_mn36ykxz")){
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
|
|
|
+ Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
|
|
|
+ Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4q");//每刻实际税金
|
|
|
|
|
+ Double ydsj = UtilMap.getDouble(detail, "numberField_mn3zekbx");//税金
|
|
|
|
|
+ Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij6p");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
|
|
|
+ detailMap.put("numberField_mob8gv4q",mksjsj + sj);//每刻实际税金
|
|
|
|
|
+
|
|
|
|
|
+ //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
+ if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
+
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -1135,44 +1244,8 @@ public class SikuServiceImpl implements SikuService {
|
|
|
String deptBusinessCode = "";
|
|
String deptBusinessCode = "";
|
|
|
|
|
|
|
|
String ydfqr = UtilMap.getString(formData, "textField_mmwvodde");//宜搭发起人工号
|
|
String ydfqr = UtilMap.getString(formData, "textField_mmwvodde");//宜搭发起人工号
|
|
|
-
|
|
|
|
|
- if (amt >= 5000){
|
|
|
|
|
- //支付金额>=5000元,每刻发起人为宜搭采购单据发起人;每刻中的【费用承担部门】实际为采购单发起人所在部门,非每刻单据发起人部门
|
|
|
|
|
- Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
- if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
- List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
- deptBusinessCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
-
|
|
|
|
|
- empId = ydfqr;
|
|
|
|
|
- }else {
|
|
|
|
|
- empId = "002";//默认沃洲洋
|
|
|
|
|
- deptBusinessCode = "DI203800035494740082";//默认DI203800035494740082
|
|
|
|
|
- }
|
|
|
|
|
- }else {
|
|
|
|
|
- //支付金额<5000元,每刻发起人为宜搭采购单据中的中台采购;每刻中的【费用承担部门】实际为采购单发起人所在部门,非每刻单据发起人部门
|
|
|
|
|
- Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
- if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
- List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
- deptBusinessCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
- }else {
|
|
|
|
|
- deptBusinessCode = "DI203800035494740082";//默认DI203800035494740082
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- String ztcggh = UtilMap.getString(formData, "textField_mmwvfb97");//中台采购工号
|
|
|
|
|
- Map employeeDetails2 = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ztcggh)));
|
|
|
|
|
-
|
|
|
|
|
- if (Objects.nonNull(employeeDetails2)){
|
|
|
|
|
- empId = ztcggh;
|
|
|
|
|
- }else {
|
|
|
|
|
- empId = "002";//默认沃洲洋
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- String submittedUserEmployeeId = empId;//提单人工号
|
|
|
|
|
|
|
+ String ztcggh = UtilMap.getString(formData, "textField_mmwvfb97");//中台采购工号
|
|
|
String legalEntityBizCode = UtilMap.getString(formData, "textField_mmd6hio7");//公司抬头编码
|
|
String legalEntityBizCode = UtilMap.getString(formData, "textField_mmd6hio7");//公司抬头编码
|
|
|
- String coverUserEmployeeId = empId;//承担人工号
|
|
|
|
|
- String coverDepartmentBizCode = deptBusinessCode;//承担部门编码
|
|
|
|
|
-
|
|
|
|
|
String xqbh = UtilMap.getString(formData, "serialNumberField_mkkmij3o");//需求编号
|
|
String xqbh = UtilMap.getString(formData, "serialNumberField_mkkmij3o");//需求编号
|
|
|
long ldjssj = UtilMap.getLong(formData, "dateField_mkdf8q8q");//落地结束时间
|
|
long ldjssj = UtilMap.getLong(formData, "dateField_mkdf8q8q");//落地结束时间
|
|
|
String isFree = "FREE采购".equals(UtilMap.getString(formData, "radioField_mkf2quln")) ? "是" : "否";//是否free
|
|
String isFree = "FREE采购".equals(UtilMap.getString(formData, "radioField_mkf2quln")) ? "是" : "否";//是否free
|
|
@@ -1187,16 +1260,32 @@ public class SikuServiceImpl implements SikuService {
|
|
|
for (Map detail : detailList) {
|
|
for (Map detail : detailList) {
|
|
|
index++;
|
|
index++;
|
|
|
String uuid = UtilMap.getString(detail, "textField_mmvhqm0q");//子表uuid
|
|
String uuid = UtilMap.getString(detail, "textField_mmvhqm0q");//子表uuid
|
|
|
|
|
+
|
|
|
Map body = new HashMap();
|
|
Map body = new HashMap();
|
|
|
body.put("formCode",xqbh + "-" + index);//有值时会使用该值作为单据号
|
|
body.put("formCode",xqbh + "-" + index);//有值时会使用该值作为单据号
|
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
|
- body.put("submittedUserEmployeeId",submittedUserEmployeeId);//提单人工号
|
|
|
|
|
- body.put("reimburseName",UtilMap.getString(detail,"textareaField_mkkmij5i"));//报销事由
|
|
|
|
|
- body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
|
|
|
- body.put("coverUserEmployeeId",coverUserEmployeeId);//承担人工号
|
|
|
|
|
|
|
+
|
|
|
|
|
+ String mktdrgh = UtilMap.getString(detail, "textField_mok5mtsh");//每刻提单人工号
|
|
|
|
|
+ body.put("submittedUserEmployeeId",mktdrgh);//提单人工号
|
|
|
|
|
+ body.put("coverUserEmployeeId",mktdrgh);//承担人工号
|
|
|
|
|
+
|
|
|
|
|
+ List<Map> internalTravelPartner = new ArrayList<>();//内部参与人
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ydfqr);}});
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ztcggh);}});
|
|
|
|
|
+ body.put("travelPartnerInfo",new HashMap<String,List<Map>>(){{put("internalTravelPartner",internalTravelPartner);}});//参与人
|
|
|
|
|
+
|
|
|
|
|
+ //查询宜搭发起人部门
|
|
|
|
|
+ Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
+ String coverDepartmentBizCode = mkbx_deptId;
|
|
|
|
|
+ if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
+ List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
+ coverDepartmentBizCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
+ }
|
|
|
body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
- body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmbmohrb"));//往来单位编码
|
|
|
|
|
|
|
|
|
|
|
|
+ body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
|
|
|
+ body.put("reimburseName",UtilMap.getString(detail,"textareaField_mkkmij5i"));//报销事由
|
|
|
|
|
+ body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmbmohrb"));//往来单位编码
|
|
|
|
|
|
|
|
Map customObject = new HashMap();
|
|
Map customObject = new HashMap();
|
|
|
customObject.put("CF4",new HashMap<String,Long>(){{put("currentTime",ldjssj);}});//落地结束时间
|
|
customObject.put("CF4",new HashMap<String,Long>(){{put("currentTime",ldjssj);}});//落地结束时间
|
|
@@ -1262,14 +1351,30 @@ public class SikuServiceImpl implements SikuService {
|
|
|
index ++;
|
|
index ++;
|
|
|
String uuid = UtilMap.getString(detail, "textField_mmvhqm0s");//子表uuid
|
|
String uuid = UtilMap.getString(detail, "textField_mmvhqm0s");//子表uuid
|
|
|
Map body = new HashMap();
|
|
Map body = new HashMap();
|
|
|
-// body.put("formCode",xqbh + "-" + uuid);//有值时会使用该值作为单据号
|
|
|
|
|
body.put("formCode",xqbh + "-" +index);//有值时会使用该值作为单据号
|
|
body.put("formCode",xqbh + "-" +index);//有值时会使用该值作为单据号
|
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
body.put("formSubTypeBizCode",formSubTypeBizCode);//表单类型的业务编号
|
|
|
- body.put("submittedUserEmployeeId",submittedUserEmployeeId);//提单人工号
|
|
|
|
|
|
|
+
|
|
|
|
|
+ String mktdrgh = UtilMap.getString(detail, "textField_mok5mtsf");//每刻提单人工号
|
|
|
|
|
+ body.put("submittedUserEmployeeId",mktdrgh);//提单人工号
|
|
|
|
|
+ body.put("coverUserEmployeeId",mktdrgh);//承担人工号
|
|
|
|
|
+
|
|
|
|
|
+ List<Map> internalTravelPartner = new ArrayList<>();//内部参与人
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ydfqr);}});
|
|
|
|
|
+ internalTravelPartner.add(new HashMap<String,String>(){{put("employeeId",ztcggh);}});
|
|
|
|
|
+ body.put("travelPartnerInfo",new HashMap<String,List<Map>>(){{put("internalTravelPartner",internalTravelPartner);}});//参与人
|
|
|
|
|
+
|
|
|
|
|
+ //查询宜搭发起人部门
|
|
|
|
|
+ Map employeeDetails = MkBxUtil.employeeDetails(UtilMap.map("employeeIds", Arrays.asList(ydfqr)));
|
|
|
|
|
+ String coverDepartmentBizCode = mkbx_deptId;
|
|
|
|
|
+ if (Objects.nonNull(employeeDetails)){
|
|
|
|
|
+ List<Map> departments = UtilMap.getList(employeeDetails, "departments");
|
|
|
|
|
+ coverDepartmentBizCode = UtilMap.getString(departments.get(0), "businessCode");
|
|
|
|
|
+ }
|
|
|
|
|
+ body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
body.put("reimburseName","FREE-" + UtilMap.getString(detail,"selectField_mkkixdd7"));//报销事由
|
|
body.put("reimburseName","FREE-" + UtilMap.getString(detail,"selectField_mkkixdd7"));//报销事由
|
|
|
body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
body.put("legalEntityBizCode",legalEntityBizCode);//公司抬头编码
|
|
|
- body.put("coverUserEmployeeId",coverUserEmployeeId);//承担人工号
|
|
|
|
|
- body.put("coverDepartmentBizCode",coverDepartmentBizCode);//承担部门编码
|
|
|
|
|
body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmekbfa2"));//往来单位编码
|
|
body.put("tradingPartnerBizCode",UtilMap.getString(detail,"textField_mmekbfa2"));//往来单位编码
|
|
|
|
|
|
|
|
Map customObject = new HashMap();
|
|
Map customObject = new HashMap();
|
|
@@ -1542,12 +1647,12 @@ public class SikuServiceImpl implements SikuService {
|
|
|
|
|
|
|
|
Double yzf = UtilMap.getDouble(ydFormData, "numberField_mkf2qumf");//已支付
|
|
Double yzf = UtilMap.getDouble(ydFormData, "numberField_mkf2qumf");//已支付
|
|
|
|
|
|
|
|
- ydFormData.put("numberField_mkf2qumf",yzf + amt);//已支付
|
|
|
|
|
- ydFormData.put("numberField_mnibjld0",amt);//最新支付金额
|
|
|
|
|
|
|
+ updateFormData.put("numberField_mkf2qumf",yzf + amt);//已支付
|
|
|
|
|
+ updateFormData.put("numberField_mnibjld0",amt);//最新支付金额
|
|
|
|
|
|
|
|
ydClient.operateData(YDParam.builder()
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formInstanceId(formInstanceId)
|
|
.formInstanceId(formInstanceId)
|
|
|
- .updateFormDataJson(JSONObject.toJSONString(ydFormData))
|
|
|
|
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
|
}else {
|
|
}else {
|
|
|
//直接采购结算单
|
|
//直接采购结算单
|
|
@@ -1624,6 +1729,12 @@ public class SikuServiceImpl implements SikuService {
|
|
|
@Async
|
|
@Async
|
|
|
@Override
|
|
@Override
|
|
|
public void invoiceWriteBack5(Map map) {
|
|
public void invoiceWriteBack5(Map map) {
|
|
|
|
|
+ //防止查询不到单据详情
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(3000);
|
|
|
|
|
+ } catch (InterruptedException e) {
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
String formCode = UtilMap.getString(map, "formCode");
|
|
String formCode = UtilMap.getString(map, "formCode");
|
|
|
|
|
|
|
|
Map repayDetailInfo = MkBxUtil.repayDetailInfo(formCode);
|
|
Map repayDetailInfo = MkBxUtil.repayDetailInfo(formCode);
|
|
@@ -2023,8 +2134,8 @@ public class SikuServiceImpl implements SikuService {
|
|
|
|
|
|
|
|
empId = sqrgh;
|
|
empId = sqrgh;
|
|
|
}else {
|
|
}else {
|
|
|
- empId = "002";//默认沃洲洋
|
|
|
|
|
- deptBusinessCode = "DI203800035494740082";//默认DI203800035494740082
|
|
|
|
|
|
|
+ empId = mkbx_empId;
|
|
|
|
|
+ deptBusinessCode = mkbx_deptId;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if ("直接采购".equals(type)){
|
|
if ("直接采购".equals(type)){
|
|
@@ -2113,6 +2224,147 @@ public class SikuServiceImpl implements SikuService {
|
|
|
return McR.success();
|
|
return McR.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Async
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void invoiceWriteBack9(Map map) {
|
|
|
|
|
+ Map calloutParams = UtilMap.getMap(map, "calloutParams");
|
|
|
|
|
+ String serviceType = UtilMap.getString(calloutParams, "serviceType");
|
|
|
|
|
+ Map bizData = UtilMap.getMap(calloutParams, "bizData");
|
|
|
|
|
+
|
|
|
|
|
+ if ("RECEIVABLE_AR_COMPLETED_NOTIFY_AR".equals(serviceType)){
|
|
|
|
|
+ List<Map> invoiceList = UtilMap.getList(bizData, "invoiceList");
|
|
|
|
|
+
|
|
|
|
|
+ Map invoiceMap = invoiceList.get(0);
|
|
|
|
|
+
|
|
|
|
|
+ String invoiceNumber = UtilMap.getString(invoiceMap, "invoiceNumber");//发票号码
|
|
|
|
|
+ long formDate = UtilMap.getLong(invoiceMap, "formDate");//开票日期
|
|
|
|
|
+
|
|
|
|
|
+ String invoiceApplicationBizCode = ((List<String>)UtilMap.getList(bizData, "invoiceApplicationBizCodes")).get(0);//开票申请单编号
|
|
|
|
|
+
|
|
|
|
|
+ Map updateFormData = new HashMap();
|
|
|
|
|
+ updateFormData.put("radioField_mkxripcc","开票成功");
|
|
|
|
|
+ updateFormData.put("textField_mkxripc6",invoiceNumber);
|
|
|
|
|
+ updateFormData.put("dateField_mnfpbwpd",formDate);
|
|
|
|
|
+ updateFormData.put("textareaField_mmlzqvn0","");
|
|
|
|
|
+
|
|
|
|
|
+ //发票下载信息查询
|
|
|
|
|
+ Map invoiceInfo = MkYpUtil.getInvoiceInfo(invoiceNumber);
|
|
|
|
|
+
|
|
|
|
|
+ if (Objects.nonNull(invoiceInfo)){
|
|
|
|
|
+ String pdfUrl = UtilMap.getString(invoiceInfo, "pdfUrl");//发票下载地址
|
|
|
|
|
+ String downloadPageUrl = UtilMap.getString(invoiceInfo, "downloadPageUrl");//发票下载页面地址
|
|
|
|
|
+
|
|
|
|
|
+ if (Strings.isNotBlank(pdfUrl)){
|
|
|
|
|
+ String fileName = invoiceNumber + ".pdf";
|
|
|
|
|
+ String downloadPath = downloadFilePath + fileName;
|
|
|
|
|
+ downloadFile(pdfUrl,downloadPath);//下载pdf发票
|
|
|
|
|
+
|
|
|
|
|
+ String downloadUri = downloadUrl + "files/" + fileName + "?option=download";
|
|
|
|
|
+ String previewUri = downloadUrl + "files/" + fileName + "?option=preview";
|
|
|
|
|
+
|
|
|
|
|
+ Map attachmentField = new HashMap();
|
|
|
|
|
+ attachmentField.put("downloadUrl",downloadUri);
|
|
|
|
|
+ attachmentField.put("name",fileName);
|
|
|
|
|
+ attachmentField.put("previewUrl",previewUri);
|
|
|
|
|
+ attachmentField.put("url",downloadUri);
|
|
|
|
|
+ attachmentField.put("ext","pdf");
|
|
|
|
|
+ updateFormData.put("attachmentField_mkxripc5",Arrays.asList(attachmentField));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (Strings.isNotBlank(downloadPageUrl)){
|
|
|
|
|
+ updateFormData.put("textField_mm3aixk0",downloadPageUrl);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //回写宜搭
|
|
|
|
|
+ Map data = ((List<Map>)ydClient.queryData(YDParam.builder()
|
|
|
|
|
+ .searchCondition(JSONObject.toJSONString(UtilMap.map("serialNumberField_mknspz75",invoiceApplicationBizCode)))
|
|
|
|
|
+ .formUuid("FORM-A9A47B0365DB437F8F4C8E01B4468220K7GU")
|
|
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list).getData()).get(0);
|
|
|
|
|
+
|
|
|
|
|
+ String formInstanceId = UtilMap.getString(data, "formInstanceId");
|
|
|
|
|
+
|
|
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
|
|
+ .formInstanceId(formInstanceId)
|
|
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public McR ddProject(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();
|
|
|
|
|
+
|
|
|
|
|
+ String projectCode = UtilMap.getString(formData, "serialNumberField_mknemyna");//项目流水号
|
|
|
|
|
+ String projectName = UtilMap.getString(formData, "textField_mkdedkvu");//项目名称
|
|
|
|
|
+ String projectProgress = UtilMap.getString(formData, "selectField_mkdf8q80");//项目进度
|
|
|
|
|
+ String projectManager = UtilMap.getString(formData, "textField_mo8lkotd");//项目负责人工号
|
|
|
|
|
+ List<String> projectMember = UtilMap.getList(formData, "multiSelectField_mo9iilfl");//项目成员工号
|
|
|
|
|
+ String ztcg = UtilMap.getString(formData, "textField_mo9iilfm");//中台采购工号
|
|
|
|
|
+
|
|
|
|
|
+ List<String> leader_employee_id = new ArrayList<>();
|
|
|
|
|
+ leader_employee_id.add(projectManager);//第一个为主负责人,后续为其他负责人
|
|
|
|
|
+ leader_employee_id.addAll(projectMember);
|
|
|
|
|
+ leader_employee_id.add(ztcg);
|
|
|
|
|
+ //leader_employee_id去重
|
|
|
|
|
+ leader_employee_id = leader_employee_id.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ String htqygssh = UtilMap.getString(formData, "textField_mo9nav1d");//合同签约公司税号
|
|
|
|
|
+
|
|
|
|
|
+ if ("add".equals(type)){//新增
|
|
|
|
|
+ String startDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());//项目开始时间
|
|
|
|
|
+ //当前时间+一年半
|
|
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
|
|
+ calendar.setTime(new Date());
|
|
|
|
|
+ calendar.add(Calendar.YEAR, 1);
|
|
|
|
|
+ calendar.add(Calendar.MONTH, 6);
|
|
|
|
|
+ String endDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());//项目结束时间
|
|
|
|
|
+
|
|
|
|
|
+ Map body = new HashMap();
|
|
|
|
|
+ body.put("out_budget_id",projectCode);
|
|
|
|
|
+ body.put("name",projectName);
|
|
|
|
|
+ body.put("type",2);
|
|
|
|
|
+ body.put("budget_cycle",0);
|
|
|
|
|
+ body.put("total_quota",0);
|
|
|
|
|
+ body.put("member_used",2);//0 :全员可见 1:项目成员可见 2:公司主体可见
|
|
|
|
|
+ body.put("legal_entity_id",ddLegalEntity.get(htqygssh));//项目所属公司主体ID
|
|
|
|
|
+ body.put("start_date",startDate);
|
|
|
|
|
+ body.put("expiry_date",endDate);
|
|
|
|
|
+ body.put("leader_employee_id",JSONObject.toJSONString(leader_employee_id));
|
|
|
|
|
+
|
|
|
|
|
+ Map result = QyddUtil.BudgetCenterAdd(body);
|
|
|
|
|
+
|
|
|
|
|
+ return McR.success(result);
|
|
|
|
|
+ }else if ("update".equals(type)){//更新
|
|
|
|
|
+ Map body = new HashMap();
|
|
|
|
|
+ body.put("out_budget_id",projectCode);
|
|
|
|
|
+ body.put("name",projectName);
|
|
|
|
|
+ body.put("type",2);
|
|
|
|
|
+ body.put("member_used",2);//0 :全员可见 1:项目成员可见 2:公司主体可见
|
|
|
|
|
+ body.put("legal_entity_id",ddLegalEntity.get(htqygssh));//项目所属公司主体ID
|
|
|
|
|
+ body.put("leader_employee_id",JSONObject.toJSONString(leader_employee_id));
|
|
|
|
|
+
|
|
|
|
|
+ Map result = QyddUtil.BudgetCenterEdit(body);
|
|
|
|
|
+
|
|
|
|
|
+ return McR.success(result);
|
|
|
|
|
+ }else{//封账
|
|
|
|
|
+ Map body = new HashMap();
|
|
|
|
|
+ body.put("out_budget_id",projectCode);
|
|
|
|
|
+ body.put("name",projectName);
|
|
|
|
|
+ body.put("type",2);
|
|
|
|
|
+ body.put("expiry_date",new SimpleDateFormat("yyyy-MM-dd").format(new Date()));//项目结束时间 封账时间
|
|
|
|
|
+
|
|
|
|
|
+ Map result = QyddUtil.BudgetCenterEdit(body);
|
|
|
|
|
+
|
|
|
|
|
+ return McR.success(result);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private static String getMkStrValue(Map formData, String entityName) {
|
|
private static String getMkStrValue(Map formData, String entityName) {
|
|
|
Map title = UtilMap.getMap(formData, entityName);
|
|
Map title = UtilMap.getMap(formData, entityName);
|
|
|
Map value = UtilMap.getMap(title, "value");
|
|
Map value = UtilMap.getMap(title, "value");
|
|
@@ -2190,6 +2442,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mn4g182f",ythje + amount);
|
|
detailMap.put("numberField_mn4g182f",ythje + amount);
|
|
|
|
|
+ detailMap.put("selectField_mmvhqm0p","部分退款");
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -2203,12 +2456,17 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mn4g182g",ythje + amount);
|
|
detailMap.put("numberField_mn4g182g",ythje + amount);
|
|
|
|
|
+ detailMap.put("selectField_mkkmij6a","部分退款");
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
|
updateFormData.put("tableField_mkkmij61",updateDetailList);
|
|
updateFormData.put("tableField_mkkmij61",updateDetailList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ Double totalAmt = UtilMap.getDouble(ydFormData, "numberField_mn4g5e28");//已退回
|
|
|
|
|
+
|
|
|
|
|
+ updateFormData.put("numberField_mn4g5e28",totalAmt + amount);
|
|
|
|
|
+
|
|
|
ydClient.operateData(YDParam.builder()
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formInstanceId(formInstanceId)
|
|
.formInstanceId(formInstanceId)
|
|
|
.updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
.updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
@@ -2236,6 +2494,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mn4g182f",ythje + amount);
|
|
detailMap.put("numberField_mn4g182f",ythje + amount);
|
|
|
|
|
+ detailMap.put("selectField_mmvhtdy0","部分退款");
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -2249,12 +2508,17 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mn4g182g",ythje + amount);
|
|
detailMap.put("numberField_mn4g182g",ythje + amount);
|
|
|
|
|
+ detailMap.put("selectField_mkkmij6a","部分退款");
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
|
updateFormData.put("tableField_mkkmij61",updateDetailList);
|
|
updateFormData.put("tableField_mkkmij61",updateDetailList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ Double totalAmt = UtilMap.getDouble(ydFormData, "numberField_mn4g5e28");//已退回
|
|
|
|
|
+
|
|
|
|
|
+ updateFormData.put("numberField_mn4g5e28",totalAmt + amount);
|
|
|
|
|
+
|
|
|
ydClient.operateData(YDParam.builder()
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formInstanceId(formInstanceId)
|
|
.formInstanceId(formInstanceId)
|
|
|
.updateFormDataJson(JSONObject.toJSONString(updateFormData))
|
|
.updateFormDataJson(JSONObject.toJSONString(updateFormData))
|