
28 changed files with 399 additions and 44 deletions
@ -0,0 +1,18 @@ |
|||||
|
package com.yxt.anrui.base.api.busvehicleorder; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* 采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ActualAndOrgDeptDto { |
||||
|
//厂家销售通路sid
|
||||
|
private String actualSid; |
||||
|
//厂家销售通路
|
||||
|
private String actualPay; |
||||
|
//采购系统(部门)
|
||||
|
private String orgDeptName; |
||||
|
//采购系统(部门)sid
|
||||
|
private String orgDeptSid; |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
package com.yxt.anrui.fin.api.kingdee.paezcllx; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* 车辆类型 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaezCllx { |
||||
|
/** |
||||
|
* 使用组织:FUseOrgId (必填项) |
||||
|
*/ |
||||
|
@JsonProperty("FUseOrgId") |
||||
|
@NotBlank |
||||
|
public String FUseOrgId; |
||||
|
/** |
||||
|
* 创建组织:FCreateOrgId (必填项) |
||||
|
*/ |
||||
|
@JsonProperty("FCreateOrgId") |
||||
|
@NotBlank |
||||
|
public String FCreateOrgId; |
||||
|
/** |
||||
|
* 类型名称:FName (必填项) |
||||
|
*/ |
||||
|
@JsonProperty("FName") |
||||
|
@NotBlank |
||||
|
public String FName; |
||||
|
/** |
||||
|
* 类型编码:FNumber (必填项) |
||||
|
*/ |
||||
|
@JsonProperty("FNumber") |
||||
|
@NotBlank |
||||
|
public String FNumber; |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.paezcllx; |
||||
|
|
||||
|
import com.alibaba.fastjson.JSON; |
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import com.alibaba.fastjson.parser.Feature; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
|
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 封装转换的类 |
||||
|
*/ |
||||
|
public class PaezCllxCastToKingDeeBillFields { |
||||
|
private static Logger log=LoggerFactory.getLogger(PaezCllxCastToKingDeeBillFields.class); |
||||
|
/** |
||||
|
* 构造金蝶需要的数据结构 并对字段赋值 |
||||
|
* |
||||
|
* @param map_fEntityModel_ |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){ |
||||
|
/** |
||||
|
* 取模板 |
||||
|
*/ |
||||
|
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data.json"); |
||||
|
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data_data.json"); |
||||
|
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data_model.json"); |
||||
|
log.info("readJsonFile:{}",readJsonFile); |
||||
|
log.info("fEntityData_:{}",fEntityData_); |
||||
|
log.info("fEntityModel_:{}",fEntityModel_); |
||||
|
|
||||
|
//模板字符创转json
|
||||
|
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField); |
||||
|
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField); |
||||
|
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); |
||||
|
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField); |
||||
|
|
||||
|
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); |
||||
|
jsonObj.put("data",jsonFEntityData_.toJSONString()); |
||||
|
return jsonObj.toJSONString(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,74 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.paezcllx; |
||||
|
|
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
||||
|
import com.yxt.anrui.fin.api.kingdee.paezcllx.PaezCllx; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Service |
||||
|
public class PaezCllxService extends FinKingDeeService { |
||||
|
/** |
||||
|
* 保存车辆类型信息 list |
||||
|
* @param paezCllx |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean<List<KingDeeResult>> draftPaezCllxList(List<PaezCllx> paezCllx) { |
||||
|
List<KingDeeResult> list=new ArrayList<>(); |
||||
|
ResultBean rb=ResultBean.fireFail(); |
||||
|
for(PaezCllx p:paezCllx) { |
||||
|
ResultBean<List<KingDeeResult>> resultBean = draftPaezCllx(p); |
||||
|
if (resultBean.getSuccess()) { |
||||
|
list.add(resultBean.getData().get(0)); |
||||
|
} |
||||
|
} |
||||
|
return rb.success().setData(list); |
||||
|
} |
||||
|
/** |
||||
|
* 保存车辆类型信息 |
||||
|
* @param paezCllx |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean draftPaezCllx(PaezCllx paezCllx) { |
||||
|
//bdCustomer=BdCustomer.createBdCustomer();
|
||||
|
ResultBean rb=ResultBean.fireFail(); |
||||
|
try { |
||||
|
//业务表的主表数据集合
|
||||
|
Map<String,String> map_fEntityModel_= object2Map(paezCllx); |
||||
|
//准备 物料列表的数据 ForEntryBill
|
||||
|
String kingDeeData = PaezCllxCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); |
||||
|
|
||||
|
ResultBean<String> resultBean = accessKingDeeInterface( |
||||
|
KingDeeBillId.PAEZ_CLLX.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
||||
|
|
||||
|
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.PAEZ_CLLX.getID()); |
||||
|
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.PAEZ_CLLX.getID(), |
||||
|
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); |
||||
|
if(!resultBean1.getSuccess()){ |
||||
|
log.info("车辆类型提交失败!"); |
||||
|
return rb.setMsg("车辆类型提交失败!"); |
||||
|
} |
||||
|
log.info("车辆类型提交成功!"); |
||||
|
|
||||
|
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); |
||||
|
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); |
||||
|
if(!resultBean2.getSuccess()){ |
||||
|
log.info("车辆类型审核失败!"); |
||||
|
return rb.setMsg("车辆类型审核失败!"); |
||||
|
} |
||||
|
log.info("车辆类型审核成功!"); |
||||
|
return resultBean; |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return rb; |
||||
|
} |
||||
|
} |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"formId": "PAEZ_CLLX", |
||||
|
"data": "@KD_data" |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"Creator": "", |
||||
|
"NeedUpDateFields": [], |
||||
|
"NeedReturnFields": [], |
||||
|
"IsDeleteEntry": "True", |
||||
|
"SubSystemId": "", |
||||
|
"IsVerifyBaseDataField": "false", |
||||
|
"IsEntryBatchFill": "True", |
||||
|
"ValidateFlag": "True", |
||||
|
"NumberSearch": "True", |
||||
|
"InterationFlags": "", |
||||
|
"Model":{} |
||||
|
} |
@ -0,0 +1,11 @@ |
|||||
|
{ |
||||
|
"FContactId": 0, |
||||
|
"FNumber": "@KD_FNumber", |
||||
|
"FName": "@KD_FName", |
||||
|
"FUseOrgId": { |
||||
|
"FNumber": "@KD_FUseOrgId" |
||||
|
}, |
||||
|
"FCreateOrgId": { |
||||
|
"FNumber": "@KD_FCreateOrgId" |
||||
|
} |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
一、请求参数说明: |
||||
|
1.formid:业务对象表单Id,字符串类型(必录) |
||||
|
2.data:Json格式数据(详情参考Json格式数据)(必录) |
||||
|
2.1.Creator:创建者内码(非必录) |
||||
|
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) |
||||
|
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) |
||||
|
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) |
||||
|
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) |
||||
|
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) |
||||
|
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) |
||||
|
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) |
||||
|
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) |
||||
|
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) |
||||
|
2.11.Model:表单数据包,Json类型(必录) |
||||
|
|
||||
|
二、Json格式数据: |
||||
|
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FCreateOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\"}} |
||||
|
|
||||
|
三、返回参数: |
||||
|
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}} |
||||
|
|
||||
|
四、代码示例: |
||||
|
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll |
||||
|
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/"); |
||||
|
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052); |
||||
|
var result = JObject.Parse(ret)["LoginResultType"].Value<int>(); |
||||
|
// 登陆成功 |
||||
|
if (result == 1) |
||||
|
{ |
||||
|
client.Draft("PAEZ_CLLX","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FCreateOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\"}}"); |
||||
|
} |
||||
|
|
||||
|
五、字段说明: |
||||
|
创建人:FCreatorId |
||||
|
使用组织:FUseOrgId (必填项) |
||||
|
修改人:FModifierId |
||||
|
修改日期:FModifyDate |
||||
|
创建日期:FCreateDate |
||||
|
创建组织:FCreateOrgId (必填项) |
||||
|
禁用状态:FForbidStatus |
||||
|
数据状态:FDocumentStatus |
||||
|
类型名称:FName (必填项) |
||||
|
描述:FDescription |
||||
|
类型编码:FNumber (必填项) |
@ -0,0 +1 @@ |
|||||
|
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":0,\"FNumber\":\"21\",\"FName\":\"2121\",\"FUseOrgId\":{\"FNumber\":\"101\"},\"FCreateOrgId\":{\"FNumber\":\"101\"}}} |
Binary file not shown.
Loading…
Reference in new issue